Fix typos in doc strings
[emacs.git] / ChangeLog.3
blob436f04b630b59d307226d0d079146af584478b86
1 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
3         * lisp/emacs-lisp/inline.el: Clarify apparent typos
5 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
7         Allow sexp customization type in auth-sources
9         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
10         Update the :version tag.
12         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
14 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
16         * etc/NEWS: Remove temporary markup.
18         * etc/AUTHORS: Update.
20         * ChangeLog.3: Update.
22 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
24         Fix Bug#31022
26         * lisp/cus-start.el (temporary-file-directory): Suppress file name
27         handlers when calling `shell-command-to-string'.  (Bug#31022)
29 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
31         Update "Calendrical Calculations" cites
33         * lisp/calendar/calendar.el: Update citations to the book
34         "Calendrical Calculations" and its predecessors.
36 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
38         Fix term.el rendering following a window resize (Bug#30544)
40         * lisp/term.el (term-reset-size): Reset cached row and column values
41         before changing point.
43 2018-04-02  Philipp Stephani  <phst@google.com>
45         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
47 2018-04-01  Philipp Stephani  <phst@google.com>
49         Quote a few backticks in docstrings.
51         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
52         (macroexp-if): Quote backtick in docstrings.
54 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
56         Minor copyedits of completion-at-point-functions documentation
58         * lisp/minibuffer.el (completion-at-point-functions):
59         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
60         and filling.
62         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
64 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
66         (completion-at-point-functions): Improve doc
68         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
70 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
72         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
74 2018-03-31  Hong Xu  <hong@topbug.net>
76         Mention `key-description' as inverse of `kbd' (Bug#30942)
78         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
79         doc.
81 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
83         Document return value of pcase (Bug#30425)
85         * doc/lispref/control.texi (Pattern matching case statement):
86         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
87         patterns match.
88         (pcase-exhaustive): State that an error is signaled if no patterns
89         match.
91 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
93         * doc/emacs/macos.texi: Tweak grammar and capitalization.
95 2018-03-31  Richard Stallman  <rms@gnu.org>
97         Distinguish free from non-free OSes
99 2018-03-28  Glenn Morris  <rgm@gnu.org>
101         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
103 2018-03-28  Glenn Morris  <rgm@gnu.org>
105         Fix xrefs in pdf Emacs manual
107         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
108         (Fortran Columns):
109         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
110         Fix recent changes that neglected the splitting of the pdf manuals.
112 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
114         * doc/misc/org.texi (Installation): Fix clone commands.
116 2018-03-27  Rasmus  <rasmus@gmx.us>
118         Update Org to v9.1.9
120         Please note this is a bugfix release. See etc/ORG-NEWS for details.
122 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
124         De-obsolete `if-let' and `when-let'
126         For the following release it is planned to make `if-let*' and
127         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
128         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
130         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
131         refer to those of `if-let' and `when-let'.
132         (if-let, when-let): De-obsolete.  Rewrite documentation.
134 2018-03-26  Glenn Morris  <rgm@gnu.org>
136         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
138 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
140         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
142 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
144         Fix crash after frame is freed on macOS (bug#30800)
146         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
147         (bug#30800)
149 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
151         More manual editing
153         * doc/emacs/basic.texi:
154         * doc/emacs/calendar.texi:
155         * doc/emacs/display.texi:
156         * doc/emacs/mini.texi:
157         * doc/emacs/misc.texi:
158         * doc/emacs/picture-xtra.texi:
159         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
160         <next> and <prior>.  Add missing @kindex entries.
162         * doc/emacs/custom.texi (Function Keys): Fix and add missing
163         key symbols.
165 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
167         Minor manual changes changes
169         * doc/emacs/misc.texi (FFAP): Complete commands.
170         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
172 2018-03-24  Glenn Morris  <rgm@gnu.org>
174         * lisp/calculator.el (calculator-paste-decimals): Add version.
176 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
178         More proofreading of the Emacs manual
180         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
181         (Screen Garbled): Mention the command name.
182         (Bug Criteria): Mention that problems in packages should first be
183         reported to the respective maintainers.
184         (Checklist): Fix wording.
185         (Contributing, Copyright Assignment): Minor copyedits.
186         * doc/emacs/misc.texi (Amusements): Remove Landmark.
187         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
188         (Rectangles in Picture): Add a cross-reference to "Registers".
189         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
190         Mention command names in parentheses.
191         (Gnus Summary Buffer): Document "M-r".
192         (Network Security): Document that current NSM works with TLS
193         encryption.  Fix markup.
194         (Document View): Improve wording and fix a typo.
195         (DocView Conversion): Rephrase description of
196         doc-view-cache-directory.
197         (Single Shell): Mention variables that control when shell output
198         appears in the echo area.
199         (Shell Mode): Improve wording.
200         (Shell Prompts): Fix a typo.
201         (Shell Ring, Term Mode): Mention command names.
202         (History References): Add a cross-reference to "Rebinding".
203         (Remote Host): Mention SSH.
204         (TCP Emacs server): Improve wording.
205         (emacsclient Options): Minor improvements.
206         (PostScript): Fix wording.
207         (PostScript Variables): Mention that ps-font-size could be a cons.
208         (Sorting): Minor improvements.  Suggested by Michael Albinus
209         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
211 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
213         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
215         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
217 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
219         Explain more about (defvar foo) form (Bug#18059)
221         * doc/lispref/variables.texi (Defining Variables)
222         (Using Lexical Binding):
223         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
224         VALUE for `defvar' marks the variable special only locally.
225         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
226         using `defvar' without VALUE.
228 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
230         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
232         * doc/lispref/anti.texi (Antinews): Fix grammar.
234 2018-03-22  Glenn Morris  <rgm@gnu.org>
236         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
238         Avoids type mismatch when relevant library is not present/loaded.
240 2018-03-22  Glenn Morris  <rgm@gnu.org>
242         sql.el defcustom fixes
244         * lisp/progmodes/sql.el (sql-login-params): Update.
245         Avoids type mismatch with postgres and sqlite login params.
246         (sql-postgres-login-params): Bump version.
248 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
250         Document DEFUN attributes
252         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
253         specification of function attributes in DEFUN.
255 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
257         * etc/NEWS: Add an entry for auth-source-pass.
259 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
261         Fix the MSDOS build
263         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
265 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
267         Improve warning and error messages
269         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
270           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
271           went wrong.
273 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
275         Adjust eieio persistence tests for expected failure
277         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
278          (eieio-test-persist-hash-and-vector,
279           eieio-test-persist-interior-lists): Persistence does not currently
280          handle deeply-nested objects. Expect current failures, and mark for
281          future fixes.
283 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
285         Let eieio-persistent-read read what object-write has written
287         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
288           `object-write' may quote lists inside hash tables and vectors, so
289           unquote those lists here.
291         This patch allows the eieio-persistent write/restore process to
292         perform a clean round trip. It only handles a very specific and
293         limited range of object structures, but at least the write and read
294         procedures match.
296 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
298         Handle possible classtype values in eieio-persistent-read
300         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
301           The function `eieio-persistent-slot-type-is-class-p' could return
302           either a single class, or a list of classes.
304 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
306         Add new tests for eieio persistence
308         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
309           (hash-equal): New comparison test for hash-tables.
310           (persist-test-save-and-compare): Use test for hash-tables.
311           (eieio-test-persist-hash-and-vector,
312           eieio-test-persist-interior-lists): New tests.
314 2018-03-22  Glenn Morris  <rgm@gnu.org>
316         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
318         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
320 2018-03-21  Glenn Morris  <rgm@gnu.org>
322         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
324 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
326         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
328 2018-03-21  Alan Mackenzie  <acm@muc.de>
330         Firm up documentation of generalized variables
332         * doc/lispref/variables.texi (Generalized Variables)
333         (Setting Generalized Variables): Define a generalized variable as something
334         setf can write to.  Remove the insinuation that hackers have poor memories.
335         State explicitly that the list of GVs given is complete.  Remove the
336         suggestion that `setf' has superseded, or is in the process of superseding,
337         `setq'.  Make minor corrections to the English.
339 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
341         Improve documentation of Auto-Revert mode
343         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
344         applies to Dired buffers as well.  Suggested by Michael Albinus
345         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
347 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
349         Improvements in dired.texi
351         * doc/emacs/dired.texi (Dired): Mention that Dired works with
352         remote directories.
353         (Dired Enter): ls-lisp is used on some remote systems as well.
354         (Dired Navigation): Mention and index the command names.
355         (Dired Deletion): Document the 'always' value of
356         dired-recursive-deletes.  Mention the alternative deletion method.
357         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
358         marking does on a subdirectory header line.
359         (Operating on Files): Document that 'Z' uses gzip or compress.
360         (Comparison in Dired): Mention ediff-files.
361         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
362         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
364 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
366         Revert "Support all perl variable declarators and prefixes"
368         It highlights normal variable names in perl programs (Bug#30812).
369         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
370         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
372         Don't merge to master, we will fix Bug#27613 properly there (it's too
373         close to release to do that on emacs-26).
375 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
377         Port to 32-bit sparc64
379         Backport from master.
380         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
381         and Andreas Schwab (Bug#30855).
382         * src/alloc.c (mark_memory): Call mark_maybe_object only on
383         pointers that are properly aligned for Lisp_Object.
385 2018-03-20  Robert Pluim  <rpluim@gmail.com>
387         Correct Info link markup
389         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
390         Correct markup for Info link.
391         * src/minibuf.c (Fcompleting_read): Likewise.
393 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
395         Improve documentation of 'with-help-window'
397         * doc/lispref/help.texi (Help Functions): Change variable name
398         to 'buffer-or-name'.
400         * lisp/help.el (with-help-window): Change variable name to
401         'buffer-or-name' and rewrite the doc string, adding reference
402         to 'help-window-setup'.  (Bug#30792)
404 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
406         Minor improvements in building.texi
408         * doc/emacs/building.texi (Compilation Shell): Mention that this
409         section is for local compilation buffers.
410         (Compilation, Compilation Mode): Mention that 'g' is bound to
411         'recompile' in compilation buffers.
412         (Grep Searching): Add a cross-reference to "Compilation Mode".
413         Suggested by Michael Albinus <michael.albinus@gmx.de> in
414         emacs-manual-bugs@gnu.org.
416 2018-03-20  Alex Branham  <branham@utexas.edu>
418         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
420 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
422         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
424 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
426         Yet more proofreading of the Emacs manual
428         * doc/emacs/building.texi (Compilation, Grep Searching)
429         (Debuggers, GUD Customization, Source Buffers)
430         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
431         Suggested by Michael Albinus <michael.albinus@gmx.de> in
432         emacs-manual-bugs@gnu.org.
434 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
436         * doc/emacs/rmail.texi: Fix broken link.
438 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
440         Fix recently-added POP doc glitch
442         * doc/emacs/rmail.texi (Remote Mailboxes):
443         POP3 → POP, when talking about POP in general.
445 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
447         More proofreading of the Emacs manual
449         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
450         indexing.
451         (Mac / GNUstep Basics, Mac / GNUstep Customization)
452         (Mac / GNUstep Events): Improve indexing.
454         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
455         (Rmail Basics, Rmail Scrolling): Improve cross-references and
456         indexing.
457         (Rmail Motion): Minor improvements.
458         (Rmail Inbox): Remove outdated text about Babyl format.
459         (Rmail Files): Formatting changes.  Comment out
460         set-rmail-inbox-list in the table of commands, as it is commented
461         out in the text that follows.
462         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
463         Minor copyedits.
464         (Rmail Summary Edit): Document
465         rmail-summary-scroll-between-messages.
466         (Rmail Editing): Improve indexing.
467         (Movemail): Fix typos.
468         (Remote Mailboxes): Use "POP3" rather than "POP".
470 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
472         Fix typo in the Emacs manual's VC chapter
474         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
476 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
478         Pass json-readtable-error data as a list (bug#30489)
480         * lisp/json.el (json-readtable-dispatch): Fix error data.
481         * test/lisp/json-tests.el (test-json-read): Check error data is a
482         list.
484 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
486         Improve word motion docs (Bug#30815)
488         * doc/lispref/positions.texi (Word Motion): Fix reference to
489         `char-script-table'.
490         * lisp/simple.el (backward-word):
491         * src/syntax.c (forward-word): Mention `char-script-table' and add
492         link to the 'Word Motion' manual section.
494 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
496         Replace "carriage-return" by "carriage return" in manuals
498         * doc/emacs/msdos.texi:
499         * doc/emacs/mule.texi:
500         * doc/emacs/screen.texi:
501         * doc/lispref/nonascii.texi:
502         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
503         return".  Suggested by Richard Stallman <rms@gnu.org> in
504         emacs-manual-bugs@gnu.org.
506 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
508         Minor copyedits in mule.texi
510         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
511         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
512         emacs-manual-bugs@gnu.org.
514 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
516         Fix problems caused by fontconfig-2.13.0
518         * src/xterm.c (x_term_init): Call fixup_locale after
519         xg_initialize, to countermand the call to setlocale in some
520         versions of fontconfig.  (Bug#30788)
522 2018-03-13  Glenn Morris  <rgm@gnu.org>
524         Fix some allout.el aliases
526         * lisp/allout.el (allout-passphrase-verifier-string)
527         (allout-passphrase-hint-string): Fix alias.
529 2018-03-13  Glenn Morris  <rgm@gnu.org>
531         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
533 2018-03-13  Glenn Morris  <rgm@gnu.org>
535         Doc fixes re obsolete items
537         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
538         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
540 2018-03-13  Glenn Morris  <rgm@gnu.org>
542         Replace an obsolete alias in tpu-mapper
544         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
545         Replace obsolete alias.
547 2018-03-13  Glenn Morris  <rgm@gnu.org>
549         Doc fixes re obsolete items
551         * doc/emacs/maintaining.texi (VC Undo):
552         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
553         * doc/misc/url.texi (Customization):
554         Don't mention url-temporary-directory, it essentially does nothing.
555         * lisp/hilit-chg.el
556         (highlight-changes-global-changes-existing-buffers): Doc fix.
558 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
560         Minor changes in mule.texi
562         * doc/emacs/mule.texi (International, Coding Systems)
563         (Bidirectional Editing): Minor wording changes and typo fixes.
564         Suggested by Michael Albinus <michael.albinus@gmx.de> in
565         emacs-manual-bugs@gnu.org.
567 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
569         Avoid assertion violation under visual-order-cursor-movement
571         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
572         BEGV..ZV range.  Signal Beginning of buffer error when there's a
573         before-string at BEGV.  (Bug#30787)
575 2018-03-13  Glenn Morris  <rgm@gnu.org>
577         Stop mentioning options.el in doc
579         * doc/misc/calc.texi (Customizing Embedded Mode):
580         Remove mentions of the obsolete (since 22.1) options.el.
581         * lisp/progmodes/meta-mode.el: Comment fix.
583 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
585         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
587 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
589         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
591 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
593         Fix last change in Xref documentation
595         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
596         accurate wording for the description of xref-etags-mode.
598 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
600         More changes in the Emacs manual
602         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
603         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
604         emacs-manual-bugs@gnu.org.
606         * doc/emacs/msdos.texi (Windows Keyboard):
607         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
608         * doc/emacs/macos.texi (Mac / GNUstep Basics):
609         * doc/emacs/glossary.texi (Glossary):
610         * doc/emacs/custom.texi (Function Keys, Init Syntax):
611         * doc/emacs/commands.texi (User Input):
612         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
613         * doc/emacs/msdos.texi (Windows Keyboard):
614         * doc/emacs/dired.texi (Dired Updating):
615         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
616         Suggested by Richard Stallman <rms@gnu.org>.
618 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
620         Improve documentation of Xref
622         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
623         xref-etags-mode.
625 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
627         Fix create_process bug breaking eudc-expand-inline
629         Problem reported by Thomas Fitzsimmons (Bug#30762).
630         * src/process.c (create_process) [HAVE_PTYS]:
631         Call setsid even if !PTY_FLAG.
633 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
635         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
637         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
638         => (ATOM) short form is only for non-nil ATOMs.
640 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
642         Improve SVG documentation
644         * doc/lispref/display.texi (ImageMagick Images): Remove an
645         outdated comment that references a fixed bug.
646         (SVG Images): Fix grammar, and call functions functions (there are
647         no commands in lisp/svg.el).
649 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
651         Document the "URL" keyword in library headers
653         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
654         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
655         (Bug#30571)
657 2018-03-09  Glenn Morris  <rgm@gnu.org>
659         * test/lisp/international/mule-tests.el:
660         Avoid local variables confusion.
662 2018-03-09  Bill Wohler  <wohler@newt.com>
664         Add missing findex entries for recently removed kindex entries
666         * doc/misc/mh-e.texi:
668         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
670 2018-03-09  Glenn Morris  <rgm@gnu.org>
672         Replace the obsolete process-kill-without-query in documentation
674         * lisp/comint.el (comint-exec-hook):
675         * lisp/term.el (term-exec-hook):
676         * lisp/eshell/esh-proc.el (eshell-exec-hook):
677         Doc fixes re the obsolete process-kill-without-query.
679 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
681         Minor change in the manual
683         * doc/emacs/display.texi (Useless Whitespace):
684         Don't upcase "TAB" and "SPC" when alluding to characters.
686 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
688         More minor changes in the manual
690         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
691         and "SPC" when alluding to characters.  Suggested by Richard
692         Stallman <rms@gnu.org>.
694         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
695         means for buffers.
696         (Buffers): Define and describe "buffer contents".  Suggested by
697         Richard Stallman <rms@gnu.org>.  (Bug#30685)
699 2018-03-07  Glenn Morris  <rgm@gnu.org>
701         Replace some obsolete aliases in code
703         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
704         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
705         Replace obsolete aliases.
707 2018-03-07  Glenn Morris  <rgm@gnu.org>
709         Replace some obsolete aliases in documentation
711         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
712         * doc/misc/speedbar.texi (Major Display Modes):
713         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
714         Doc fixes re obsolete aliases.
716 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
718         Minor improvements in manuals
720         * doc/lispref/variables.texi (Local Variables): Make more clear
721         that local bindings of 'let' are in effect only within the body.
722         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
723         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
724         for the details.
726         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
727         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
728         Improve indexing.
730 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
732         Minor copyedits in display.texi
734         * doc/emacs/display.texi (Highlight Interactively)
735         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
736         changes of wording and typo corrections.  Suggested by Michael
737         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
739 2018-03-07  Glenn Morris  <rgm@gnu.org>
741         Remove some unused spam.el variables
743         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
744         (spam-bogofilter-path, spam-bsfilter-path)
745         (spam-spamassassin-path, spam-sa-learn-path):
746         Remove variables that are described as obsolete, but are
747         really completely unused, and have been for years.
749 2018-03-07  Glenn Morris  <rgm@gnu.org>
751         Replace some obsolete aliases in code
753         * lisp/emulation/viper.el (viper-set-hooks):
754         * lisp/epa-hook.el (auto-encryption-mode):
755         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
756         * lisp/net/quickurl.el (quickurl--assoc-function): New.
757         (quickurl-assoc-function): Use it.
759 2018-03-07  Glenn Morris  <rgm@gnu.org>
761         Replace some obsolete aliases in documentation
763         * doc/emacs/text.texi (Nroff Mode):
764         * doc/misc/efaq.texi (How to add fonts):
765         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
766         * lisp/progmodes/pascal.el (pascal-outline-mode):
767         Doc fixes re obsolete aliases.
769 2018-03-06  Glenn Morris  <rgm@gnu.org>
771         Obsolete eshell-cmpl-suffix-list
773         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
774         Make obsolete, to match pcomplete-suffix-list.
776 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
778         More minor changes in the Glossary of the Emacs manual
780         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
781         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
782         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
784 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
786         Revert last commit
788         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
789         too late for this to be in the release.
791 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
793         Define if-let* and derivatives as aliases for if-let etc
795         This commit reverts declaring `if-let' and `when-let' obsolete in
796         favor of the new `if-let*' and `when-let*' versions because of the
797         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
798         for foo-let.  The old single-tuple variable spec case is still
799         supported for backward compatibility.
800         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
801         obsolete.  Tweak edebug specs.
802         (and-let): Renamed from `and-let*' for compatibility with the names
803         `if-let' and `when-let'.
804         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
805         `when-let' and `and-let'.
806         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
807         (when-let-single-tuple-case-test): New tests for the single-binding
808         tuple case.
809         In the whole file, prefer the names without "*".
811 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
813         Minor fix in Emacs manual's Glossary
815         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
816         primary selection.  Reported by Gijs Hillenius
817         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
819 2018-03-03  Juri Linkov  <juri@linkov.net>
821         * lisp/progmodes/grep.el (zrgrep):
823         Let-bind grep-use-null-filename-separator to nil (bug#30559).
825 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
827         Minor copyedits in doc/emacs/text.texi
829         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
830         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
832 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
834         Remove outdated comment in syntax.el
836         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
837         outdated comment.  (Bug#30617)
839 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
841         Prevent Flyspell from changing unrelated words
843         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
844         using stale cached data from previous invocations of this command.
845         (Bug#30462)
847 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
849         Avoid errors in flymake in builds --without-x
851         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
853 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
855         More improvements of the Emacs manual
857         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
858         wording.  Suggested by Daniel Chakraborty
859         <danielmchakraborty@gmail.com>.
861         * doc/emacs/glossary.texi (Glossary): Add cross-references.
862         Improve and clarify wording.  Suggested by Gijs Hillenius
863         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
865         * doc/emacs/text.texi (Org Authoring): Add more supported formats
866         to the list.
867         (TeX Print): Improve wording.  Slightly rearrange stuff.
868         (TeX Misc): Mention doctex-mode-hook.
869         (Two-Column): Minor rearrangement of text.  Suggested by Michael
870         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
872         * doc/emacs/misc.texi (Saving Emacs Sessions):
873         * doc/emacs/programs.texi (Program Modes): Remove redundant text
874         and index entries.
876 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
878         Backport: xref--next-error-function: Move xref's window point
880         * lisp/progmodes/xref.el (xref--next-error-function): Move
881         xref's window point if it's visible.  When we don't do that,
882         navigation can start looping after a while.
884         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
886 2018-03-02  Glenn Morris  <rgm@gnu.org>
888         mwheel minor consistency fix
890         * lisp/mwheel.el (mwheel-scroll-left-function)
891         (mwheel-scroll-right-function):
892         Change from defcustom to defvar, for consistency with pre-existing.
894 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
896         * src/window.c (Frecenter): Improve commentary.
898 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
900         Fix downloading non-text files in EWW
902         * lisp/net/eww.el (eww-download-callback): Bind
903         coding-system-for-read to 'no-conversion', to avoid any code- or
904         EOL-conversions in downloaded files.  (Bug#30664)
906 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
908         Rename some mwheel options, for consistency
910         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
911         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
912         mwheel-flip-direction.
913         (mwheel-scroll): Update for option renaming.
914         * doc/emacs/frames.texi (Mouse Commands):
915         Update for option renaming.
917 2018-03-01  Glenn Morris  <rgm@gnu.org>
919         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
921 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
923         Improve the Emacs manual
925         * doc/emacs/xresources.texi (Table of Resources): Mention that
926         some resources are ignored by toolkit builds.
927         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
928         (Bug#30530)
930 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
932         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
934 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
936         Further improvements on manuals
938         * doc/emacs/xresources.texi:
939         * doc/lispref/display.texi:
940         * doc/lispref/keymaps.texi:
941         * doc/misc/dbus.texi:
942         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
944         * doc/emacs/xresources.texi (Resources): Mention several use
945         of "-xrm".
946         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
948 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
950         Require a larger stack size for threads on macOS (bug#30364)
952         * src/systhread.c (sys_thread_create)
953         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
954         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
955         Do not merge to master.
957 2018-02-28  Glenn Morris  <rgm@gnu.org>
959         * doc/lispref/streams.texi (Output Variables): Fix previous.
961 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
963         Use "GTK+" where applicable in the manual
965         * doc/emacs/display.texi (Standard Faces, Standard Faces):
966         * doc/emacs/emacs.texi (Top):
967         * doc/emacs/files.texi (Visiting):
968         * doc/emacs/frames.texi (Scroll Bars):
969         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
971 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
973         Document print-escape-control-characters
975         * doc/lispref/streams.texi, etc/NEWS: Add doc.
977 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
979         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
981 2018-02-27  Glenn Morris  <rgm@gnu.org>
983         * lisp/emulation/viper.el: Unbreak it.
985         Since 2017-03-19, M-x viper failed with function void cl-member-if.
986         Perhaps it isn't used much.
988 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
990         More fixes in the Emacs manual
992         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
993         Sort the resources.
994         (Lucid Resources): Add cross-references.
995         (GTK Resource Basics): Fix wording.
996         (GTK styles): Add empty lines in a @table.  Suggested by Michael
997         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
999 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
1001         Avoid aborts in 'md5'
1003         * src/fns.c (extract_data_from_object): Don't crash if called with
1004         an invalid object.  (Bug#30627)
1006 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
1008         Mark keys consistently in manuals
1010         * doc/emacs/killing.texi:
1011         * doc/lispintro/emacs-lisp-intro.texi:
1012         * doc/misc/calc.texi:
1013         * doc/misc/cc-mode.texi:
1014         * doc/misc/dired-x.texi:
1015         * doc/misc/ede.texi:
1016         * doc/misc/edt.texi:
1017         * doc/misc/efaq.texi:
1018         * doc/misc/erc.texi:
1019         * doc/misc/eshell.texi:
1020         * doc/misc/gnus-faq.texi:
1021         * doc/misc/gnus-news.texi:
1022         * doc/misc/idlwave.texi:
1023         * doc/misc/ido.texi:
1024         * doc/misc/mairix-el.texi:
1025         * doc/misc/message.texi:
1026         * doc/misc/mh-e.texi:
1027         * doc/misc/newsticker.texi:
1028         * doc/misc/org.texi:
1029         * doc/misc/pcl-cvs.texi:
1030         * doc/misc/ses.texi:
1031         * doc/misc/sieve.texi:
1032         * doc/misc/smtpmail.texi:
1033         * doc/misc/speedbar.texi:
1034         * doc/misc/srecode.texi:
1035         * doc/misc/vhdl-mode.texi:
1036         * doc/misc/vip.texi:
1037         * doc/misc/viper.texi: Mark keys consistently.
1039 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
1041         Remove @key{} markups from @kindex entries in manuals
1043         * doc/emacs/basic.texi:
1044         * doc/emacs/buffers.texi:
1045         * doc/emacs/building.texi:
1046         * doc/emacs/calendar.texi:
1047         * doc/emacs/custom.texi:
1048         * doc/emacs/dired.texi:
1049         * doc/emacs/display.texi:
1050         * doc/emacs/files.texi:
1051         * doc/emacs/frames.texi:
1052         * doc/emacs/help.texi:
1053         * doc/emacs/indent.texi:
1054         * doc/emacs/killing.texi:
1055         * doc/emacs/kmacro.texi:
1056         * doc/emacs/mark.texi:
1057         * doc/emacs/mini.texi:
1058         * doc/emacs/misc.texi:
1059         * doc/emacs/modes.texi:
1060         * doc/emacs/msdos-xtra.texi:
1061         * doc/emacs/msdos.texi:
1062         * doc/emacs/mule.texi:
1063         * doc/emacs/picture-xtra.texi:
1064         * doc/emacs/programs.texi:
1065         * doc/emacs/regs.texi:
1066         * doc/emacs/rmail.texi:
1067         * doc/emacs/screen.texi:
1068         * doc/emacs/search.texi:
1069         * doc/emacs/sending.texi:
1070         * doc/emacs/text.texi:
1071         * doc/emacs/trouble.texi:
1072         * doc/misc/calc.texi:
1073         * doc/misc/cc-mode.texi:
1074         * doc/misc/ediff.texi:
1075         * doc/misc/ert.texi:
1076         * doc/misc/eww.texi:
1077         * doc/misc/forms.texi:
1078         * doc/misc/gnus.texi:
1079         * doc/misc/idlwave.texi:
1080         * doc/misc/info.texi:
1081         * doc/misc/message.texi:
1082         * doc/misc/mh-e.texi:
1083         * doc/misc/newsticker.texi:
1084         * doc/misc/org.texi:
1085         * doc/misc/pcl-cvs.texi:
1086         * doc/misc/rcirc.texi:
1087         * doc/misc/reftex.texi:
1088         * doc/misc/sc.texi:
1089         * doc/misc/sieve.texi:
1090         * doc/misc/vhdl-mode.texi:
1091         * doc/misc/vip.texi:
1092         * doc/misc/viper.texi:
1093         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
1095 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
1097         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
1099 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
1101         Fix @kindex entries in manuals
1103         * doc/emacs/basic.texi:
1104         * doc/emacs/buffers.texi:
1105         * doc/emacs/building.texi:
1106         * doc/emacs/calendar.texi:
1107         * doc/emacs/custom.texi:
1108         * doc/emacs/dired.texi:
1109         * doc/emacs/display.texi:
1110         * doc/emacs/files.texi:
1111         * doc/emacs/frames.texi:
1112         * doc/emacs/help.texi:
1113         * doc/emacs/indent.texi:
1114         * doc/emacs/killing.texi:
1115         * doc/emacs/kmacro.texi:
1116         * doc/emacs/mark.texi:
1117         * doc/emacs/mini.texi:
1118         * doc/emacs/misc.texi:
1119         * doc/emacs/modes.texi:
1120         * doc/emacs/msdos-xtra.texi:
1121         * doc/emacs/msdos.texi:
1122         * doc/emacs/mule.texi:
1123         * doc/emacs/picture-xtra.texi:
1124         * doc/emacs/programs.texi:
1125         * doc/emacs/regs.texi:
1126         * doc/emacs/rmail.texi:
1127         * doc/emacs/screen.texi:
1128         * doc/emacs/search.texi:
1129         * doc/emacs/sending.texi:
1130         * doc/emacs/text.texi:
1131         * doc/emacs/trouble.texi:
1132         * doc/lispref/files.texi:
1133         * doc/misc/calc.texi:
1134         * doc/misc/cc-mode.texi:
1135         * doc/misc/ediff.texi:
1136         * doc/misc/epa.texi:
1137         * doc/misc/ert.texi:
1138         * doc/misc/eww.texi:
1139         * doc/misc/forms.texi:
1140         * doc/misc/gnus.texi:
1141         * doc/misc/info.texi:
1142         * doc/misc/mairix-el.texi:
1143         * doc/misc/message.texi:
1144         * doc/misc/mh-e.texi:
1145         * doc/misc/newsticker.texi:
1146         * doc/misc/org.texi:
1147         * doc/misc/pcl-cvs.texi:
1148         * doc/misc/rcirc.texi:
1149         * doc/misc/sc.texi:
1150         * doc/misc/sieve.texi:
1151         * doc/misc/vhdl-mode.texi:
1152         * doc/misc/vip.texi:
1153         * doc/misc/viper.texi:
1154         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
1156 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1158         Fix @cindex entries in manuals
1160         * doc/emacs/custom.texi:
1161         * doc/emacs/dired.texi:
1162         * doc/emacs/display.texi:
1163         * doc/emacs/files.texi:
1164         * doc/emacs/frames.texi:
1165         * doc/emacs/killing.texi:
1166         * doc/emacs/maintaining.texi:
1167         * doc/emacs/misc.texi:
1168         * doc/emacs/msdos-xtra.texi:
1169         * doc/emacs/msdos.texi:
1170         * doc/emacs/search.texi:
1171         * doc/emacs/text.texi:
1172         * doc/emacs/trouble.texi:
1173         * doc/lispintro/emacs-lisp-intro.texi:
1174         * doc/lispref/strings.texi:
1175         * doc/lispref/text.texi:
1176         * doc/misc/cc-mode.texi:
1177         * doc/misc/efaq.texi:
1178         * doc/misc/eieio.texi:
1179         * doc/misc/emacs-mime.texi:
1180         * doc/misc/gnus.texi:
1181         * doc/misc/htmlfontify.texi:
1182         * doc/misc/idlwave.texi:
1183         * doc/misc/message.texi:
1184         * doc/misc/mh-e.texi:
1185         * doc/misc/sem-user.texi:
1186         * doc/misc/ses.texi:
1187         * doc/misc/tramp.texi:
1188         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
1190 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1192         Fix @cindex entries in org.texi
1194         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
1195         @code{} for keywords.
1197 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1199         Document reserved keys
1201         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
1202         users.  (Bug#30530)
1204 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
1206         * doc/misc/ebrowse.texi: Use @key{} for keys.
1208 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1210         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
1212 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
1214         Improve documentation of X resources
1216         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
1217         resources.  Add cross-references to "GTK Resources".
1219 2018-02-23  Glenn Morris  <rgm@gnu.org>
1221         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
1223         Since multi-tty, this is always set.
1225 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
1227         Minor doc fixes, mostly for timestamp issues
1229 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
1231         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
1233 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
1235         Fix @findex and @vindex entries in manuals
1237         * doc/emacs/building.texi:
1238         * doc/emacs/calendar.texi:
1239         * doc/emacs/cmdargs.texi:
1240         * doc/emacs/mini.texi:
1241         * doc/emacs/misc.texi:
1242         * doc/emacs/trouble.texi:
1243         * doc/emacs/windows.texi:
1244         * doc/lispintro/emacs-lisp-intro.texi:
1245         * doc/lispref/edebug.texi:
1246         * doc/lispref/frames.texi:
1247         * doc/lispref/os.texi:
1248         * doc/lispref/windows.texi:
1249         * doc/misc/cc-mode.texi:
1250         * doc/misc/dired-x.texi:
1251         * doc/misc/ediff.texi:
1252         * doc/misc/mh-e.texi:
1253         * doc/misc/pcl-cvs.texi:
1254         * doc/misc/reftex.texi:
1255         * doc/misc/sc.texi:
1256         * doc/misc/vhdl-mode.texi:
1257         * doc/misc/viper.texi: Fix @findex and @vindex entries.
1259 2018-02-22  Alan Mackenzie  <acm@muc.de>
1261         Document, in the Elisp manual, how to get a character's raw syntax descriptor
1263         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
1264         to get a character's raw syntax descriptor.
1266 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
1268         Improvements in the Emacs manual
1270         * doc/emacs/custom.texi (Customization Groups)
1271         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
1272         markup of keys.
1273         (Changing a Variable, Saving Customizations): Update the
1274         description of buttons in the Custom buffer.
1275         (Face Customization): More accurate description.
1276         (Specific Customization, Examining, Locals): Add blank lines in
1277         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
1278         in emacs-manual-bugs@gnu.org.
1280 2018-02-22  Glenn Morris  <rgm@gnu.org>
1282         Tiny doc/misc markup fixes
1284         * doc/misc/ediff.texi (Patch and Diff Programs):
1285         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
1287 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
1289         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
1291         * src/xdisp.c (note_mouse_highlight): Skip check whether
1292         mouse-face highlighting overlay overlaps other mouse-face
1293         overlays when mouse-face highlighting is hidden (Bug#30519).
1295 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
1297         Fix capitalization of "Mail-Followup-To"
1299         * doc/emacs/sending.texi (Header Editing, Mail Headers):
1300         Standardize on "Mail-Followup-To" as the capitalization.
1302 2018-02-21  Juri Linkov  <juri@linkov.net>
1304         * lisp/progmodes/grep.el (grep-compute-defaults):
1306         Add grep-use-null-filename-separator to grep-host-defaults-alist.
1307         (Bug#30559)
1309 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
1311         Semantic manual fixes
1313         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
1314         remove a reference to "document-vars.el" which, in the Emacs
1315         repository, is part of lisp/cedet/srecode/document.el.
1317 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
1319         More improvements in the Emacs manual
1321         * doc/emacs/help.texi (Misc Help):
1322         * doc/emacs/m-x.texi (M-x):
1323         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
1324         breaking of command sequences between lines.  Reported by Wojciech
1325         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
1327         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
1329 2018-02-21  tino calancha  <tino.calancha@gmail.com>
1331         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
1333 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
1335         Fix documentation of 'x-underline-at-descent-line'
1337         * doc/emacs/display.texi (Display Custom):
1338         * src/nsterm.m (syms_of_nsterm):
1339         * src/xterm.c (syms_of_xterm):
1340         * src/w32term.c (syms_of_w32term): Mention the effect of
1341         'line-spacing' on the underline position.  (Bug#30553)
1343 2018-02-21  Glenn Morris  <rgm@gnu.org>
1345         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
1347 2018-02-20  Robert Pluim  <rpluim@gmail.com>
1349         Correct variable markup in manuals
1351         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
1352         * doc/lispref/text.texi (Filling): Likewise.
1353         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
1354         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
1355         (Encrypting/decrypting gpg files): Likewise.
1356         * doc/misc/tramp.texi (External methods): Likewise.
1357         (Default Method): Likewise.
1358         * doc/misc/viper.texi (Editing in Insert State): Likewise.
1359         (File and Buffer Handling): Likewise.
1360         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
1361         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
1362         status of url-temporary-directory.
1364 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
1366         Improve the "Sending Mail" chapter of Emacs manual
1368         * doc/emacs/sending.texi (Mail Format, Header Editing)
1369         (Mail Aliases): Fix capitalization of mail headers.
1370         (Mail Aliases): Use ~/.mailrc consistently.
1371         (Mail Misc): More accurate description of disposition.  Suggested
1372         by Michael Albinus <michael.albinus@gmx.de> in
1373         emacs-manual-bugs@gnu.org.
1375 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
1377         Fix documentation of 'flyspell-auto-correct-word'
1379         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
1380         doc string on how the function looks for the word to spell-check.
1381         (flyspell-word, flyspell-auto-correct-word): Refer to
1382         'flyspell-get-word' for details about finding the word.
1383         (Bug#30462)
1385 2018-02-19  Robert Pluim  <rpluim@gmail.com>
1387         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
1389 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
1391         More changes in the Emacs manuals
1393         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
1394         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
1395         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
1396         Fix punctuation.  Suggested by Stefan Kamphausen
1397         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
1399         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
1400         commands between lines.  Reported by Wojciech Politarczyk
1401         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
1403         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
1404         rebinding keys from "Init File".  (Bug#30528)
1406 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
1408         More fixes in the Emacs manual
1410         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
1411         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
1412         @item's.
1413         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
1414         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
1415         in emacs-manual-bugs@gnu.org.
1417 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
1419         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
1421 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
1423         Minor edit in tramp.texi
1425         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
1426         Improve @cindex entries.
1428 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1430         More improvements in the Emacs manual
1432         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
1433         (List Identifiers): Insert blank lines between @item's in a
1434         @table.
1435         (Etags Regexps): More accurate description of escape sequences.
1436         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
1437         Suggested by Michael Albinus <michael.albinus@gmx.de> in
1438         emacs-manual-bugs@gnu.org.
1440 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1442         Improve documentation of 'electric-pair-mode'
1444         * lisp/elec-pair.el (electric-pair-mode):
1445         * doc/emacs/programs.texi (Matching): Document the operation of
1446         electric-pair-mode when there's an active region.  (Bug#30502)
1448 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
1450         lisp/vc/: documentation fixes
1452         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
1453         * lisp/vc/add-log.el (change-log-get-method-definition):
1454         Indent documentation.
1456 2018-02-17  Robert Pluim  <rpluim@gmail.com>
1458         Document 'desktop-files-not-to-save'
1460         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
1461         of 'desktop-files-not-to-save'.
1463         * lisp/desktop.el (desktop-files-not-to-save): Explain that
1464         the default value excludes buffers visiting remote files.
1466 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1468         Improve documentation of Profiling features
1470         * doc/lispref/debugging.texi (Profiling): Improve the description
1471         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
1473         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
1474         interactive invocation work.  Doc fix.
1476 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1478         Improve indexing of "performance" in ELisp manual
1480         * doc/lispref/debugging.texi (Profiling):
1481         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
1482         features useful for performance analysis.  (Bug#30490)
1484 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
1486         Minor change in Emacs manual's VC chapter
1488         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
1489         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
1490         emacs-manual-bugs@gnu.org.
1492 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
1494         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
1496         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
1497         signal an error *before* growing the specpdl array.  Therefore, when
1498         handling the signal, specpdl_ptr points past the end of the specpdl
1499         array and any further use of of specpdl before unwinding (e.g., if
1500         edebug binds signal-hook-function) will cause memory corruption.
1501         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
1502         the specpdl_ptr is already past the end of the specpdl array.
1503         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
1504         (eval-exceed-specbind-with-signal-hook): New test & helper function.
1506 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
1508         Document comment-fill-column in the manual (Bug#11636)
1510         * doc/emacs/programs.texi (Comment Commands)
1511         (Options for Comments): Mention comment-fill-column.
1513 2018-02-17  Glenn Morris  <rgm@gnu.org>
1515         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
1517 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1519         More fixes for the Emacs manual
1521         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
1522         backends.
1523         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
1524         list of VCS.  Remove the description of vc-state-refresh.
1525         (Version Control Systems): Update the description of CVS.
1526         (VC Change Log): Amend the list of VCS that don't support
1527         vc0print-root-log.
1528         (VCS Changesets, VCS Repositories, Advanced C-x v v)
1529         (VC Change Log): Mention SRC with RCS where appropriate.
1530         (VC Directory Commands): More accurate description of
1531         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
1532         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1534 2018-02-16  Robert Cochran  <robert@cochranmail.com>
1536         Make 'byte-compile-error-on-warn' a safe file variable
1538         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
1539         as a safe local variable for boolean values.
1541 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1543         Fix the doc string of flyspell-auto-correct-word
1545         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
1546         fix.  (Bug#30462)
1548 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1550         Improve the MS-Windows appendix of the Emacs manual
1552         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
1553         shortcuts for starting Emacs.
1554         (Text and Binary): Minor wording changes.
1555         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
1556         (ls in Lisp): Update the list of supported 'ls' switches.
1557         Document 'ls-lisp-use-string-collate' and
1558         'ls-lisp-UCA-like-collation'.
1559         (Windows HOME): Mention warnings displayed at startup when
1560         deprecated locations of HOME and/or deprecated names for init
1561         files are used.
1562         (Windows Keyboard): Mention delete-selection-mode.
1564 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1566         Fix 'vc-git--program-version'
1568         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
1569         work with Git for Windows.
1571 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
1573         Fix typos and wording in the Emacs manual
1575         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
1576         * doc/emacs/maintaining.texi (Tag Syntax):
1577         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
1578         (Lisp Libraries):
1579         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
1580         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
1581         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
1582         emacs-manual-bugs@gnu.org.
1584 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
1586         * doc/emacs/programs.texi (Semantic): Order programming languages.
1588 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
1590         More improvements for the Emacs manual
1592         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
1593         typos.
1594         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
1595         typos.
1596         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
1597         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
1598         emacs-manual-bugs@gnu.org.
1600         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
1601         (ForIndent Commands, Fortran Columns): Add empty lines between
1602         @items in a @table.
1603         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
1604         'column-number-indicator-zero-based'.
1605         (ForIndent Vars): Fix a typo.
1606         (Fortran Comments): Fix punctuation.
1607         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
1608         * doc/emacs/programs.texi (Comments): Fix a typo.
1609         (Comment Commands): More accurate description of the commands.
1610         (Options for Comments): Don't mention "hook".
1611         (Man Page): Prefer "M-x man" if available.
1612         (Hideshow): Fix the command key sequence.
1613         (Semantic): Update supported languages.
1614         (Semantic, Hungry Delete, Other C Commands): Fix markup of
1615         commands.
1616         (Misc for Programs): Fix a typo.
1617         (Electric C, Hungry Delete): More accurate description of
1618         mode-line lighters of CC submodes.
1619         (Asm Mode): Add empty lines between @items in a @table.
1620         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
1621         Reported by Michael Albinus <michael.albinus@gmx.de> in
1622         emacs-manual-bugs@gnu.org.
1624         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
1625         Suggested by Isaac Carter <icarter1391@gmail.com> in
1626         emacs-manual-bugs@gnu.org.
1628 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
1630         Minor wording change in Emacs manual
1632         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
1633         Reported by lyr3 <lyr3@protonmail.com> in
1634         emacs-manual-bugs@gnu.org.
1636 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
1638         Another set of changes for the manual
1640         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
1641         to elisp's description of 'pp'.
1642         (Program Modes): Add a few more programming modes.  Add index
1643         entries.
1644         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
1645         (Manipulating Comments): Fix markup of keyboard commands.
1646         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
1647         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
1648         in emacs-manual-bugs@gnu.org.
1650         * doc/lispref/display.texi (Display Tables): Fix the description
1651         of the 5th extra slot of the display table.  (Bug#13473)
1653         * doc/emacs/regs.texi (Registers): Simplify wording.
1655         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
1656         about perils of encoded keyboard input.
1658 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
1660         Improvements on tramp.texi
1662         * doc/misc/tramp.texi: Use Tramp version in title.  Further
1663         improvements on user option indexing.  Finish command examples
1664         with @key{RET} where appropriate.
1665         (Remote processes): Use 'M-&' for invocation of async shell.
1666         (Frequently Asked Questions): Add example with simplified syntax.
1668 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
1670         Tramp minor doc fixes
1672         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
1673         wording improvement.
1675 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
1677         More changes in the Emacs manual
1679         * doc/emacs/search.texi (Regexp Backslash): Say that
1680         symbol-constituent characters are determined by the syntax table.
1681         (Lax Search): Fix example of case-insensitive search.  Fix a
1682         typo.
1683         (Unconditional Replace): Improve wording.
1684         (Regexp Replace): More consistent wording.  Reported by Michael
1685         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1687         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
1688         Windows versions.  Reported by Isaac Carter
1689         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
1691 2018-02-13  Andreas Schwab  <schwab@suse.de>
1693         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
1695 2018-02-13  Andreas Schwab  <schwab@suse.de>
1697         Don't signal error in vc-deduce-backend
1699         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
1700         vc-responsible-backend signals an error.
1702 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
1704         * doc/misc/tramp.texi: Index more user options.
1706 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
1708         Minor change in the Emacs manual
1710         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
1711         load-path is not a good idea.  Suggested by James Yoo
1712         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
1714 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
1716         NEWS update about 'string-trim'
1718         * etc/NEWS: Mention changes in string-trim family of functions.
1719         (Bug#30442)
1721 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
1723         Clarify TRAMP process-environment interaction (Bug#30419)
1725         * doc/misc/tramp.texi (Remote processes): Index the
1726         tramp-remote-process-environment description.  Clarify the effects of
1727         let-binding process-environment and the motivation for that behavior.
1729 2018-02-12  Juri Linkov  <juri@linkov.net>
1731         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
1733         (grep-mode-line-matches): New defconst.
1734         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
1735         to include the number of matches found.
1736         (grep-process-setup): Set grep-num-matches-found to 0.
1737         (grep-exit-message): New function with body moved from lambda
1738         in grep-process-setup.  Use grep-num-matches-found to return
1739         the number of matches found.
1740         (grep-filter): Increment grep-num-matches-found.
1741         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
1742         (Bug#30397, bug#14017)
1744 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
1746         Avoid aborts in cm.c due to too small TTY frame
1748         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
1749         minimum height large enough to allow for a menu bar, the mode
1750         line, one text line and one echo-area line.  This avoids aborts in
1751         cm.c:cmcheckmagic.  (Bug#30320)
1753 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
1755         Another set of improvements in the Emacs manual
1757         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
1758         * doc/emacs/msdos.texi (Windows Keyboard):
1759         * doc/emacs/mark.texi (Using Region):
1760         * doc/emacs/frames.texi (Menu Mouse Clicks):
1761         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
1762         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
1763         emacs-manual-bugs@gnu.org.
1765         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
1766         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
1767         Various minor wording improvements.  Suggested by Toon Claes
1768         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
1769         More minor changes.  Suggested by Michael Albinus
1770         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1772         * doc/emacs/cmdargs.texi (Title X): Improve wording.
1774         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
1775         passive tense.
1777         * doc/emacs/basic.texi (Moving Point): Move the description of the
1778         bidi-related effects of the arrow keys from here ...
1779         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
1780         Explain the behavior of arrow keys between paragraphs.
1782 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
1784         Fix help in mode-line-mode-menu
1786         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
1787         Fix help string.
1789 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
1791         Improve documentation of desktop restoring
1793         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
1794         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
1795         how to restore desktop in daemon mode.  (Bug#30421)
1797 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
1799         Improve the Emacs manual's chapter "Frames"
1801         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
1802         to where frame visibility is described.
1803         (Word and Line Mouse): Clarify wording.
1804         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
1805         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
1807 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
1809         Fix unbound mm-uu-entry in mm-uu
1811         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
1813 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1815         Improve Emacs user manual in fixit.texi
1817         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
1818         repeated undo.
1819         (Transpose): Describe explicitly what happens at EOL.
1820         (Spelling): Use "spell-checking" consistently.  Clarify wording.
1821         Suggested by Toon Claes <toon@iotcl.com> in
1822         emacs-manual-bugs@gnu.org.
1824 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1826         Another minor change in the manual
1828         * doc/emacs/glossary.texi (Glossary): Add popular Latin
1829         abbreviations, such as "e.g.".
1831 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1833         More minor changes in the Emacs manual
1835         * doc/emacs/xresources.texi (GTK resources):
1836         * doc/emacs/trouble.texi (Contributing):
1837         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
1839         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
1840         based on reports in emacs-manual-bugs@gnu.org about incorrect
1841         hyphenation.
1843 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
1845         Avoid printing garbled error message from image.el
1847         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
1848         apostrophe in the error message, as that message is shown from a
1849         unibyte buffer, and will run afoul of the default style of showing
1850         quote characters.  (Bug#30405)
1852 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1854         Doc string fix in latin-alt.el
1856         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
1857         Robert Pluim <rpluim@gmail.com>.
1859 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1861         Minor improvements in package.texi
1863         * doc/emacs/package.texi (Package Menu): Minor wording change.
1864         (Package Installation): Use HTTPS.  A better @xref to GnuPG
1865         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
1866         emacs-manual-bugs@gnu.org.
1868 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1870         Minor improvement in Emacs user manual
1872         * doc/emacs/files.texi (Directories): Document that
1873         'directory-free-space-program' and 'directory-free-space-args' are
1874         only for local filesystems.  Suggested by Michael Albinus
1875         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
1877 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
1879         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
1881 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1883         Improve documentation of mini-window resizing
1885         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
1886         'message-truncate-lines' for preventing resizing of minibuffer
1887         windows.  (Bug#19045)
1888         (Minibuffer Misc): Remove redundant description of
1889         'max-mini-window-height'.
1890         * doc/lispref/display.texi (Echo Area Customization): Adjust
1891         cross-reference.
1893 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
1895         More changes in the Emacs manual
1897         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
1898         (Fixing Case): Fix punctuation.
1899         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
1900         in emacs-manual-bugs@gnu.org.
1902         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
1903         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
1904         in emacs-manual-bugs@gnu.org.
1906         * doc/emacs/indent.texi (Just Spaces): Yet another minor
1907         rewording.
1909         * doc/emacs/building.texi (Watch Expressions): Improve wording.
1910         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
1911         by Alberto Sartori <alberto.sartori@sissa.it> in
1912         emacs-manual-bugs@gnu.org.
1913         (Grep Searching): Mention the effect of
1914         'compilation-mode-line-errors'.  (Bug#30397)
1916         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
1917         rewording of what <LEFT> and <RIGHT> do.
1919 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
1921         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
1923         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
1924         manual display is unaffected.
1926 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
1928         Mention that shell quoting of % on w32 may fail (Bug#19350)
1930         * doc/lispref/os.texi (Security Considerations): Mention that quoting
1931         of '%' assumes no '^' in variable names.
1932         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
1933         demonstrating what doesn't work.
1935 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
1937         Fix --no-build-details for w32 and macOS
1939         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
1940         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
1941         to `x-open-connection'.
1943 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1945         * doc/lispref/anti.texi (Antinews): Add some more antinews.
1947 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1949         Fix crashes when run with --no-build-details
1951         * src/xrdb.c (get_environ_db):
1952         * src/xterm.c (same_x_server, x_term_init):
1953         Don’t assume Fsystem_name returns a string.
1955 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
1957         More changes for the manual
1959         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
1960         Reported by Michael Albinus <michael.albinus@gmx.de> in
1961         emacs-manual-bugs@gnu.org.
1963         * doc/emacs/custom.texi (Function Keys): Improve wording.
1964         Suggested by clemens.radermacher@posteo.de in
1965         emacs-manual-bugs@gnu.org.
1967         * doc/emacs/misc.texi (History References): Improve punctuation.
1968         (Terminal emulator): Fix a typo.
1969         (Term Mode): Remove redundant repeated text.
1970         (Invoking emacsclient): Improve wording.  Suggested by Alberto
1971         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
1973         * doc/emacs/files.texi (Visiting): Fix last change.
1975 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
1977         Doc fixes for process functions (Bug#30349)
1979         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
1980         the 'stopped' state means for a pipe process.
1981         * src/process.c (Fmake_process, Fmake_pipe_process)
1982         (Fmake_serial_process, Fmake_network_process):
1983         * lisp/subr.el (start-process):
1984         * lisp/net/tls.el (open-tls-stream):
1985         * lisp/net/starttls.el (starttls-open-stream):
1986         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
1987         "specify an output stream" phrase from docstring.
1989 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
1991         Fix shr and CSS 4 color maps
1993         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
1994         Add RebeccaPurple.
1995         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
1996         and aqua-cyan aliases.
1997         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
1998         Bump color count.
2000 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
2002         Yet another round of improvements in the manual
2004         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
2005         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
2007         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
2008         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
2010         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
2011         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
2013         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
2014         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
2015         emacs-manual-bugs@gnu.org.
2017         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
2018         regarding registry keys.
2020         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
2021         Reported by Cena Mayo <cenazoic@gmail.com> in
2022         emacs-manual-bugs@gnu.org.
2024         * doc/emacs/screen.texi (Screen): More accurate wording.
2025         Suggested by Miloš Polakovič <milos@alphamail.org> in
2026         emacs-manual-bugs@gnu.org.
2028         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
2029         Suggested by David Bonnafous <dbonnafo@gmail.com> in
2030         emacs-manual-bugs@gnu.org.
2032         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
2033         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
2034         emacs-manual-bugs@gnu.org.
2036         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
2038         * doc/emacs/display.texi (Highlight Interactively): Fill text.
2039         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
2040         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2042         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
2044         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
2045         (Remote Files, File Names, Visiting, Backup Deletion)
2046         (Customize Save, Interlocking): Improve wording and accuracy of
2047         the text.
2048         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
2049         "his".
2050         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
2051         wording changes.
2052         (Supporting additional buffers): Moved to ...
2053         * doc/lispref/backups.texi (Reverting): ... here.
2054         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
2055         buffers" from master menu.
2056         * doc/emacs/files.texi (Reverting): Mention use of file
2057         notifications.  Suggested by Michael Albinus
2058         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2060         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
2061         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
2062         emacs-manual-bugs@gnu.org.
2064         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
2065         (Action Arguments): Fix a typo.
2066         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
2067         Justin Heyes-Jones <justinhj@gmail.com> in
2068         emacs-manual-bugs@gnu.org.
2070         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
2071         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
2073         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
2074         Minor wording changes.
2076 2018-02-04  Juri Linkov  <juri@linkov.net>
2078         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
2080         when vc-git-print-log-follow is non-nil (bug#19045).
2081         (vc-git-print-log-follow): Doc fix.
2083         * etc/NEWS: Mention 'vc-git-print-log-follow'.
2085 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
2087         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
2089         for hints how to type remote file names effectively.
2091 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
2093         Yet another round of fixing the Emacs manual
2095         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
2096         describing what happens when Emacs is invoked with several file
2097         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
2098         emacs-manual-bugs@gnu.org.
2100         * doc/emacs/xresources.texi (GTK styles):
2101         * doc/emacs/mini.texi (Passwords):
2102         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
2103         "can not".
2105         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
2106         of ns-right-alternate-modifier when its value is 'none'.
2107         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
2108         emacs-manual-bugs@gnu.org.
2110         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
2111         sub-sections of Diary.
2112         * doc/emacs/emacs.texi (Top):
2113         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
2114         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
2115         emacs-manual-bugs@gnu.org.
2117         * doc/emacs/anti.texi (Antinews): Fix grammar.
2119 2018-02-04  Alan Mackenzie  <acm@muc.de>
2121         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
2123 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
2125         Two minor fixes in Antinews
2127         * doc/emacs/anti.texi (Antinews): Two minor fixes.
2129 2018-02-03  Juri Linkov  <juri@linkov.net>
2131         * etc/NEWS: Rename image-dired-thumb-job-limit
2133         to image-dired-queue-active-limit (bug#30279)
2135 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
2137         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
2139 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
2141         Fix deferred display of async shell-command buffers
2143         * lisp/simple.el (shell-command): Display async shell buffer on
2144         process output for every, not just first, command invocation.  Check
2145         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
2147 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2149         Mention remote file name completion in Emacs manual
2151         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
2152         "//" with remote file names.  (Bug#29149)
2154 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2156         Yest another round of manual copyedits
2158         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
2159         changes.  Suggested by myq larson <myqlarson@gmail.com> in
2160         emacs-manual-bugs@gnu.org.
2162         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
2163         relevant Org features.  Suggested by Alex Branham
2164         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
2166         * doc/emacs/dired.texi (Operating on Files)
2167         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
2168         Suggested by Francis Wright <f.j.wright@live.co.uk> in
2169         emacs-manual-bugs@gnu.org.
2171         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
2172         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
2173         emacs-manual-bugs@gnu.org.
2175 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
2177         Update xdisp.c commentary
2179         * src/xdisp.c: Update commentary regarding "asynchronous" entry
2180         into redisplay.  (Bug#30182)
2182 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
2184         Fix Bug#30324
2186         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
2187         Adapt to changed remote file name syntax.  (Bug#30324)
2189 2018-02-03  Glenn Morris  <rgm@gnu.org>
2191         Recognize Org as builtin package (bug#30310)
2193         * lisp/org/org.el: Add Version header so detected as builtin package.
2194         * test/lisp/org/org-tests.el: New file.
2196 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
2198         Another round of manual fixups
2200         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
2201         Reported by David Bonnafous <dbonnafo@gmail.com> in
2202         emacs-manual-bugs@gnu.org.
2204         * doc/emacs/windows.texi (Other Window): Improve wording.
2205         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
2206         emacs-manual-bugs@gnu.org.
2208         * doc/emacs/display.texi (Display Custom): Mention that line
2209         numbers are not displayed in the minibuffer and tooltips.
2211         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
2212         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
2213         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
2214         emacs-manual-bugs@gnu.org.
2216         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
2217         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
2219         * doc/emacs/display.texi (Scrolling): Fix grammar.
2220         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
2221         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
2222         in emacs-manual-bugs@gnu.org.
2224         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
2225         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
2226         Remove redundant commas.  Suggested by oldgaro
2227         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
2229         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
2230         Suggested by clemens.radermacher@posteo.de in
2231         emacs-manual-bugs@gnu.org.
2233         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
2234         wording.  Suggested by drone <yoorobot@gmail.com> in
2235         emacs-manual-bugs@gnu.org.
2237         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
2238         (Dired Deletion): Fix a typo.
2239         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
2240         character.  Fix typos.
2241         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
2242         (Arguments): Some additional information about keys.  Reported by
2243         Francis Wright <f.j.wright@live.co.uk> in
2244         emacs-manual-bugs@gnu.org.
2246 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
2248         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
2251         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
2253 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
2255         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
2257 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
2259         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
2261         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
2263 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
2265         Fix last change of @key markup
2267         * doc/lispref/display.texi (Specified Space):
2268         * doc/emacs/programs.texi (C Modes):
2269         * doc/emacs/killing.texi (Rectangles):
2270         * doc/emacs/emacs.texi (Top):
2271         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
2272         markup for characters and commands, only for keys.
2274 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
2276         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
2278 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
2280         Revert a1bbc49015 (Bug#30243), do not merge
2282         * lisp/files.el:
2283         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
2285 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
2287         Use @key{} where it is missing in the manuals
2289 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
2291         Another round of manual fixes from proofreading
2293         * doc/emacs/search.texi (Incremental Search)
2294         (Nonincremental Search): Mention the menu bar and fix typos.
2295         Reported by David Bonnafous <dbonnafo@gmail.com> in
2296         emacs-manual-bugs@gnu.org.
2297         * doc/emacs/building.texi (Compilation): Improve wording.
2298         Suggested by drone <yoorobot@gmail.com> in
2299         emacs-manual-bugs@gnu.org.
2300         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
2301         Suggested by Robert Pluim <rpluim@gmail.com> in
2302         emacs-manual-bugs@gnu.org.
2303         * doc/emacs/display.texi (Highlight Interactively, Fringes):
2304         Improve wording.  Suggested by Justin Heyes-Jones
2305         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
2306         * doc/emacs/commands.texi (User Input, Commands): Add missing
2307         commas.
2308         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
2309         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
2310         emacs-manual-bugs@gnu.org.
2311         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
2312         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
2313         emacs-manual-bugs@gnu.org.
2314         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
2315         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
2316         emacs-manual-bugs@gnu.org.
2317         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
2318         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
2319         * doc/emacs/maintaining.texi (Introduction to VC)
2320         (Why Version Control?, VCS Merging): Fix typos and section
2321         capitalization.  Suggested by "R. P. Dillon"
2322         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
2323         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
2324         Reported by clemens.radermacher@posteo.de in
2325         emacs-manual-bugs@gnu.org.
2327 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
2329         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
2331 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
2333         Document 'window-at-side-p' in the Elisp manual
2335         * doc/lispref/windows.texi (Windows and Frames): Document
2336         'window-at-side-p'.
2338 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2340         Document external-debugging-output in the Elisp Manual (Bug#24051)
2342         * doc/lispref/streams.texi (Output Streams): List
2343         external-debugging-output.
2344         * src/print.c (Fexternal_debugging_output): Quote `print' in
2345         docstring.
2347 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2349         Fix scroll-margin docstring (Bug#13791)
2351         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
2352         the margin may trigger any sort of auto scrolling, not recentering
2353         specifically.
2355 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2357         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
2359         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
2361 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2363         Update manual description of locate-file (Bug#23650)
2365         * doc/lispref/files.texi (Locating Files): Add example of predicate
2366         when searching for a directory.
2368 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2370         Clarify effect of print-gensym (Bug#27776)
2372         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
2373         and #N= constructs depends on the value of `print-circle'.
2375 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2377         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
2379 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2381         Define cl-type-definition button type as needed (Bug#28899)
2383         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
2384         `cl-extra' before using the `cl-type-definition' button type.
2386 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
2388         Emphasize that GPG passphrase caching is temporary (Bug#29907)
2390         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
2391         temporary.
2392         (GnuPG version compatibility): Fix typo.
2394 2018-01-30  Alan Mackenzie  <acm@muc.de>
2396         Fix @examples in cc-mode.info, where lines were getting glued together.
2398         This happened because of false @c's in macro lines.
2400         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
2401         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
2403 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2405         Minor change in "Mode Line" section of Emacs manual
2407         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
2408         hovering the mouse over the mode line.  Suggested by Eduardo
2409         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
2411 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2413         More fixes in the Emacs manual
2415         * doc/emacs/screen.texi (Mode Line): Fix markup and
2416         cross-references.
2417         (Menu Bar): Correct inaccurate description.
2418         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
2419         * doc/emacs/frames.texi (Scroll Bars):
2420         * doc/emacs/emacs.texi (Top):
2421         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
2422         * doc/emacs/misc.texi (Invoking emacsclient)
2423         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
2424         Michael Albinus <michael.albinus@gmx.de> in
2425         emacs-manual-bugs@gnu.org.
2427 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2429         Minor copyedits in "Distribution" chapter of the Emacs manual
2431         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
2432         Suggested by oldgaro <oldgaro@protonmail.com> in
2433         emacs-manual-bugs@gnu.org.
2435 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2437         Minor copyedits in "Entering" chapter of Emacs manual.
2439         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
2440         to MS-Windows startup procedures.  Clarify wording.  Suggested by
2441         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
2443 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2445         Minor wording change in the Emacs manual
2447         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
2448         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
2450 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2452         Fix a typo in the Emacs manual
2454         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
2455         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
2456         emacs-manual-bugs@gnu.org.
2458 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2460         Improve the "Basic" chapter of the Emacs manual
2462         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
2463         (Position Info): Add a cross-reference to where
2464         display-line-numbers-mode is described.  Reported by Joshua
2465         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
2467 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
2469         Resurrect lost text in lispref
2471         * doc/lispref/files.texi (File Attributes): Resurrect
2472         inadvertently lost text.
2474 2018-01-30  Philipp Stephani  <phst@google.com>
2476         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
2478 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2480         Proofread os.texi and files.texi
2482 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
2484         Minor improvements in the "International" chapter of Emacs manual
2486         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
2487         versions of MS-Windows.
2488         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
2489         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
2490         emacs-manual-bugs@gnu.org.
2492 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
2494         Minor improvement in "Text" chapter of Emacs manual
2496         * doc/emacs/text.texi (Words): Improve wording.  Reported by
2497         Marcin Borkowski <mbork@mbork.pl> in
2498         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
2500 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
2502         Fix some issues in the emacs/lispref manuals
2504         * doc/emacs/basic.texi (Continuation Lines):
2505         * doc/emacs/building.texi (GDB User Interface Layout):
2506         * doc/emacs/dired.texi (Misc Dired Features):
2507         * doc/emacs/maintaining.texi (Identifier Search):
2508         * doc/emacs/mark.texi (Using Region):
2509         * doc/emacs/misc.texi (Document View, DocView Conversion):
2510         * doc/emacs/modes.texi (Major Modes):
2511         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
2512         * doc/emacs/sending.texi (Mail Methods): Replace @code by
2513         @kbd.
2514         * doc/emacs/frames.texi (Text-Only Mouse):
2515         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
2516         @key.
2517         * doc/lispref/compile.texi (Compiler Errors): Write
2518         non-@code{nil} instead of non-nil.
2519         * doc/lispref/debugging.texi (Internals of Debugger):
2520         'backtrace' is not a command.  'debugger-stack-frame-as-list'
2521         is an option.
2522         * doc/lispref/display.texi (Size of Displayed Text):
2523         'window-lines-pixel-dimensions' has a last argument 'left'.
2524         * doc/lispref/display.texi (Attribute Functions):
2525         'set-face-underline' and 'set-face-inverse-video' are
2526         commands.
2527         (Tooltips): 'tooltip-frame-parameters' is an option.
2528         (Bidirectional Display): 'bidi-paragraph-direction' is an
2529         option.
2530         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
2531         is an option.
2532         (Input Focus): Argument FRAME of 'x-focus-frame' is not
2533         optional.
2534         (Child Frames): Both arguments of 'frame-ancestor-p' are
2535         non-optional.  'iconify-child-frame' is an option.
2536         * doc/lispref/os.texi (Killing Emacs):
2537         'kill-emacs-query-functions' is an option.
2538         * doc/lispref/windows.texi (Mouse Window Auto-selection):
2539         'mouse-autoselect-window' is an option.
2541 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
2543         Fix multiple spaces in Emacs manual
2545         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
2546         spaces in printed manual.
2548 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
2550         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
2552 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
2554         Adjudicate comments to "International" chapter of Emacs manual
2556         * doc/emacs/mule.texi (International Chars)
2557         (Language Environments, Input Methods, Defining Fontsets)
2558         (Modifying Fontsets): Minor wording changes and typo fixes.
2559         Reported by Francis Wright <f.j.wright@live.co.uk> in
2560         emacs-manual-bugs@gnu.org.
2562 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
2564         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
2566         That commit did not make the corresponding change to printing, thus
2567         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
2568         symbols.  It's too late in the release cycle to change printing
2569         behavior, therefore revert the reader change.
2571         Don't merge to master, the print function will be updated there (see
2572         "Fix round tripping of read->print for symbols with strange quotes").
2574 2018-01-27  Alan Mackenzie  <acm@muc.de>
2576         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
2578         This fixes bug #30186.  The with-silent-modifications was there to prevent
2579         records of text property manipulations being put into buffer-undo-list.  These
2580         had been causing a significant slowdown in CC Mode with C-_ after a large
2581         C-y.  This CC Mode problem has since been solved by a different workaround.
2583         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
2584         with-silent-modifications around the text property manipulations.
2586 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2588         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
2590 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
2592         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
2594 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2596         Minor changes in the Emacs manual
2598         * doc/emacs/search.texi (Search Customizations): Minor wording
2599         change.
2600         * doc/emacs/files.texi (Customize Save): Add a cross-reference
2601         for batch mode.
2603 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2605         Improve the "Files" chapter of the Emacs manual
2607         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
2608         the notion of shadowing before describing the commands.  Suggested
2609         by Will Korteland <emacs-devel@korte.land> in
2610         emacs-manual-bugs@gnu.org.
2612 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2614         Improve the "Search" chapter of the Emacs manual
2616         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
2617         clarify wording.
2618         (Search Customizations): Fix a typo.  Reported by Will Korteland
2619         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
2621 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2623         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
2625 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2627         Improve documentation of 'edebug-defun'
2629         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
2630         for a failure to instrument due to unknown macros.  (Bug#30243)
2631         (Bug#10577)
2633 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
2635         Mention crashes due to Noto Serif Kannada fonts
2637         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
2638         and the respective workarounds.  (Bug#30193)
2640 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
2642         * doc/lispref/searching.texi: Document regexp repetition limit.
2644         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
2646 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
2648         Load mm-util as needed for url-file and url-data (Bug#30258)
2650         * lisp/url/url-file.el (url-file):
2651         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
2652         `mm-disable-multibyte'.
2653         * test/lisp/url/url-file-resources/file.txt:
2654         * test/lisp/url/url-file-tests.el:
2655         * test/lisp/url/url-misc-tests.el: New tests.
2657 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2659         Another minor copyedit in the manual's "Scroll Bars"
2661         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
2662         left/right buttons may be absent from the toolkit scroll bars.
2663         Reported by Robert Pluim <rpluim@gmail.com> in
2664         emacs-manual-bugs@gnu.org.
2666 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2668         Minor fix in documentation of 'equal'
2670         * doc/lispref/objects.texi (Equality Predicates): Correct the
2671         conditions for equality of unibyte and multibyte strings.
2672         (Bug#30218)
2674 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2676         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
2678 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2680         Minor rewording in Emacs manual's "Help Mode" node
2682         * doc/emacs/help.texi (Help Mode): Minor rewording of description
2683         of 'help-follow-symbol'.  Suggested by Richard Stallman
2684         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
2686 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
2688         Fixes for Emacs manual in frames.texi
2690         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
2691         (Window Dividers): Minor clarifications and spelling/markup
2692         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
2693         emacs-manual-bugs@gnu.org.
2695 2018-01-24  Glenn Morris  <rgm@gnu.org>
2697         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
2699 2018-01-24  Robert Pluim  <rpluim@gmail.com>
2701         Fix a few issues with latest GTK scaling changes
2703         * src/xfns.c (Fx_display_monitor_attributes_list): Call
2704         gdk_screen_get_monitor_scale_factor only for GTK versions
2705         3.10..3.21.
2706         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
2708 2018-01-24  Robert Pluim  <rpluim@gmail.com>
2710         Use scaled coordinates when calling into GTK
2712         This is part two of a two part fix for the GTK scaling
2713         problems.  See the thread starting at
2714         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
2715         for an explanation of why it has been added to Emacs 26.
2717         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
2718         pass to gtk_window_move and to gtk_window_parse_geometry.
2719         * src/xterm.c (x_set_offset): Likewise.
2721 2018-01-24  Robert Pluim  <rpluim@gmail.com>
2723         Scale monitor dimensions obtained from GTK
2725         This is part one of a two part fix for the GTK scaling
2726         problems.  See the thread starting at
2727         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
2728         for an explanation of why it has been added to Emacs 26.
2730         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
2731         into account when using GTK to query the monitor dimensions, which
2732         allows frameset-restore to position frames correctly.
2734 2018-01-22  Rasmus  <rasmus@gmx.us>
2736         Update Org to v9.1.6
2738         Please note this is a bugfix release. See etc/ORG-NEWS for details.
2740 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
2742         Use text-pixels values only when saving framesets (Bug#30141)
2744         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
2745         that text-pixels values are by default only saved by framesets
2746         so the parameter is not set when restoring (Bug#30141).
2748 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2750         Minor improvement in section "Pages" of the usere manual
2752         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
2753         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
2755 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2757         Minor improvements in user manual
2759         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
2760         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
2761         in emacs-manual-bugs@gnu.org
2763 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2765         Improve the "Mark" chapter of the user manual
2767         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
2768         clarify wording.  Suggested by John Cummings <john@rootabega.net>
2769         in emacs-manual-bugs@gnu.org.
2771 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
2773         Improve the "Buffers" chapter of the user manual
2775         * doc/emacs/buffers.texi (Several Buffers): Correct description of
2776         prefix arguments.  Clarify "bury".
2777         (Buffer Menus): Clarify wording.  Reported by John Cummings
2778         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
2780 2018-01-21  tino calancha  <tino.calancha@gmail.com>
2782         * lisp/term.el (term-send-input): Fix text duplication in docstring
2784 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2786         Improve "Buffers" in the user manual
2788         Suggested by John Cummings <john@rootabega.net> in
2789         emacs-manual-bugs@gnu.org:
2790         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
2791         "Windows" and "Frames".
2792         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
2793         that accept buffer names.
2794         (Select Buffer): Improve description of "M-g M-g".  Improve
2795         wording.
2796         (Misc Buffer, Kill Buffer): Improve wording.
2797         (Kill Buffer): Fix the response required by kill-some-buffers.
2798         Mention customizable options that control what clean-buffer-list
2799         does.
2800         (Several Buffers): More detail about
2801         'Buffer-menu-unmark-all-buffers'.
2803 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2805         Don't mention 'vc-stay-local' in the user manual
2807         * doc/emacs/vc1-xtra.texi (CVS Options):
2808         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
2809         references to 'vc-stay-local', which no longer exists.
2810         (Bug#30138)
2812 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2814         Fix a typo in calendar.texi
2816         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
2817         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
2818         in emacs-manual-bugs@gnu.org.
2820 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2822         Minor improvement in wording of the Emacs manual
2824         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
2825         Suggested by Will Korteland <emacs-devel@korte.land> in
2826         emacs-manual-bugs@gnu.org.
2828 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
2830         Revert "Fix tempfile creation when byte compiling"
2832         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
2833         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
2834         Put tempfile next to the target file, as was the original intent.
2836 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2838         Fix tempfile creation when byte compiling
2840         This improves on the recent fix for master failing to build
2841         on FreeBSD.  Suggested by Stefan Monnier in:
2842         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
2843         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
2844         Put tempfile next to the target file, as was the original intent.
2846 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2848         Improve the Emacs manual as suggested in emacs-manual-bugs
2850         * doc/emacs/killing.texi (Deletion and Killing): Add
2851         cross-reference to "Kill Ring".
2852         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
2853         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
2854         emacs-manual-bugs@gnu.org.
2856 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2858         * lisp/emacs-lisp/bytecomp.el: Tweak last change
2860         (byte-compile-file): Move comment closer to the code it describes.
2862 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2864         Unbreak building Emacs on FreeBSD
2866         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
2867         the temporary file under temporary-file-directory if the file
2868         being compiled is specified by an absolute file name.  This avoids
2869         problems with ACL copying from temporary-file-directory on
2870         FreeBSD.  For the details, see
2871         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
2873 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2875         Don't unnecessarily use non-ASCII characters in C sources
2877         * src/xwidget.c (webkit_javascript_finished_cb):
2878         * src/gtkutil.c (xg_check_special_colors):
2879         * src/emacs-module.c (module_make_string):
2880         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
2881         characters.
2883 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
2885         Portability fixes in emacs-module-tests
2887         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
2888         CPPFLAGS.
2889         * test/data/emacs-module/mod-test.c: Include <limits.h>.
2890         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
2891         don't support %td and %zu format specs.
2892         (emacs_module_init): Use compatibility macros to make the error
2893         messages print meaningful values (and avoid compiler warnings).
2895 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
2897         Add tests for term.el
2899         * lisp/term.el (term-mode): Add `name' attribute to
2900         window-adjust-process-window-size-function value, so that it can be
2901         removed easily by tests.
2902         * test/lisp/term-tests.el: New tests.
2904 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
2906         Handle split AnSiT messages for term.el (Bug#17231)
2908         Check to see if there is an incomplete command at the end of
2909         term-emulate-terminal's input string, and, if so, save it so the whole
2910         command can be processed when the next string arrives.
2911         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
2912         (term-mode): Make it buffer local.
2913         (term-handle-ansi-terminal-messages): Prepend it to the received
2914         message, and set it if a partial message was received.
2917         Do not merge to master, it will be solved differently there, see
2918         "Switch term.el to lexical binding, and clean up code a bit".
2920 2018-01-19  Glenn Morris  <rgm@gnu.org>
2922         * configure.ac (emacs_config_features): Add threads.
2924 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
2926         Handle case-insensitive filenames for load-path shadows (Bug#5845)
2928         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
2929         shadowing with case-insensitive matching for files of case-insensitive
2930         directories (as determined by `file-name-case-insensitive-p').
2931         * test/lisp/emacs-lisp/shadow-tests.el: New test.
2932         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
2933         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
2935 2018-01-18  Alan Mackenzie  <acm@muc.de>
2937         CC Mode: stop distinguishing brace blocks from defun blocks by content.
2939         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
2940         essentially a reversion of the patch from 2017-11-10 which attempted to handle
2941         C99's compound literals.
2943         The bug here was triggered when a defun block contained a declaration ending
2944         in a comma, yet without a semicolon.
2946         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
2947         remove from the `or' form the test of a block's contents.
2949 2018-01-17  Philipp Stephani  <phst@google.com>
2951         Use recommended long options syntax in man page
2953         * doc/man/emacs.1.in: Specify equals sign for long options, as
2954         recommended in the manual.
2956 2018-01-17  Glenn Morris  <rgm@gnu.org>
2958         An overdue update of GNUstep emacs.tiff
2960         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
2961         Update to the Emacs 25 icon.
2962         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
2963         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
2965 2018-01-17  Glenn Morris  <rgm@gnu.org>
2967         Add some test skip conditions
2969         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
2970         (vc-bzr-test-bug9781): Skip if bzr is faulty.
2971         * test/src/thread-tests.el: Skip if not compiled with threads.
2973 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
2975         Add documentation to ecomplete.el
2977         * lisp/ecomplete.el: Add doc strings and document the format.
2979 2018-01-17  Glenn Morris  <rgm@gnu.org>
2981         * admin/authors.el (authors-aliases): Tighten more entries.
2983 2018-01-17  Glenn Morris  <rgm@gnu.org>
2985         Small startup fix for current-load-list
2987         * lisp/startup.el (command-line):
2988         Avoid current-load-list being non-nil after startup ends.
2990 2018-01-17  Glenn Morris  <rgm@gnu.org>
2992         authors-aliases is based on regexps, not literals
2994         * admin/authors.el (authors-aliases): Replace overly-broad entries.
2996 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
2998         Remove incorrect documentation in comint.el
3000         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
3001         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
3002         documentation.  (Bug#30079)
3004 2018-01-15  Glenn Morris  <rgm@gnu.org>
3006         An overdue update of src/emacs-icon.h
3008         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
3009         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
3011 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
3013         Minor copyedit in ELisp manual
3015         * doc/lispref/variables.texi (File Local Variables): Improve
3016         wording of last change.
3018 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
3020         Fix Bug#29149 in dired-aux.el
3022         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
3023         commands on w32 properly.  (Bug#29149)
3025 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
3027         Fix Bug#29149 in shell.el
3029         * lisp/shell.el (shell): Change order of `file-local-name' and
3030         `expand-file-name' calls.  Otherwise, the local file name
3031         would be extended by a drive letter, even when it is a remote
3032         file, seen from w32.  (Bug#29149)
3034 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
3036         * doc/lispref/variables.texi (File Local Variables): Fix last change
3038 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
3040         * ChangeLog.3: Update
3042         Update etc/AUTHORS
3044 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
3046         Fix an entry in authors-aliases
3048         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
3049         is too broad, to an email address ("mu@magi.net.ru").
3051 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3053         Mention trace.el facilities in the ELisp manual
3055         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
3056         library.
3058 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3060         Improve documentation of safe values of variables
3062         * doc/lispref/variables.texi (File Local Variables): Mention the
3063         autoload cookie as a means of defining safe values for variables.
3064         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
3065         for the details.
3066         * doc/lispref/compile.texi (Compiler Errors): Document
3067         'byte-compile-error-on-warn'.
3069 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3071         Improve the Emacs manual's "Misc" node
3073         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
3074         (Invoking emacsclient): Mention how to avoid errors when there's
3075         no Emacs server.
3076         (EWW, Embedded WebKit Widgets): Now subsections under
3077         "Hyperlinking and Web Navigation Features".
3078         (Amusements): Add "games" to the section name.  Suggested by Alex
3079         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
3081         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
3082         above changes.
3084         * doc/lispref/os.texi (Security Considerations): Fix typos.
3086 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
3088         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
3090         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
3091         of FRAME_X_P (Bug#30019).
3093 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3095         Bump Emacs version to 26.0.91
3097         * README:
3098         * configure.ac:
3099         * msdos/sed2v2.inp:
3100         * nt/README.W32: Bump Emacs version.
3102 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3104         * ChangeLog.3: Update
3106 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
3108         Update authors
3110         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
3111         * etc/AUTHORS: Update AUTHORS file.
3113 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
3115         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
3116         adding extra citation mark (bug#29767, but it is a different bug).
3118 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
3120         Improve documentation of etags
3122         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
3123         Improve documentation of etags options and of source language
3124         detection.
3126 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
3128         Teach etags new interpreters for some languages
3130         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
3131         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
3132         static variables.
3133         (lang_names): Use them to set interpreters for Erlang, Lua,
3134         Prolog, Python, and Ruby.
3135         (find_entries): Support "/usr/bin/env FOO" form of specifying an
3136         interpreter.
3138         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
3139         line to test the "env FOO" interpreter spec.  (Bug#30075)
3140         * test/manual/etags/ETAGS.good_1:
3141         * test/manual/etags/ETAGS.good_2:
3142         * test/manual/etags/ETAGS.good_3:
3143         * test/manual/etags/ETAGS.good_4:
3144         * test/manual/etags/ETAGS.good_5:
3145         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
3146         files.
3148 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3150         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
3152         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
3154 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
3156         Improve documentation of fill-separate-heterogeneous-words-with-space
3158         * lisp/textmodes/fill.el
3159         (fill-separate-heterogeneous-words-with-space): Fix grammar.
3161 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
3163         Fix documentation of some x-* functions
3165         * lisp/term/pc-win.el (x-display-pixel-width)
3166         (x-display-pixel-height, x-display-planes)
3167         (x-display-color-cells, x-server-max-request-size)
3168         (x-server-vendor, x-server-version, x-display-screens)
3169         (x-display-mm-height, x-display-mm-width)
3170         (x-display-backing-store, x-display-visual-class): Provide doc
3171         strings, so that 'makedoc' produces non-empty documentation in
3172         etc/DOC for these functions.  (Bug#30068)
3174 2018-01-10  Philipp Stephani  <phst@google.com>
3176         Inherit query-on-exit flag to stderr process (Bug#30031)
3178         * src/process.c (Fmake_process): Have the pipe process honor the
3179         parent's query-on-exit flag.
3181         * test/src/process-tests.el (make-process/noquery-stderr): New test.
3183 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
3185         Fix Bug#30057
3187         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
3188         (file-notify--test-cleanup, file-notify--test-make-temp-name)
3189         (file-notify-test01-add-watch, file-notify-test03-events)
3190         (file-notify-test05-file-validity)
3191         (file-notify-test09-watched-file-in-watched-dir)
3192         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
3194 2018-01-10  Glenn Morris  <rgm@gnu.org>
3196         Tag some unstable tests, and skip by default (bug#24503)
3198         * Makefile.in (check-all): New phony target.
3199         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
3200         Also skip unstable tests.
3201         (SELECTOR_ALL): New variable.
3202         (check-all): New phony target.
3203         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
3204         (eieio-test-method-order-list-6):
3205         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
3206         (eieio-test-37-obsolete-name-in-constructor):
3207         Mark as unstable rather than skipping on hydra.nixos.org.
3209 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
3211         Merge from Gnulib
3213         This incorporates:
3214         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
3215         2018-01-04 update-copyright: Handle use of ©
3216         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
3217         2018-01-02 stat-time: silence -Wunused-parameter regression
3218         * build-aux/config.guess, build-aux/config.sub:
3219         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
3220         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
3221         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
3222         * lib/stat-time.h: Copy from Gnulib, or regenerate.
3224 2018-01-09  Glenn Morris  <rgm@gnu.org>
3226         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
3228 2018-01-09  Glenn Morris  <rgm@gnu.org>
3230         Small fix for erc-logging-enabled
3232         * lisp/erc/erc-log.el (erc-logging-enabled):
3233         Respect buffer-locality of erc-enable-logging variable.
3235 2018-01-09  Glenn Morris  <rgm@gnu.org>
3237         Quieten semantic normal usage
3239         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
3240         compile time in the normal way, not at run-time.  (Bug#30035)
3242 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
3244         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
3246         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
3248 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
3250         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
3252 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
3254         Query background for gnome terminal version 3.22 (Bug#29716)
3256         * lisp/term/xterm.el (xterm--version-handler): Use
3257         xterm--report-background-handler for terminals reporting minor version
3258         4000 and above.
3260 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3262         Make pixel-wise scrolling less laggy
3264         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
3265         New variables.
3266         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
3267         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
3269 2018-01-07  Alan Third  <alan@idiocy.org>
3271         Fix child frame placement issues (bug#29953)
3273         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
3274         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
3275         struct as invisible child windows are detached from their parents in
3276         NS.
3277         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
3278         value, so handle that gracefully.  Child frames with negative left and
3279         top should be positioned relative to the bottom right of the parent
3280         frame.
3282 2018-01-06  Alan Mackenzie  <acm@muc.de>
3284         Describe the precise interaction of complex primitives with the change hooks
3286         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
3287         primitives call before- and after-change-functions in balanced pairs, but that
3288         some complex primitives call b-c-f once, and a-c-f zero, one, or several
3289         times.
3291 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3293         Fix valgrind report in call-interactively
3295         * src/callint.c (Fcall_interactively): Don't try to access more
3296         bytes than are available in the interactive spec.  (Bug#30004)
3298 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3300         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
3302 2018-01-06  Alan Mackenzie  <acm@muc.de>
3304         Fix mark-defun when there's no spaces between successive defuns.
3306         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
3307         argument to detect non-syntactic WS.  This fails on a "}", which does not
3308         begin a sexp.
3310         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
3311         handle BOL being in a string.
3312         (beginning-of-defun-comments): Call the above function in place of the call
3313         to parse-partial-sexp.
3315 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
3317         Fix Dired display and operations on file names with raw bytes
3319         * src/coding.c (decode_coding): When flushing remaining raw bytes
3320         from multibyte text, copy 2-byte forms of eight-bit-*
3321         characters as single characters, not as 2 raw bytes.  (Bug#29189)
3323 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
3325         Improve documentation of 'gdb-many-windows'
3327         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
3328         for using a separate frame for 'gdb-many-windows'.
3330 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
3332         Fix failures in smerge-mode on MS-Windows
3334         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
3335         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
3336         convention explicit.
3337         (smerge-refine-regions): Use utf-8-emacs instead of
3338         emacs-internal, to allow decoding of non-Unix EOL conventions.
3339         (Bug#29916)
3341 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
3343         Fix description of 'struct' generic function specializer
3344         Backport:
3346         * doc/lispref/functions.texi (Generic Functions): Fix description of
3347         'struct' specializer; it must be the named struct or a child, not a
3348         parent.
3350         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
3352 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
3354         * etc/DEBUG (Getting control to the debugger): Fix grammar.
3356 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3358         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
3360 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
3362         Don't bind dframe events on load (Bug#29599)
3364         * lisp/dframe.el (dframe-setup-hook): New hook.
3365         (dframe-set-special-events): New function, containing previous
3366         top-level key binding code.
3367         (top-level): Add it to dframe-setup-hook.
3368         (dframe-frame-mode): Run the hook.
3370 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
3372         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
3374         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
3376 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
3378         Fix description of 'emacs-internal'
3380         * doc/lispref/nonascii.texi (Coding System Basics): Correct
3381         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
3383 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
3385         Update PROBLEMS with selection-related issues
3387         * etc/PROBLEMS: Update the entry about large selections and
3388         klipper.  (Bug#29661)
3390 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
3392         New customization variable for python-mode indentation (Bug#28475)
3394         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
3395         (python-indent--calculate-indentation): Let it control how many indent
3396         levels are inserted for multi-line function signatures.
3398 2018-01-01  Alan Third  <alan@idiocy.org>
3400         Fix menu keyboard shortcuts on macOS (Bug#29595)
3402         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
3403         macOS 10.13 no longer ignores long modifier strings, so explicitly use
3404         an empty string.
3406 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3408         Fix copyright years by hand
3410         These are dates that admin/update-copyright did not update, or
3411         updated incorrectly.
3413 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3415         Update copyright year to 2018
3417         Run admin/update-copyright.
3419 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3421         Merge from Gnulib
3423         This incorporates:
3424         2018-01-01 maint: Run 'make update-copyright'
3425         2017-12-29 Add cross-compilation results for GNU/Hurd.
3426         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
3428 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
3430         Don't add empty keyboard macro to macro ring (Bug#24992)
3432         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
3433         macro if it is empty.
3435         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
3436         Remove expected failure tag.
3438 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
3440         Allow customization of decoding of "man" command
3442         * lisp/man.el (Man-coding-system): New defcustom.
3443         (Man-start-calling): Use it, and also pay attention to user
3444         overriding coding-system-for-read.  (Bug#29872)
3446 2017-12-31  Daiki Ueno  <ueno@gnu.org>
3448         * etc/NEWS: Add security consideration note on passphrase input
3450 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
3452         Fix subtle problem with scroll-down when scroll-margin is nonzero
3454         * src/window.c (window_scroll_pixel_based): Account for
3455         scroll-margin when scrolling down, i.e. moving window-start
3456         towards the beginning of the buffer.  Reported by zhang cc
3457         <ccsmile2008@outlook.com> in
3458         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
3460 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
3462         Fix problems with indexing in User manual
3464         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
3465         (Moving Point):
3466         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
3467         * doc/emacs/trouble.texi (Quitting):
3468         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
3469         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
3470         (Creating Custom Themes):
3471         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
3472         (Basic Indent, Info Lookup, Symbol Completion):
3473         * doc/emacs/screen.texi (Echo Area):
3474         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
3475         * doc/emacs/display.texi (Line Truncation, Cursor Display):
3476         * doc/emacs/files.texi (File Names, Backup, File Archives):
3477         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
3478         * doc/emacs/commands.texi (User Input):
3479         * doc/emacs/mule.texi (International, Unibyte Mode)
3480         (International Chars):
3481         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
3482         (CVS Options):
3483         * doc/emacs/modes.texi (Major Modes, Minor Modes):
3484         * doc/emacs/indent.texi (Just Spaces):
3485         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
3486         (Frame Commands):
3487         * doc/emacs/cmdargs.texi (Initial Options):
3488         * doc/emacs/abbrevs.texi (Dabbrev Customization):
3489         * doc/emacs/mini.texi (Completion Example, Completion Commands):
3490         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
3491         (From Other Calendar):
3492         * doc/emacs/regs.texi (Text Registers, Bookmarks):
3493         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
3494         * doc/emacs/maintaining.texi (Xref Commands):
3495         * doc/emacs/windows.texi (Pop Up Window):
3496         * doc/emacs/text.texi (Text, Org Mode):
3497         * doc/emacs/killing.texi (Other Kill Commands):
3498         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
3499         (Gnus Summary Buffer, Shell Mode):
3500         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
3501         redundant identical index entries.
3502         * doc/emacs/custom.texi (Mouse Buttons)
3503         * doc/emacs/files.texi (Reverting): Fix hyphenation.
3504         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
3505         * doc/emacs/files.texi (File Conveniences):
3506         * doc/emacs/programs.texi (MixedCase Words): Make entries that
3507         belong to Concept Index be indexed with @cindex.  (Bug#29888)
3509 2017-12-29  Alan Mackenzie  <acm@muc.de>
3511         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
3513 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
3515         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
3517         Don't mess with the lock file when inhibit_modification_hooks is set,
3518         just like we do in prepare_to_modify_buffer_1.
3520 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
3522         Improve documentation of 'inhibit-modification-hooks' and friends
3524         * src/buffer.c (Fset_buffer_modified_p)
3525         (Frestore_buffer_modified_p): Doc fixes.
3526         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
3527         Document in the doc string that this variable also inhibits file
3528         locks and active region handling.  (Bug#29846)
3530 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
3532         Fix doc string of 'enable-recursive-minibuffers'
3534         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
3535         Doc fix.  (Bug#29873)
3537 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
3539         Fix documentation of delsel and of killing text
3541         * doc/emacs/killing.texi (Appending Kills): Make sure the text
3542         with 2 spaces is not broken between 2 lines.
3543         * doc/emacs/mark.texi (Using Region): Remove the sentence about
3544         delsel mode that describes behavior which exists even without
3545         delsel mode turned on.  Suggested by Petteri Hintsanen
3546         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
3548         * lisp/delsel.el (delete-selection-mode): Doc fix.
3550 2017-12-27  Glenn Morris  <rgm@gnu.org>
3552         * doc/lispref/strings.texi (Case Conversion):
3553         Use a TeX font that support ligatures.
3555 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
3557         * doc/misc/speedbar.texi (Top): Fix grammar.
3559         * lisp/subr.el (with-silent-modifications): Doc fixes.
3561 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
3563         Fix curved quotes in printed manual
3565         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
3566         characters in the printed version of the manual.
3568 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3570         Say that "gnus-cloud" is a parody name
3572 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
3574         More improvements for text.texi
3576         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
3577         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
3578         emacs-manual-bugs@gnu.org.
3580 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
3582         Adjudicate review comments for the "Text" chapter of user manual
3584         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
3585         cross-reference to the Org manual.  Make the cross-reference to
3586         Outline Mode appear in online manuals as well (the conditional was
3587         a forgotten remnant from time immemoriam).
3588         (Paragraphs): Add a note that 'paragraph-start' and
3589         'paragraph-separate' should not be anchored.
3590         (Auto Fill): Remove redundant text.  Suggested by Petteri
3591         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
3593 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
3595         * lisp/url/url-http.el
3596         (url-http-wait-for-headers-change-function): Change message to
3597         url-http-debug.
3599 2017-12-24  Alan Mackenzie  <acm@muc.de>
3601         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
3603         , and instruct her to hold the mouse button to display its documentation.
3605         * lisp/help.el (help-downify-mouse-event-type): New function.
3606         (help-read-key-sequence, describe-key): handle double-click-time being nil or
3607         t.
3608         (describe-key): Print out instructions for displaying documentation of
3609         matching mouse down key sequence command when such exists.
3611 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
3613         * net/eww.el (eww): Handle URLs without host part.
3615 2017-12-23  Alan Mackenzie  <acm@muc.de>
3617         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
3619         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
3620         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
3621         event of a sequence which is bound.
3623         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
3624         a list.  Return the latest one which has a binding.
3626 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
3628         Avoid crashes when ':eval' deletes our frame
3630         * src/xdisp.c (display_mode_element): Signal an error if
3631         ':eval' somehow deletes the frame whose window we are
3632         redisplaying. (Bug#29726)
3634 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3636         Fix scrolling up in pixel-scroll.el
3638         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
3639         down when EOB is shown at the top.  This function is reverted to
3640         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
3642 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
3644         Fix problems with ligatures in PDF version of ELisp manual
3646         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
3647         ligatures in printed versions of the manual.  (Bug#29818)
3649 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
3651         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
3653         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
3654         Don't burp if the source-buffer has been killed.
3656 2017-12-22  Glenn Morris  <rgm@gnu.org>
3658         Avoid some overfull lines in PDF lispref
3660         * doc/lispref/commands.texi (Reading One Event):
3661         * doc/lispref/display.texi (SVG Images):
3662         * doc/lispref/frames.texi (Size Parameters):
3663         * doc/lispref/syntax.texi (Categories):
3664         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
3665         Avoid overfull lines.
3667 2017-12-22  Glenn Morris  <rgm@gnu.org>
3669         Avoid some overfull lines in PDF manual
3671         * doc/emacs/display.texi (Display Custom):
3672         * doc/emacs/search.texi (Other Repeating Search):
3673         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
3675 2017-12-22  Glenn Morris  <rgm@gnu.org>
3677         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
3678         Fix ref.
3680 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3682         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
3684 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3686         Fix doc string of 'footnote-style-alist'
3688         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
3689         to non-existing files from doc string.  (Bug#29759)
3691 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3693         Improve documentation of selecting windows
3695         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
3696         Clarify what selecting a window means for keyboard input, and that
3697         input focus may need to be considered when selecting windows on
3698         other frames.  See
3699         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
3700         for more details.
3702 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3704         Improve documentation of records
3706         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
3707         * doc/lispref/records.texi (Records): Recommend that record type
3708         names use package-naming conventions.
3710         * etc/NEWS: Add the naming convention recommendation for record
3711         types.
3713 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3715         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
3717 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3719         Fix interactive spec of 'semantic-ia-show-variants'
3721         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
3722         interactive spec to match the function's expectations.  (Bug#29770)
3724 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3726         Fix documentation of 'mouse-drag-and-drop-region' and friends
3728         * doc/emacs/frames.texi (Drag and Drop): Index
3729         'mouse-drag-and-drop-region-cut-when-buffers-differ',
3730         'mouse-drag-and-drop-region-show-tooltip', and
3731         'mouse-drag-and-drop-region-show-cursor'.
3733         * etc/NEWS: Fix the format of the related entries.
3735 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
3737         Improve detection of speller version in ispell.el
3739         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
3740         general forms of version numbers for Aspell, Hunspell, and
3741         Enchant, to include various beta and prereleases.  (Bug#29801)
3743 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3745         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
3747         * doc/emacs/frames.texi (Drag and Drop):
3748         * etc/NEWS (times): Document options for
3749         'mouse-drag-and-drop-region' and mention them in NEWS.
3751 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
3753         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
3755         * doc/emacs/building.texi (Grep Searching): Fix doc of
3756         'grep-save-buffers'.
3757         (Drag and Drop): Reorder paragraphs.  Fix doc of
3758         'mouse-drag-and-drop-region'.
3759         * doc/emacs/frames.texi (Word and Line Mouse):
3760         * doc/emacs/search.texi (Other Repeating Search):
3761         * doc/lispref/compile.texi (Compilation Functions):
3762         * doc/lispref/files.texi (Directory Names):
3763         * doc/lispref/functions.texi (Advising Named Functions):
3764         * doc/lispref/keymaps.texi (Controlling Active Maps):
3765         * doc/lispref/lists.texi (Association Lists):
3766         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
3767         'non-nil' and 'nil'.
3769 2017-12-21  Philipp Stephani  <phst@google.com>
3771         Document that mode commands should be idempotent.
3773         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
3774         Conventions): Document that the mode commands should be idempotent.
3776 2017-12-21  Alan Mackenzie  <acm@muc.de>
3778         Fontify a CPP construct correctly when a comment follows without spaces
3780         Do this by removing a broken optimization in the state cache which put
3781         category text properties on a character between the end of the CPP construct
3782         and the beginning of the comment.  This can't work when there's no such
3783         character.
3785         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
3786         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
3787         (c-with-all-but-one-cpps-commented-out): Remove.
3789         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
3790         start position rather than one character before it.
3791         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
3792         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
3794         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
3795         c-neutralize-syntax-in-CPP and remove the bits which applied category
3796         properties.
3798         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
3799         new name of the function c-neutralize-syntax-in-CPP.
3801 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
3803         Prevent infloop in redisplay on TTY frames
3805         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
3806         filling up display margins with the default face's background.
3807         (Bug#29789)
3809 2017-12-21  Alan Mackenzie  <acm@muc.de>
3811         Fix loss of documentation face in certain CC Mode doc comment situations
3813         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
3814         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
3815         "/**" (etc.) being itself inside a literal, rather than just depending on the
3816         face of the previous character.
3818 2017-12-21  Daiki Ueno  <ueno@gnu.org>
3820         Remove pinentry.el
3822         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
3823         * lisp/net/pinentry.el: Remove (bug#27445).
3825 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
3827         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
3829         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
3830         (Fgnutls_available_p): Use it.
3832 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
3834         Work around GnuTLS version issues with %DUMBFW (tiny change)
3836         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
3837         (init_gnutls_functions): Use it.
3838         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
3840 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
3842         Merge branch 'widen-less' into emacs-26
3844 2017-12-20  Glenn Morris  <rgm@gnu.org>
3846         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
3848 2017-12-20  Glenn Morris  <rgm@gnu.org>
3850         Fix some more aliases to user options
3852         * lisp/cus-edit.el (custom-mode-hook):
3853         * lisp/erc/erc.el (erc-default-coding-system):
3854         * lisp/progmodes/python.el (python-indent, python-guess-indent)
3855         (python-shell-virtualenv-path)
3856         (python-shell-completion-module-string-code)
3857         (python-shell-completion-pdb-string-code, python-use-skeletons):
3858         Define aliases to user options before the options are defined.
3860 2017-12-20  Glenn Morris  <rgm@gnu.org>
3862         Fix some flymake aliases
3864         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
3865         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
3866         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
3867         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
3868         Define aliases to user options before the options are defined.
3870 2017-12-20  Glenn Morris  <rgm@gnu.org>
3872         Unbreak a fileio test on non-Mac OS X systems
3874         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
3875         Don't use an undefined coding system.
3877 2017-12-20  Robert Pluim  <rpluim@gmail.com>
3879         Fix updating scrollbar sizes when scaling is in effect
3881         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
3882         scrollbar when scaling is in effect.
3883         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
3884         when scaling is in effect.
3886 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
3888         Widen in indent-for-tab-command in the normal case, too
3890         Fixing this obvious omission.
3891         * lisp/indent.el (indent--funcall-widened): New function.
3892         (indent-for-tab-command): Use it.
3894 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
3896         Collect GnuTLS extensions and use them to set %DUMBFW if supported
3898         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
3899         only when it's supported as "ClientHello Padding" (Bug#25061).
3901         * src/gnutls.c (Fgnutls_available_p): Get extension names and
3902         put them in the GnuTLS capabilities, using a hard-coded limit
3903         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
3905 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
3907         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
3909 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
3911         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
3913         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
3914         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
3915         rather than forms (bug#29679).
3917 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
3919         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
3920         not position (bug#29734).
3922 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
3924         Replace the mention of c-indent-defun with js-indent-line
3926         * doc/lispref/text.texi (Mode-Specific Indent):
3927         Avoid mentioning c-indent-defun in the context of multi-mode
3928         indentation.
3930 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
3932         python.el doc fixes
3934         * lisp/progmodes/python.el (python-shell-accept-process-output):
3935         (python-shell-comint-end-of-output-p):
3936         (python-shell-first-prompt-hook):
3937         (python-info-beginning-of-backslash): Doc fixes.
3939 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3941         Make 'mouse-drag-and-drop-region' more robust and customizable
3943         * lisp/mouse.el
3944         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
3945         to permit 'mouse-drag-and-drop-region' to cut text also when source
3946         and destination buffers differ.
3947         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
3948         display of tooltip during mouse dragging on graphic displays.
3949         (mouse-drag-and-drop-region-show-cursor): New option to toggle
3950         moving point with mouse cursor during mouse dragging of region.
3951         (mouse-drag-and-drop-region): New face to highlight original
3952         text while dragging.
3953         (mouse-drag-and-drop-region): Make use of new options and face.
3954         Ignore errors during tracking.
3956 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
3958         Backport: Don't compare arguments that can be nil (Bug#28039)
3960         copy-region-as-kill can be called passing nil as `beg' and
3961         `end'. Magit does that, which caused an error when this advice was in
3962         effect.
3964         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
3965           unless `beg' and `end' are non-nil.
3967 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
3969         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
3971         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
3972         similar may update the syntax-ppss cache if
3973         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
3974         any of these functions with a different than normal syntax-table, the
3975         cache must be cleaned afterwards.
3976         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
3977         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
3979 2017-12-17  Glenn Morris  <rgm@gnu.org>
3981         * etc/emacs.appdata.xml: Update file format.
3983 2017-12-16  Alan Third  <alan@idiocy.org>
3985         Use utf-8-hfs-unix on macOS (Bug#29712)
3987         This is a quick fix for the Emacs 26 release. Do not merge to master.
3989         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
3990         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
3992 2017-12-16  Alan Mackenzie  <acm@muc.de>
3994         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
3996 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
3998         Improve fix for Bug#29712
4000         * test/lisp/net/tramp-tests.el
4001         (tramp-test32-environment-variables-and-port-numbers):
4002         Adapt check for systems which do not support "echo -n".  (Bug#29712)
4004 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4006         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
4008 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4010         Avoid reordering of output in 'shr-insert-document'
4012         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
4013         shr-pixel-column invocations.  (Bug#29734)
4015 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
4017         Improve documentation of 'invisible-p'
4019         * doc/lispref/display.texi (Invisible Text): Document the return
4020         value of 'invisible-p'.
4022         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
4023         (Bug#29721)
4025 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
4027         Remove one more check that Vframe_list is non-nil
4029         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
4030         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
4031         assumes that.
4033 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
4035         Fix off-by-one error in 'css--hex-color'
4037         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
4039         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
4040         for 'css--hex-color'.
4042 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
4044         Save and restore text-pixel height and width of frames (Bug#28442)
4046         * lisp/frameset.el (frameset--record-relationships): Record
4047         text-pixel-height and text-pixel-width of frame.
4048         (frameset--restore-frame): Restore text-pixel-height and
4049         text-pixel-width of frame if available.  (Bug#28442)
4051 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
4053         Partially revert "Mention new strictness for &optional, &rest..."
4055         The changes to cl argument parsing are not backwards compatible, and
4056         cause inconvenience when writing macros (e.g., instead of doing '&aux
4057         ,@auxargs', some more complicated conditionals would be required).
4058         The `cl-defstruct' macro makes use of this convenience when defining
4059         empty structs (Bug#29728).
4060         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4061         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
4062         and &aux.
4063         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
4064         test.
4066 2017-12-15  Glenn Morris  <rgm@gnu.org>
4068         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
4070         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
4072 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4074         FOR_EACH_FRAME no longer assumes frame-list
4076         This cleans up a recent fix related to Bug#29661.
4077         Suggested by Stefan Monnier in:
4078         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
4079         * src/frame.c (next_frame, prev_frame, delete_frame):
4080         Restore debugging checks that Vframe_list is non-nil,
4081         as FOR_EACH_FRAME no longer has these checks.
4082         (delete_frame): Remove no-longer-needed checks that Vframe_list is
4083         non-nil, as FOR_EACH_FRAME no longer assumes that.
4084         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
4086 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4088         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
4090 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
4092         Modernise message.el face spec syntax
4094         * lisp/gnus/message.el (message-header-to, message-header-cc)
4095         (message-header-subject, message-header-newsgroups)
4096         (message-header-other, message-header-name, message-header-xheader)
4097         (message-separator, message-cited-text, message-mml):
4098         Use (DISPLAY . PLIST) face spec syntax as recommended in
4099         `(elisp) Defining Faces'.  (Bug#29405)
4101 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
4103         Update message.el obsolete face aliases
4105         * lisp/gnus/message.el: (message-header-to, message-header-cc)
4106         (message-header-subject, message-header-newsgroups)
4107         (message-header-other, message-header-name, message-header-xheader)
4108         (message-separator, message-cited-text, message-mml):
4109         Use define-obsolete-face-alias.  (Bug#29405)
4111 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4113         Improve documentation of TERM environment variable
4115         * doc/emacs/trouble.texi (Checklist):
4116         * doc/emacs/building.texi (Compilation Shell):
4117         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
4118         * doc/emacs/building.texi (Compilation Shell): Mention
4119         'comint-terminfo-terminal' in conjunction with the TERM value.
4121 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
4123         Add option to configure comint TERM
4125         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
4126         (comint-term-environment): New function for setting terminal options
4127         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
4128         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
4130         * etc/NEWS:
4131         * doc/emacs/misc.texi (Shell Options): Document the new option.
4133 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4135         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
4137         * lisp/international/mule.el (sgml-xml-auto-coding-function):
4138         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
4139         obey the buffer's encoding if it is one of these variants, instead
4140         of re-encoding in UTF-8 proper.  (Bug#20623)
4142 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
4144         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
4146 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
4148         Fix Bug#29712 in tramp-tests.el
4150         * test/lisp/net/tramp-tests.el
4151         (tramp-test32-environment-variables-and-port-numbers):
4152         Skip for macOS.  (Bug#29712)
4154 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
4156         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
4158         This does not fix Bug#29961 but avoids that Emacs segfaults when
4159         trying to shut down because it lost connection to the X server.
4161         * src/dispnew.c (check_glyph_memory):
4162         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
4163         there's no frame left (Bug#29961).
4165 2017-12-15  Glenn Morris  <rgm@gnu.org>
4167         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
4169 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
4171         Remember password change for IMAP in Gnus (Bug#29692)
4173         Reported by Trey Jackson <trey_jackson@mentor.com>.
4175         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
4176         `mail-source-password-cache' for password.
4178 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
4180         Add %DUMBFW to the default GnuTLS priority strings
4182         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
4183         the default priority strings (Bug#25061).
4185         * etc/NEWS: Mention it.
4187         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
4188         GnuTLS priority string documentation URL.
4190 2017-12-15  Glenn Morris  <rgm@gnu.org>
4192         Small fixes prompted by make check-declare
4194         * lisp/frame.el (x-focus-frame): Update declaration.
4195         (ns-mouse-absolute-pixel-position): Fix declaration.
4196         * lisp/vc/diff-mode.el (diff-refine-hunk):
4197         Use smerge-refine-regions rather than obsolete alias.
4198         (smerge-refine-subst): Remove declaration, no longer relevant.
4200 2017-12-15  Glenn Morris  <rgm@gnu.org>
4202         Fix some custom groups
4204         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
4205         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
4207 2017-12-14  Alan Mackenzie  <acm@muc.de>
4209         Fix fontification of first declaration within a C++ lambda form.
4211         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
4212         spuriously recognizing the braces of a lambda form as a brace list when there
4213         is an "=" preceding the introductory brackets.
4215 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
4217         * src/data.c (Fadd_variable_watcher): Doc fix.
4219 2017-12-14  Alan Mackenzie  <acm@muc.de>
4221         Fix misfontification of C++ member initialization list after "throw"
4223         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
4224         starting with "throw", by using c-opt-type-modifier-prefix-key.
4226         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
4227         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
4228         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
4229         any keyword in the previous lang const.
4231 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
4233         Consolidate 'widen' calls
4235         * lisp/progmodes/prog-mode.el (prog-indentation-context):
4236         Un-document all elements but the first.
4237         (prog-widen): Remove.
4238         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
4240         * doc/lispref/text.texi (Mode-Specific Indent): Update.
4242         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
4243         Don't call widen.
4245         * lisp/progmodes/python.el
4246         (python-indent-guess-indent-offset)
4247         (python-info-current-defun): Replace prog-widen with widen;
4248         these functions are not called during indentation.
4249         (python-indent-context)
4250         (python-indent--calculate-indentation)
4251         (python-info-dedenter-opening-block-message)
4252         (python-info-line-ends-backslash-p)
4253         (python-info-beginning-of-backslash)
4254         (python-info-continuation-line-p)
4255         (python-info-current-defun): Remove 'widen' calls.
4257         * lisp/indent.el (indent-according-to-mode)
4258         (indent-for-tab-command, indent-region): Move them here.
4260         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
4261         Bind prog-indentation-context to one-element list.
4263 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
4265         Fix doc-string of Fbuffer_list
4267         * src/buffer.c (Fbuffer_list): Fix doc-string.
4269 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
4271         Don't raise an extraneous frame (bug#29696)
4273         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
4274         summary buffer keys from article buffer without affecting window
4275         configuration (bug#29696).
4277 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
4279         Mention new strictness for &optional, &rest in arglists (Bug#29165)
4281         * etc/NEWS: Explain that '&optional' not followed by a variable is now
4282         an error.
4283         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
4284         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
4285         followed by a variable for consistency.
4286         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
4287         test.
4289 2017-12-13  Alan Mackenzie  <acm@muc.de>
4291         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
4293         Also recognize and handle function names introduced by "extern" inside a
4294         function.
4296         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
4297         the result list which is t when our declaration is, or is to be treated as,
4298         being at top level.
4300         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
4301         inside a C++ uniform initialization and return (not-decl nil) for this case.
4302         (c-font-lock-declarations): Use the new element 4 of the result of
4303         c-forward-decl-or-cast-1.
4305         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
4306         New lang consts/vars.
4308 2017-12-13  Glenn Morris  <rgm@gnu.org>
4310         Fixes for defcustoms, prompted by cus-test-opts
4312         * lisp/files.el (save-some-buffers-default-predicate):
4313         * lisp/time.el (display-time-world-list):
4314         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
4315         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
4316         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
4317         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
4318         (less-css-output-file-name, less-css-input-file-name):
4319         * lisp/vc/emerge.el (emerge-metachars):
4320         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
4321         Fix :types.
4322         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
4324 2017-12-13  Glenn Morris  <rgm@gnu.org>
4326         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
4327         Update.
4329         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
4331 2017-12-13  Glenn Morris  <rgm@gnu.org>
4333         Add missing :version tags revealed by cusver-check
4335         * lisp/comint.el (comint-move-point-for-matching-input):
4336         * lisp/epa.el (epa-replace-original-text):
4337         * lisp/image-dired.el (image-dired-cmd-optipng-program)
4338         (image-dired-cmd-optipng-options):
4339         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
4340         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
4341         (gnus-cloud-interactive):
4342         * lisp/net/mailcap.el (mailcap-user-mime-data):
4343         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
4344         (c-noise-macro-names, c-noise-macro-with-parens-names):
4345         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
4346         (flymake-wrap-around):
4347         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
4348         * lisp/progmodes/js.el (js-indent-align-list-continuation):
4349         * lisp/progmodes/perl-mode.el (perl-flymake-command):
4350         * lisp/progmodes/python.el (python-flymake-command)
4351         (python-flymake-command-output-pattern, python-flymake-msg-alist):
4352         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
4353         (ruby-rubocop-config):
4354         * lisp/textmodes/less-css-mode.el (less-css):
4355         * lisp/textmodes/tex-mode.el (tex-chktex-program)
4356         (tex-chktex-extra-flags): Add missing :version tags.
4358 2017-12-13  Glenn Morris  <rgm@gnu.org>
4360         Escape column-zero doc parens
4362         * lisp/htmlfontify.el (hfy-display-class):
4363         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
4364         * lisp/net/shr.el (shr-external-rendering-functions):
4365         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
4366         * lisp/textmodes/tildify.el (tildify-tildify):
4367         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
4369 2017-12-12  Alan Third  <alan@idiocy.org>
4371         Remove ObjC blocks (Bug#23753)
4373         * src/macfont.m (macfont_get_glyph_for_character):
4374         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
4376         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
4378 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
4380         Import the latest IVD_Sequences.txt
4382         * admin/unidata/IVD_Sequences.txt: New version from
4383         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
4384         Ideographic Variation Database.
4386         * src/macuvs.h: Regenerated.
4388 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
4390         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
4392         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
4393         to write to stdout rather than relying on the default (the choice of
4394         default is decided when compiling tar, BSD systems usually set it to a
4395         tape drive).  Drop '-v', since the output is not used anywhere.
4397 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
4399         Suppress warnings during elisp completion macroexpansion
4401         Errors are already suppressed, therefore it is logical to suppress
4402         warnings as well.  Some macros (e.g., use-package) may produce
4403         warnings when given the `elisp--witness--lisp' symbol.
4404         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
4405         warning-minimum-log-level to :emergency.
4407 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
4409         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
4411 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
4413         Make tramp-interrupt-process more robust
4415         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
4416         the default implementation if there's no success.
4418 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
4420         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
4422         * lisp/international/quail.el (quail-input-method): Work not only
4423         when buffer-read-only is nil but also when inhibit-read-only is non-nil
4424         (bug#29504).
4426 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4428         Fix 'fontset-name-p'
4430         * lisp/international/fontset.el (fontset-name-p): Make the
4431         function work with full fontset names and fontset alias names.
4433 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4435         Fix fontset documentation inconsistencies for bug#29630
4437         * doc/lispref/display.texi (Face Attributes): Don't document
4438         :family as accepting a fontset.  Document that :font accepts a
4439         fontset.
4441         * lisp/faces.el (set-face-attribute): Doc fix.
4443 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
4445         Remove sentence from child frames section in Elisp manual
4447         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
4448         Suggested by Bob Weiner <rsw@gnu.org>.
4450 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
4452         Avoid crashes in 'font-at' after 'set-fontset-font'
4454         * src/fontset.c (free_realized_fontsets): Call
4455         recompute_basic_faces, so that the basic faces are available to
4456         any Lisp that calls this function, e.g. via set-fontset-font.
4457         (Bug#29632)
4459 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
4461         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
4463 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
4465         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
4467         Problem reported by Mark Ferlatte (Bug#28603).
4468         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
4470 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4472         Fix tool-tip display when display margins are non-zero by default
4474         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
4475         New inline functions.
4476         * src/xfns.c (Fx_show_tip):
4477         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
4478         buffer to zero, as it will be displayed in a pseudo-window, which
4479         doesn't support display margins.  (Bug#29627)
4481 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
4483         Handle hash tables and vectors when reading/writing EIEIO objects
4485         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
4486           printed with `prin1' can no longer be read with `read'. Make sure
4487           they are printed with object-write instead, even when they're inside
4488           hash tables and vectors.
4489         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
4490           Check for written representations of objects inside hash tables and
4491           vectors, and reconstruct them.
4493 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4495         Improve interactive debugging commands in xdisp.c
4497         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
4498         specify ROW via prefix argument.  Fix the doc strings.
4500 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4502         Fix calculation of continuation_pixel_width in display engine
4504         * src/xdisp.c (display_line): Remove incorrect increment of
4505         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
4507 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4509         Improve documentation of 'save-abbrevs'.
4511         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
4512         value of 'save-abbrevs'.  Suggested by Alex Branham
4513         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
4515 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4517         Improve documentation of Dired
4519         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
4520         be made modifiable in Wdired.  Suggested by Alex Branham
4521         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
4523 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
4525         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
4527 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
4529         Minor Tramp fixes
4531         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
4532         Fix a bug when renaming.
4534         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
4535         (tramp-test42-delay-load, tramp-test42-remote-load-path):
4536         Skip unless Emacs >= 26.
4538 2017-12-08  Glenn Morris  <rgm@gnu.org>
4540         * lisp/help-mode.el (help-function-def):
4541         Allow help-make-xrefs to call with one argument.  (Bug#29611)
4543 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
4545         Fix doc-string of 'display-buffer-in-side-window'
4547         * lisp/window.el (display-buffer-in-side-window): In doc-string
4548         clarify why the window returned gets dedicated to its buffer.
4550 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
4552         Fix Bug#29579
4554         * lisp/files.el (file-name-non-special):
4555         Inhibit `file-name-handler-alist' only for some operations.
4556         Add missing operations.  (Bug#29579)
4558         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
4559         Do not quote if it is quoted already.
4561         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
4562         Use `copy-tree' but `copy-sequence'.
4564         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
4565         trailing slashes correctly.
4567         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
4568         (tramp-test12-rename-file, tramp-test24-file-acl)
4569         (tramp-test25-file-selinux, tramp--test-check-files):
4570         Handle also quoted file names.
4571         (tramp-test21-file-links): Fix file name quoting test.
4572         (tramp-test24-file-acl): Be more robust for "smb" method.
4573         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
4575 2017-12-06  Rasmus  <rasmus@gmx.us>
4577         Backport: Update Org to v9.1.4
4579         Please note this is a bugfix release. See etc/ORG-NEWS for details.
4581         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
4583 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
4585         In windows.texi mention special splitting behavior of side and atomic windows
4587         * doc/lispref/windows.texi (Splitting Windows): Add note about
4588         and links to side and atomic windows.
4590 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
4592         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
4593         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
4595 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
4597         Avoid compilation warning in xterm.c
4599         * src/xterm.c (x_draw_underwave): Move the declaration of
4600         'thickness' to the non-USE_CAIRO branch, to avoid compiler
4601         warning.  (Bug#29567)
4603 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
4605         * README: Document all the top-level directories.  (Bug#29558)
4607 2017-12-04  Glenn Morris  <rgm@gnu.org>
4609         Don't enable erc modules on simply loading erc.el
4611         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
4613 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
4615         Allow shr to use data: URLs without encoding
4617         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
4618         image data: URLs that have no base64 encoding like
4619         (shr-image-from-data
4620         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
4622 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
4624         Don't add newlines in minibuffer history
4626         * lisp/simple.el (next-line-or-history-element): Bind
4627         next-line-add-newlines to nil.  (Bug#29529)
4629 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
4631         modhelp.py: Support Python 3 (Bug#24954)
4633         * modules/modhelp.py: 'print' statement was removed in Python
4634         3.  'print' function should be used instead of 'print' statement.
4636 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
4638         Use forward slashes for python w32 config example (Bug#21656)
4640         * lisp/progmodes/python.el: Use forward slashes for Windows path
4641         example, it doesn't require doubling of slashes which reduces chances
4642         of confusion.
4644 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
4646         Fix bug in i18n/l10n optimization
4648         This fixes a off-by-one buffer overrun bug introduced in
4649         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
4650         experimental version of Emacs built with -fcheck-pointer-bounds
4651         and running on Intel MPX hardware.
4652         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
4654 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
4656         Let autoload-compute-prefix be set file-locally (Bug#29471)
4658         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
4659         boolean values as safe.
4661 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
4663         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
4665         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
4666         present the current bindings in the prompt.  Check the the
4667         non-remapped binding of the entered key sequence as well.
4669 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
4671         Add tests on electric-indentation and Python multiline strings (Bug#29305)
4673         * test/lisp/progmodes/python-tests.el
4674         (python-indent-electric-comma-inside-multiline-string,
4675         python-indent-electric-comma-after-multiline-string): New tests.
4677 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
4679         Disable electric indent for python strings (Bug#29305)
4681         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
4682         Do nothing when point or beginning of line is in string.
4684 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
4686         Fix buffer overflow in fontname conversion (Bug#29523)
4688         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
4690 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
4692         Fix byte compilation of files with leading directories
4694         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
4695         of target-file to make-temp-file, in case target-file includes a
4696         leading directory that might not exist under TMPDIR.  See
4697         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
4698         for the details.
4700 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
4702         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
4704 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
4706         Revert Tramp commit from 2017-11-20
4708         * lisp/net/tramp.el (tramp-drop-volume-letter)
4709         (tramp-handle-find-backup-file-name): Revert change from
4710         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
4711         case now.
4713 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
4715         Improve documentation of buffer-list commands and features
4717         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
4718         "Several Buffers", to establish a relation between the two
4719         sections.
4720         (Buffer Menus): Expand on customizability of alternative buffer
4721         menu offered by bs.el.  Mention IBuffer.
4722         Suggested by Alex Branham <alex.branham@gmail.com> in
4723         emacs-manual-bugs@gnu.org.
4725 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
4727         Fix backing up remote files in local directories on MS-Windows
4729         * lisp/files.el (make-backup-file-name-1): Support remote file
4730         names correctly when they are backed up into a local directory on
4731         MS-Windows and MS-DOS.  (Bug#29440)
4733 2017-12-02  Glenn Morris  <rgm@gnu.org>
4735         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
4737 2017-12-01  John Wiegley  <johnw@newartisans.com>
4739         Revert "Fix backing up remote files in local directories on MS-Windows"
4741         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
4743 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4745         Fix a typo in ELisp manual
4747         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
4748         of using 'seq-uniq'.  (Bug#29524)
4750 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4752         * lisp/composite.el (find-composition): Fix a typo in the doc string.
4754 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4756         Fix backing up remote files in local directories on MS-Windows
4758         * lisp/files.el (make-backup-file-name-1): Support remote file
4759         names correctly when they are backed up into a local directory on
4760         MS-Windows and MS-DOS.  (Bug#29440)
4762 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
4764         Fix vertical cursor motion in pixel-scroll.el
4766         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
4767         regardless of whether EOB is shown at the top.
4768         (pixel-scroll-down) Move cursor up regardless of whether BOB
4769         is shown at the top.  (Bug#29374)
4771 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
4773         Fix typos in doc strings of message.el
4775         * lisp/gnus/message.el (message-header-to)
4776         (message-header-subject, message-header-newsgroups)
4777         (message-header-other): Fix typos in doc strings.  (Bug#29405)
4779 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4781         Fix a typo in the Emacs manual
4783         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
4784         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
4786 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
4788         Improve the documentation of 'table-insert-sequence'
4790         * doc/emacs/text.texi (Table Misc): Fix the description of
4791         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
4792         emacs-manual-bugs@gnu.org.
4794 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
4796         Port better to QNX
4798         Problem reported by Elad Lahav on emacs-devel.
4799         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
4800         and default LDFLAGS to -N2MB so that the initial stack size
4801         is not too small.  Also, fix misspelling of ‘qnxnto’.
4803 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
4805         Make tramp-test42-auto-load more robust
4807         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
4808         Make it more robust.  Don't skip.
4810 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
4812         Avoid assertions in find-composition
4814         * src/font.c (font_range): If called with STRING non-nil and FACE
4815         a NULL pointer, compute face by calling face_at_string_position.
4816         (Bug#29506)
4818         * lisp/composite.el (find-composition): Doc fix.
4820 2017-11-29  Glenn Morris  <rgm@gnu.org>
4822         Restore obsolete method of changing byte-compile-dest-file
4824         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
4825         Restore seven-year obsolete feature that was removed for six months,
4826         since automake uses it.
4828 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
4830         Some minor Tramp corrections
4832         * lisp/net/tramp.el (tramp-handle-directory-file-name):
4833         Handle several trailing slashes correctly.
4834         (tramp-handle-file-selinux-context): New defun.
4836         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
4837         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
4838         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
4839         Use `tramp-handle-file-selinux-context'.
4841         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
4842         Extend test.
4843         (tramp-test17-insert-directory): Make check more robust.
4844         (tramp-test42-auto-load): Combine several let forms.
4845         (tramp-test42-delay-load, tramp-test42-recursive-load)
4846         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
4848 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
4850         * doc/misc/url.texi (http/https): Fix typo
4852 2017-11-29  Glenn Morris  <rgm@gnu.org>
4854         Remove some bogus definition-prefixes from loaddefs
4856         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
4857         Don't register a definition prefix from define-erc-module,
4858         which adds an erc- prefix to its argument.
4860 2017-11-28  Robert Pluim  <rpluim@gmail.com>
4862         Shell-quote wildcards when invoking 'vc-git-grep'
4864         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
4865         filename wildcards to ensure globbing is done by git rather
4866         than the shell.  (Bug#29303)
4868 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
4870         Update documentation of '.dir-locals-2.el'
4872         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
4873         for more details.
4874         * lisp/files.el (dir-locals-file-2): Remove unused constant.
4875         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
4876         the doc string.
4877         * doc/lispref/variables.texi (Directory Local Variables): Mention
4878         ".dir-locals-2.el".
4879         * etc/NEWS: Replace `dir-locals-file-2' mention with
4880         `dir-locals-file'.
4882 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
4884         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
4886 2017-11-27  Glenn Morris  <rgm@gnu.org>
4888         A few small doc fixes for bytecomp.el
4890         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
4891         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
4893 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4895         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
4897 2017-11-27  Glenn Morris  <rgm@gnu.org>
4899         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
4901 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
4903         Fix ELisp "Warning Tips"
4905         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
4906         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
4908 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
4910         Fix Bug#29163
4912         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
4913         Do not use "\\'" in regexp.  (Bug#29163)
4914         (top) Do not run (tramp-register-autoload-file-name-handlers)
4915         when loading tramp.el.
4917         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
4918         (tramp-test32-environment-variables-and-port-numbers)
4919         (tramp-test41-asynchronous-requests): Use it.
4920         (tramp-test42-auto-load): New test.
4921         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
4922         (tramp-test45-delay-load, tramp-test46-unload): Rename.
4924 2017-11-27  Paul Eggert  <eggert@union>
4926         Harden exec_byte_code against redefining 'error'
4928         Problem discovered by configuring with --enable-gcc-warnings on
4929         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
4930         * src/bytecode.c (exec_byte_code): Call the C error function
4931         instead of the Lisp one, so that the Emacs interpreter does not go
4932         haywire if the user redefines the Lisp error function.
4934 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
4936         Fix Edebug specs for if-let* and and-let* (Bug#29236)
4938         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
4939         Change Edebug spec to cause Edebug to instrument tests the
4940         results of which are not bound to symbols (the (VALUEFORM)
4941         case).
4942         (and-let*): Change Edebug spec to allow empty body.
4944         *test/lisp/emacs-lisp/subr-x-tests.el:
4945         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
4946         form so Edebug will work on this test.
4948 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
4950         Fix Edebug's handling of dotted specs (bug#6415)
4952         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
4953         cl-macro-list1 instead of cl-macro-list in Edebug spec.
4955         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
4956         unused variable.
4957         (edebug-dotted-spec): Add docstring.
4958         (edebug-match-specs): Allow &optional and &rest specs to
4959         match nothing at the tail of a dotted form. Handle matches of
4960         dotted form tails which return non-lists.
4962         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
4963         New test.
4965         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
4966         (edebug-test-code-use-destructuring-bind): New function.
4968 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
4970         Improve documentation of "constant" symbols
4972         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
4973         <font-width-table>:
4974         * src/data.c (syms_of_data) <most-positive-fixnum>
4975         <most-negative-fixnum>:
4976         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
4977         Mention in the doc strings that these variables are read-only.
4979         * doc/lispref/variables.texi (Creating Buffer-Local): Document
4980         that making a constant variable buffer-local signals an error.
4981         * doc/lispref/variables.texi (Constant Variables):
4982         * doc/lispref/errors.texi (Standard Errors): More accurate and
4983         up-to-date documentation of which symbols cannot be assigned
4984         values.
4986 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
4988         maint: shorten https://lists.gnu.org/archive/html/... links
4990 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
4992         Merge from Gnulib
4994         This incorporates:
4995         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
4996         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
4997         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
4998         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
4999         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
5000         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
5001         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
5002         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
5003         * m4/vararrays.m4:
5004         Copy from Gnulib.
5006 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5008         Work around GCC bug 80776 on Fedora 27 x86
5010         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
5011         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
5012         using XINT rather than XFASTINT and by adding an eassume.  This
5013         works around GCC bug 80776.
5015 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5017         Tweak copy-file, rename-file doc
5019         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
5020         slightly, as NEWNAME is treated as a directory name depending only
5021         on the contents of the NEWNAME string, and independently of
5022         whether NEWNAME names a directory (i.e., whether the directory
5023         exists) (Bug#29362).
5025 2017-11-25  Tom Tromey  <tom@tromey.com>
5027         Change font-lock-extend-region-multiline handling in mhtml-mode
5029         Bug#29159
5030         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
5031         font-lock-extend-region-multiline from
5032         font-lock-extend-region-functions.
5033         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
5035 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
5037         Minor cleanup in tramp-gvfs-handle-file-local-copy
5039         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
5040         Move error message up.
5042 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
5044         Add test for Bug#29423 in Tramp.
5046         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
5047         Add test for Bug#29423.
5049 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
5051         Avoid jumbled order in HTML rendered by shr.el
5053         * lisp/net/shr.el (shr-render-td): Preserve point, as
5054         shr-render-td-1 might move it as a side effect of
5055         save-window-excursion.  (Bug#29348)
5057 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
5059         Make sure 'dired-filename' property is always put by ls-lisp
5061         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
5062         'dired-filename' text property on the file name here...
5063         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
5065 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5067         A better solution for bug#29347
5069         * src/thread.c (really_call_select): Don't try to take the global
5070         lock if the same thread is already holding it.  (Bug#29347)
5072 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5074         Avoid a hang after C-g while sit-for on a Unix TTY
5076         * src/thread.c (acquire_global_lock): Don't try to take the global
5077         lock if the same thread is already holding it.  (Bug#29347)
5079 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5081         Improve the doc string of 'list-packages'
5083         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
5084         string the columns shown by the command.  (Bug#29420)
5086 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5088         Improve discoverability of 'defvar' for suppressing warnings
5090         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
5091         * doc/lispref/variables.texi (Defining Variables): Mention that
5092         defvar with no value is used for suppressing compiler warnings.
5093         (Bug#29400)
5095 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5097         Improve discoverability of 'read-buffer-completion-ignore-case'
5099         * lisp/window.el (switch-to-buffer)
5100         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
5101         Mention 'read-buffer' in the doc string.  (Bug#29389)
5103         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
5104         where 'read-buffer-completion-ignore-case' is documented.
5106 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5108         Improve documentation of self-insert-uses-region-functions
5110         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
5111         doc string.
5112         * lisp/delsel.el (delete-selection-uses-region-p): Mention
5113         'self-insert-command' in the doc string.  (Bug#29373)
5115         * doc/lispref/text.texi (Commands for Insertion): Mention
5116         'self-insert-uses-region-functions'.
5117         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
5118         cross-reference to "Commands for Insertion".
5120 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5122         Reflect changes in copy-file and rename-file in doc strings
5124         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
5125         strings that directory names must end in a slash.  (Bug#29362)
5127 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5129         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
5131 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
5133         Reorder type predicates in ELisp manual
5135         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
5136         order of listed predicates.  (Bug#29411)
5138 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
5140         Fix backward scrolling in buffers with header-line
5142         * src/window.c (window_scroll_pixel_based): Account for the
5143         header-line when comparing Y coordinate with the last_visible_y.
5144         (Bug#29325)
5146 2017-11-22  Glenn Morris  <rgm@gnu.org>
5148         * lisp/bindings.el (buffer-file-coding-system):
5149         Add explicit permanent-local mark.
5151         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
5153 2017-11-22  Alan Third  <alan@idiocy.org>
5155         Fix incorrect interaction of drag/drop and double click (bug#29121)
5157         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
5158         doesn't use ns-input-file.
5160 2017-11-22  Glenn Morris  <rgm@gnu.org>
5162         * lisp/menu-bar.el (menu-bar-options-save):
5163         Add display-line-numbers-type.
5165         * lisp/menu-bar.el (menu-bar-options-save):
5166         Add global-display-line-numbers-mode.  (Bug#28396)
5168         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
5170 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
5172         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
5174         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
5175         (ruby-flymake-rubocop):
5176         Extract the common part as ruby-flymake--helper.
5177         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
5178         variable instead.
5180 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
5182         Add Rubocop Flymake backend
5184         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
5185         Inline the value.  There are no known substitutes.
5186         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
5187         the docstring.
5188         (ruby-flymake-use-rubocop-if-available): New option.
5189         (ruby--rubocop-flymake-proc): New variable.
5190         (ruby-rubocop-config): New option.
5191         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
5192         (ruby-mode): Use `ruby-flymake-auto'.
5194 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
5196         Update nt/INSTALL.W64 (Bug#28601)
5198         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
5199         suggestion about modifying PATH to...
5200         (Test Emacs): ... here.
5201         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
5202         (Troubleshooting): New section, includes suggestion to check
5203         PKG_CONFIG_PATH.
5205 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
5207         Remove incorrect NEWS item about VC state indicator (Bug#28817)
5209         * etc/NEWS (VC and related modes): Remove news item about the VC
5210         state indicator.  This should have been done with commit 7882dc6
5211         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
5213 2017-11-21  Glenn Morris  <rgm@gnu.org>
5215         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
5217 2017-11-21  Alan Mackenzie  <acm@muc.de>
5219         Make c-defun-name analyze more thoroughly a function type which is a struct
5221         This fixes bug #29293.
5223         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
5224         encountered, check whether it is the return type of a function rather than a
5225         declaration of the struct itself.  Similarly adapt the cond arm which deals
5226         with functions properly to recognize struct return types.
5228 2017-11-21  Glenn Morris  <rgm@gnu.org>
5230         Avoid bogus abbreviated file names if HOME changes
5232         * lisp/files.el (abbreviate-file-name):
5233         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
5234         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
5236 2017-11-21  Glenn Morris  <rgm@gnu.org>
5238         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
5240 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
5242         Fix erc keep-place module with new defaults (Bug#29111)
5244         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
5245         keep-place to continue working with
5246         switch-to-buffer-preserve-window-point set to t, the new default.
5248 2017-11-20  Alan Third  <alan@idiocy.org>
5250         Add window divider faces to NS (bug#29353)
5252         * src/nsterm.m (ns_draw_window_divider): Use
5253         window-divider-first-pixel and window-divider-last-pixel faces.
5255 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5257         * src/keyboard.c: Undo last change, meant for master only
5259 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
5261         Fix Bug#29149
5263         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
5264         backup file names.
5265         (tramp-handle-find-backup-file-name):
5266         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
5268 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
5270         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
5272         * src/xterm.c (x_draw_window_divider):
5273         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
5274         drawing three-pixel high horizontal dividers (Bug#29353).
5276         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
5277         Third.
5279 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
5281         MH-E: don't automatically download external-body parts
5283         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
5284         mm-automatic-display-p to verify that a part should be
5285         displayed before doing the inline checks (SF#475).
5287 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
5289         Further fix for Bug#29291
5291         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
5292         Check for local ACL support.  (Bug#29291)
5294 2017-11-19  Alan Third  <alan@idiocy.org>
5296         Fix divider frame params on NS (bug#29352)
5298         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
5299         bottom-divider-width parameters.
5301 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5303         Spelling fixes
5305         * lisp/help-fns.el (help-fns--analyze-function):
5306         Rename from help-fns--analyse-function.
5307         All uses changed.
5309 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
5311         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
5313         (read_key_sequence): Recompute first_event
5314         after replay_sequence, since it might have changed (bug#29104).
5316 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
5318         Don't let delete_frame select a tooltip frame (Bug#27647)
5320         * src/frame.c (delete_frame): Don't select a tooltip
5321         frame. (Bug#27647)
5323 2017-11-18  Alan Mackenzie  <acm@muc.de>
5325         Filter obtrusive events in help-read-key-sequence.
5327         This fixes most of bug #29272.
5329         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
5330         discarding any events (such as <help-echo>) received in this time, before
5331         polling for the double-click (etc.) events which may follow.  This fixes the
5332         infinite loop which occurred whwn <help-echo> events triggered a sit-for
5333         whilst handling menu events.
5335 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
5337         Fix symlink flag in tramp-gvfs-handle-file-attributes
5339         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
5340         Set proper symlink file mode flag.
5342 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
5344         Fix bug in tramp-handle-file-truename
5346         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
5348         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
5349         relative symbolic links.
5351 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5353         Fix a typo in doc string of electric-indent-functions-without-reindent
5355         * lisp/electric.el (electric-indent-functions-without-reindent):
5356         Doc fix.  (Bug#29304)
5358 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5360         Avoid assertion violations in echo_area_display
5362         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
5363         area if the selected-frame's mini-window is nil.  (Bug#27647)
5365 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5367         Fix case-folding in Occur
5369         * lisp/replace.el (occur-engine): Bind case-fold-search in each
5370         buffer we search.  (Bug#29254)
5372 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
5374         Fix quick-calc in C mode with hex values
5376         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
5377         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
5378         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
5379         for the details.
5381 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
5383         Improve documentation of dired-next/prev-marked-file
5385         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
5386         Doc fixes.  (Bug#29340)
5388 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5390         Prevent aborts in line-move-visual
5392         * src/indent.c (line_number_display_width): Avoid assertion
5393         violations in init_iterator when the window's buffer was
5394         temporarily switched without updating window-start.  (Bug#29326)
5396 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5398         More fixes in src/.gdbinit
5400         * src/.gdbinit (pwinx): Update to match 'struct window'.
5401         (pcursorx): Use "." instead of "->" because the argument is a
5402         struct, not a pointer.
5404 2017-11-17  Robert Pluim  <rpluim@gmail.com>
5406         Document how to enter whitespace when using grep-read-files
5408         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
5409         how to enter whitespace when using grep-read-files.  (Bug#29303)
5410         * lisp/progmodes/project.el (project-find-regexp): Likewise.
5411         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
5413 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
5415         Fix .gdbinit following lisp.h changes
5417         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
5418         (xprintstr): Adapt to latest changes in Lisp object C structures.
5419         (Bug#29332)
5421 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
5423         * lisp/simple.el (shell-command): Doc fixes.
5425 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
5427         Fix marker adjustment for undo (Bug#29118)
5429         * lisp/simple.el (primitive-undo): Compare marker against absolute
5430         value of POS, because the sign of POS is irrelevant to markers.
5432 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
5434         Fix Bug#28139
5436         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
5437         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
5438         (tramp-remote-process-environment): Document their special handling.
5439         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
5440         initial remote shell, so that it is also aware of the environment
5441         in which it is operating.  (Bug#28139)
5443 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
5445         Fix Bug#29291
5447         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
5448         Preserve permissions when copying.  (Bug#29291)
5450 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
5452         Fix Bug#2928
5454         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
5455         Enhance test.  (Bug#29287)
5456         (tramp-test44-delay-load): Fix for older Emacsen.
5458 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
5460         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
5462         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
5463         'select-window' events to make it work with
5464         'mouse-autoselect-window'.
5466 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
5468         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
5470         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
5472 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
5474         Fix cookie handling (bug#29282)
5476         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
5477         Regard a Set-Cookie header as it contains a single cookie;
5478         prefer Max-Age to Expires and convert it to Expires;
5479         remove support for old time string styles (bug#29282).
5481 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
5483         Improve documentation of Edebug and macros
5485         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
5486         discussion of when it might be necessary to find and evaluate macro
5487         specifications before instrumenting.
5488         (Specification List): Clarify what "defining form" means to Edebug
5489         and when 'def-form' or 'def-body' should be used instead of 'form'
5490         or 'body'.
5492 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5494         Port to IBM xlc 12.01
5496         Work around a compiler bug by using a separate enum for alignment.
5497         * src/alloc.c (roundup_size): Declare in a separate enum.
5499 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5501         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
5503         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
5504         needed, since we no longer rely on __attribute__ ((aligned (8))).
5505         All uses removed.
5506         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
5507         (lisp_to_value): Simplify now that we no longer need to worry
5508         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
5510 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5512         Use alignas to fix GCALIGN-related bugs
5514         Use alignas and unions to specify alignments of objects needing
5515         addresses that are at least a multiple of GCALIGNMENT.  Using
5516         these standard C facilities should be safer than relying on ad hoc
5517         and poorly-understood features like GCC’s __attribute__
5518         ((aligned (N))), the root cause for recent porting bugs like
5519         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
5520         supports alignas for pre-C11 platforms.  I have tested this on Sun
5521         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
5522         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
5523         x86-64 and x86).
5524         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
5525         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
5526         now properly aligned.  All uses changed.
5527         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
5528         member; this is simpler and safer than casting a pointer that
5529         might not be aligned properly.
5530         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
5531         Lisp_Symbol is aligned properly.  All uses replaced with struct
5532         Lisp_Symbol.
5533         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
5534         it can cause the natural alignment to be ignored.  All uses
5535         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
5536         described below.
5537         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
5538         Change definition from ‘struct TAG { MEMBERS };’ to
5539         ‘struct TAG { union { struct { MEMBERS } s; char alignas
5540         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
5541         to have an alignment that at least max (GCALIGNMENT, N) where N is
5542         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
5543         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
5544         anyway.  Verify that the resulting ‘struct TAG’ is properly
5545         aligned for Emacs.
5546         (union vectorlike_header): New member ‘gcaligned’ to guarantee
5547         that this type, and its containing types like ‘struct Lisp_Subr’,
5548         ‘struct buffer’ and ‘struct thread_state’, are all properly
5549         aligned for Emacs.
5550         (struct Lisp_String): New union member ‘next’, for the benefit
5551         of NEXT_FREE_LISP_STRING.
5552         (union Aligned_Cons, union Aligned_String): Remove.  All uses
5553         replaced by struct Lisp_Cons and struct Lisp_String, since they
5554         are now properly aligned.
5555         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
5556         assume struct Lisp_Cons and struct Lisp_String are properly
5557         aligned.
5559 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
5561         Change vectorlike from struct to union
5563         * src/lisp.h (vectorlike_headed): Change from struct to union.
5564         All uses changed.  Since it has only one member, this does not
5565         change semantics.  This is designed to simplify future changes
5566         needed to fix bugs like Bug#29040.  All uses changed.
5568 2017-11-12  Tom Tromey  <tom@tromey.com>
5570         Don't enable cursor-sensor-mode in mhtml-mode
5572         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
5573         string.
5574         (mhtml-mode): Don't call cursor-sensor-mode.
5576 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
5578         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
5580 2017-11-12  João Távora  <joaotavora@gmail.com>
5582         Unbreak interactive run of a flymake test (bug#29267)
5584         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
5585         technique used here.
5587         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
5588         Let-bind abbreviated-home-dir.
5590 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
5592         Fix Bug#29225
5594         * src/fileio.c (Fset_file_acl): Report error only when
5595         acl_errno_valid returns true.  (Bug#29225)
5597         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
5598         (tramp-test25-file-selinux): New tests.
5599         (tramp-test26-file-name-completion, tramp-test27-load)
5600         (tramp-test28-process-file, tramp-test29-start-file-process)
5601         (tramp-test30-interrupt-process, tramp-test31-shell-command)
5602         (tramp-test32-environment-variables)
5603         (tramp-test32-environment-variables-and-port-numbers)
5604         (tramp-test33-explicit-shell-file-name)
5605         (tramp-test34-vc-registered)
5606         (tramp-test35-make-auto-save-file-name)
5607         (tramp-test36-find-backup-file-name)
5608         (tramp-test37-make-nearby-temp-file)
5609         (tramp-test38-special-characters)
5610         (tramp-test38-special-characters-with-stat)
5611         (tramp-test38-special-characters-with-perl)
5612         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
5613         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
5614         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
5615         (tramp-test41-asynchronous-requests)
5616         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
5617         (tramp-test44-delay-load, tramp-test45-unload): Rename.
5619 2017-11-12  Alan Mackenzie  <acm@muc.de>
5621         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
5623         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
5624         for an open brace at EOB and nested braces inside an unclosed brace block.
5626 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
5628         Merge from Gnulib
5630         This incorporates:
5631         2017-11-11 faccessat: port to macOS (Bug#29231)
5632         2017-11-05 fstatat: pacify GCC on unusual platform
5633         * build-aux/config.guess, build-aux/config.sub:
5634         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
5635         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
5636         Copy from Gnulib.
5637         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5639 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
5641         Pacify GCC when configured --with-x-toolkit=no
5643         Without these changes, Emacs does not build on Fedora 26 x86-64
5644         when configured --with-x-toolkit=no --enable-gcc-warnings.
5645         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
5646         * src/xterm.c (x_dispatch_event): Define only if
5647         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
5649 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
5651         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
5653 2017-11-12  João Távora  <joaotavora@gmail.com>
5655         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
5657         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
5658         more eob corner cases.
5660         * test/lisp/progmodes/flymake-tests.el
5661         (eob-region-and-trailing-newline): New test.
5663 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
5665         Keep Man sections in natural order (bug#28998)
5667         * lisp/man.el (Man-build-section-alist): Reverse sections.
5669 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5671         * lisp/minibuffer.el: Install a workaround for bug#16274
5673         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
5674         error when `md` is applied to another table.
5676 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
5678         Fix comparisons with tip_frame in GTK builds
5680         * src/xterm.c (x_update_begin, x_new_font):
5681         * src/xfns.c (Fx_display_monitor_attributes_list):
5682         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
5683         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
5685 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
5687         Improve the documentation of M-n for entering file names
5689         * lisp/files.el (find-file, find-file-other-window)
5690         (find-file-other-frame): Mention file-name-at-point-functions in
5691         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
5692         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
5694         * doc/emacs/mini.texi (Minibuffer History): Document
5695         file-name-at-point-functions and its effect on M-n when typing
5696         file names in the minibuffer.
5697         * doc/emacs/files.texi (File Names):
5698         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
5699         "Minibuffer History", where special features of M-n regarding
5700         files are described.
5702 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
5704         Fix desktop auto-save timer when linum-mode is used
5706         * lisp/desktop.el (desktop-read): Use toplevel value of
5707         window-configuration-change-hook when deciding whether desktop
5708         auto-saving is enabled.  Suggested by Peter Neidhardt
5709         <pe.neidhardt@googlemail.com>.  (Bug#28945)
5711 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
5713         Fix "C-h k" in xterm-mouse-mode
5715         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
5716         xterm-mouse-mode by calling read-key-sequence-vector instead of
5717         read-event.  (Bug#29150)
5719 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
5721         Fix off-by-1 bug in --enable-checking=stringbytes
5723         Evidently nobody builds Emacs with --enable-checking=all,
5724         which is no surprise as it is so slow as to be unusable nowadays.
5725         Perhaps we should remove the slowest checks, or move them into
5726         another category, or speed them up, or something.
5727         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
5728         error in size calculation, which caused a failure when
5729         --enable-checking=stringbytes was used.  I introduced this bug in
5730         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
5731         members to GCC + valgrind".
5733 2017-11-10  Alan Mackenzie  <acm@muc.de>
5735         Correct the indentation of C99's compound literals.
5737         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
5738         if there is only syntactic whitespace in a brace block, it is regarded as a
5739         statement block.  Also, if there is no semicolon or comma delimiter, treat as
5740         a statement block when there is a keyword.
5741         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
5742         when its contents indicate a brace block.
5744 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
5746         Improve the doc string of 'dired-isearch-filter-filenames'
5748         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
5749         (Bug#29215)
5751 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
5753         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
5755 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
5757         Fix display of line numbers in GTK builds
5759         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
5760         tip_frame is indeed a tooltip frame, before disabling line numbers
5761         on it.  (Bug#27647)
5763         * src/dispextern.h (tip_frame): Add commentary describing the
5764         kludgey usage of this variable in GTK builds.
5766 2017-11-10  João Távora  <joaotavora@gmail.com>
5768         Fix previous change to flymake-diag-region (bug#29174)
5770         * lisp/progmodes/flymake.el (flymake-diag-region):
5771         Pass line and col to commit.
5773 2017-11-09  João Távora  <joaotavora@gmail.com>
5775         flymake-diag-region really returns nil if region is invalid (bug#29174)
5777         Reported by Lele Gaifax <lele@metapensiero.it>.
5779         * lisp/progmodes/flymake.el (flymake-diag-region): Really
5780         return nil if the region is invalid.
5782 2017-11-09  João Távora  <joaotavora@gmail.com>
5784         Flymake correctly highlights whole last line if eob (bug#29201)
5786         If a line/column pair indicates an end-of-buffer position, flymake
5787         should behave like the case where the last line of the buffer is
5788         referenced without a column indication.  This behavior is currently
5789         to highlight the whole last line.
5791         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
5792         conditions of fallback to the fallback-eol local function.
5794 2017-11-09  João Távora  <joaotavora@gmail.com>
5796         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
5798         The function checkdoc-current-buffer may error if there are unbalanced
5799         parens, for example, but this shouldn't disable the
5800         elisp-flymake-checkdoc backend.
5802         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
5803         ignore-errors.
5805 2017-11-09  João Távora  <joaotavora@gmail.com>
5807         Sort entries of the Flymake diagnostics buffer (bug#29175)
5809         Reported by Lele Gaifax <lele@metapensiero.it>.
5811         * lisp/progmodes/flymake.el
5812         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
5814 2017-11-09  Alan Mackenzie  <acm@muc.de>
5816         Correctly indent C++14 brace lists which are a second argument to a function.
5818         In particular, don't indent contained brace lists in "staircase" fashion.
5819         This fixes bug #28623.
5821         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
5822         testing for being enclosed in parens, recognize also a brace directly
5823         following a comma, as well as a brace being the first thing inside the paren.
5824         Enhance the return value, by indicating when we're directly inside an open
5825         paren.
5826         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
5827         whether we will accept a bracelist directly inside an open parenthesis.
5828         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
5829         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
5830         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
5831         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
5832         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
5833         At CASE 9, call that function with extra argument t.
5835 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
5837         Fix redisplay of overlay-arrows on GUI frames
5839         * src/xdisp.c (try_window_reusing_current_matrix)
5840         (try_cursor_movement): Disallow these optimizations if the buffer
5841         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
5843 2017-11-09  João Távora  <joaotavora@gmail.com>
5845         Protect Flymake tests against older Ruby and Perl (bug#29187)
5847         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
5848         for the error from the bottom.
5849         (ruby-backend): Protect against situation of bug#29187
5851 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5853         Fix URL cookie expiration bug
5855         Problem reported by Damien Cassou (Bug#29223).
5856         * lisp/url/url-cookie.el (url-cookie-expired-p):
5857         Fix typo in previous change, which caused unexpired cookies
5858         to be treated as expired and vice versa.
5860 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5862         Use GCALIGNED properly for GCC
5864         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
5865         immediately follow the ‘struct’ keyword when aligning a structure.
5866         The attribute silently does not work if it follows a tag after the
5867         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
5868         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
5869         * lib-src/make-docfile.c (close_emacs_globals):
5870         * src/buffer.c (buffer_defaults, buffer_local_symbols):
5871         * src/lisp.h (DEFUN):
5872         * src/thread.c (main_thread):
5873         Put 'GCALIGNED' immediately after 'struct'.
5875 2017-11-09  Glenn Morris  <rgm@gnu.org>
5877         In f90.el, set fill-paragraph-function to a useful value
5879         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
5880         (f90-mode): Set fill-paragraph-function.
5881         (f90-fill-paragraph): New command.
5883 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
5885         Fix to 2fddfb7ce7
5887         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
5888           Fix bogus paren wrapping.
5890 2017-11-08  Glenn Morris  <rgm@gnu.org>
5892         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
5894 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
5896         Further workaround for faulty localtime() under macOS 10.6
5898         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
5899         when compiling on macOS 10.6 with a western time zone (a
5900         continuation of Bug#27736).  In particular, see:
5902         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
5904         and the first commit that attempted to work around this problem,
5905         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
5906         2017-09-30.
5908 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
5910         Handle object string name in eieio-persistent-convert-list-object
5912         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
5913           Starting to phase out the printing of object names in
5914           `object-write', handle either case.
5916 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
5918         Fix handling of nil PRED2 arg for completion-table-with-predicate
5920         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
5921         if strict is non-nil when pred2 is nil (Bug#27841).
5922         * test/lisp/minibuffer-tests.el
5923         (completion-table-with-predicate-test): Add a test for Bug#27841.
5925 2017-11-07  K. Handa  <handa@gnu.org>
5927         Describe Lao rendering problem
5929         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
5930         by OpenTyype font.
5932 2017-11-07  K. Handa  <handa@gnu.org>
5934         Fix docstring of arabic-shaper-ZWNJ-handling
5936         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
5937         the doctstring for addition of :set (bug#28312).
5939 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
5941         Handle single-line comments correctly (Bug#26049)
5943         * lisp/newcomment.el (comment-region-internal): Previously, the
5944         comment text had to contain at least one line break character for the
5945         ending extra line to be added.  Make the behavior more consistent by
5946         looking for end of line instead.
5947         (comment-region-internal): Remove trailing white space from the
5948         comment's initial line.
5950 2017-11-07  Glenn Morris  <rgm@gnu.org>
5952         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
5953         Clean up properly.
5955 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5957         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
5959 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
5961         Document new treatment of 'comment-auto-fill-only-comments'
5963         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
5964         manual.  Add description of 'comment-auto-fill-only-comments'.
5965         * etc/NEWS: Mention new treatment of
5966         'comment-auto-fill-only-comments'.
5968 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
5970         Do not load Tramp unless `tramp-mode' is non-nil
5972         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
5973         `tramp-mode' is non-nil.
5974         (tramp-unload-file-name-handlers): Unload also
5975         `tramp-autoload-file-name-handler'.
5977         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
5979 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
5981         Prefer `customize-set-variable' in tramp.texi
5983         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
5984         (Default Host, Remote shell setup, Auto-save and Backup)
5985         (Ad-hoc multi-hops, Frequently Asked Questions):
5986         Prefer `customize-set-variable' over `custom-set-variables'.
5988 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
5990         Fix last change in hscroll_window_tree
5992         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
5993         being disabled, set the frame's garbaged flag less eagerly.
5994         (Bug#29002)
5996 2017-11-05  Philipp Stephani  <phst@google.com>
5998         Ediff: add some missing documentation
6000         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
6001         (ediff-buffers3, ediff-merge-directories)
6002         (ediff-merge-directories-with-ancestor)
6003         (ediff-merge-directory-revisions)
6004         (ediff-merge-directory-revisions-with-ancestor)
6005         (ediff-windows-wordwise, ediff-windows-linewise)
6006         (ediff-regions-wordwise, ediff-regions-linewise)
6007         (ediff-merge-files, ediff-merge-files-with-ancestor)
6008         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
6009         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
6010         (ediff-patch-file, ediff-revision): Document missing arguments.
6011         (ediff-patch-buffer, ediff-revision): Add second space after
6012         period.
6013         (ediff-files-command, ediff3-files-command, ediff-merge-command)
6014         (ediff-merge-with-ancestor-command, ediff-directories-command)
6015         (ediff-directories3-command, ediff-merge-directories-command): Add
6016         documentation for the command line functions.
6018 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
6020         Support python virtualenv on w32 (Bug#24464)
6022         According to the virtualenv docs only POSIX systems follow the
6023         structure "/path/to/venv/bin/", while windows systems use
6024         "/path/to/venv/Scripts" for the location of the binary files, most
6025         importantly including the python interpreter (see:
6026         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
6027         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
6028         "/path/to/venv/Scripts" for `windows-nt' machines.
6030 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
6032         Improve dired deletion error handling (Bug#28797)
6034         * lisp/dired.el (dired-internal-do-deletions): Use
6035         `error-message-string' to produce a human readable error message.
6037 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
6039         Don't replace user input when completion prefix is empty (Bug#18951)
6041         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
6042         input if we produced a non-empty common completion stub.
6044 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
6046         Return non-nil from gnutls-available-p under GnuTLS 2.x
6048         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
6049         documentation of 'gnutls-available-p'.
6051         * etc/NEWS (GnuTLS): Mention the change in the value returned by
6052         'gnutls-available-p'.
6054         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
6055         2.x is available.  (Bug#29147)
6057 2017-11-05  João Távora  <joaotavora@gmail.com>
6059         Fix Flymake help-echo functions across windows (bug#29142)
6061         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
6062         with-selected-window.
6063         (flymake-goto-next-error): Call help-echo with a window and an
6064         overlay.
6066 2017-11-05  João Távora  <joaotavora@gmail.com>
6068         Add tests for Flymake backends for Ruby and Perl
6070         * test/lisp/progmodes/flymake-tests.el (perl-backend)
6071         (ruby-backend): New tests.
6072         (warning-predicate-rx-perl, warning-predicate-function-perl):
6073         Delete tests.
6075         * test/lisp/progmodes/flymake-resources/test.pl: Include an
6076         error the test file.
6078         * test/lisp/progmodes/flymake-resources/test.rb: file.
6080 2017-11-05  João Távora  <joaotavora@gmail.com>
6082         Add a Flymake backend for Perl
6084         Define a simple backend in perl-mode.el, which cperl-mode.el also
6085         uses.
6087         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
6088         flymake-diagnostic-functions.
6090         * lisp/progmodes/flymake-proc.el
6091         (flymake-proc-allowed-file-name-masks): Disable legacy backend
6092         for perl files.
6094         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
6095         defcustom.
6096         (perl--flymake-proc): New buffer-local variable.
6097         (perl-flymake): New function.
6098         (perl-mode): Add to flymake-diagnostic-functions.
6100 2017-11-05  João Távora  <joaotavora@gmail.com>
6102         Add a Flymake backend for Ruby
6104         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
6105         defcustom.
6106         (ruby--flymake-proc): New buffer-local variable.
6107         (ruby-flymake): New function.
6108         (ruby-mode): Add flymake-diagnostic-functions.
6110 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
6112         Add a Flymake backend for Python (bug#28808)
6114         Implement new Flymake backend with related customizable settings.
6116         * lisp/progmodes/python.el (python-flymake-command)
6117         (python-flymake-command-output-pattern)
6118         (python-flymake-msg-alist): New defcustom.
6119         (python--flymake-parse-output): New function, able to parse
6120         python-flymake-command output accordingly to
6121         python-flymake-command-output-pattern.
6122         (python-flymake): New function implementing the backend
6123         interface using python--flymake-parse-output for the real
6124         work.
6125         (python-mode): Add python-flymake to flymake-diagnostic-functions.
6127 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
6129         Allow "%" in Tramp host names
6131         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
6133         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
6135 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
6137         Use hybrid malloc for FreeBSD (Bug#28308)
6139         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
6140         using system malloc dumping does not work correctly (allocated data is
6141         invalid after dumping).
6142         * configure.ac: Set hybrid_malloc for freebsd.
6143         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
6145 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
6147         Add html-, mhtml- and python-mode support to semantic symref
6149         * lisp/cedet/semantic/symref/grep.el
6150         (semantic-symref-filepattern-alist): Fix the entry for
6151         'html-mode', which used a regexp-like syntax where only glob
6152         syntax is permitted.  As a result, 'xref-find-references' (M-?)
6153         can now find references in HTML files.  Also duplicate the same
6154         entry for the sake of 'mhtml-mode', and add a new one for
6155         'python-mode'.
6156         (semantic-symref-derive-find-filepatterns): In the documentation,
6157         clarify that returned patterns must follow the glob syntax.  Fix
6158         an 'if' test that always evaluates to nil.
6159         (semantic-symref-tool-grep):
6160         (semantic-symref-perform-search): Fix typos.
6162 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6164         Improve documentation of 'window-scroll-functions'
6166         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
6167         arguments of 'window-scroll-functions' functions.
6169         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
6171 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6173         Fix subtle problems in tabulated-list-mode with line numbers
6175         * lisp/emacs-lisp/tabulated-list.el
6176         (tabulated-list-watch-line-number-width): Call
6177         tabulated-list-init-header instead of tabulated-list-revert.
6178         (tabulated-list-window-scroll-function): New function.
6179         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
6180         on the buffer-local 'window-scroll-functions' list.
6182 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6184         Make gdb-non-stop-setting default to nil on MS-Windows
6186         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
6187         MS-Windows.
6189 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
6191         Fix gdb-mi prompt after "attach PID" command
6193         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
6194         gdb-first-done-or-error non-nil.  (Bug#29020)
6196 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6198         Fix doc string of 'window-configuration-change-hook'
6200         * src/window.c (syms_of_window) <window-configuration-change-hook>:
6201         Doc fix.  (Bug#29049)
6203 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6205         Improve documentation of window hooks
6207         * doc/lispref/windows.texi (Window Hooks): Fix the description of
6208         window-configuration-change-hook.  (Bug#29049)
6209         <run-window-scroll-functions, run-window-configuration-change-hook>:
6210         Document these functions.
6212 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
6214         Fix hscroll suspension after cursor motion
6216         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
6217         of the window when temporary suspension of hscrolling is
6218         disabled.  (Bug#29002)
6220 2017-11-03  Alan Mackenzie  <acm@muc.de>
6222         Introduce a function to CC Mode which displays the current function name
6224         Remove an erroneous interactive specification from two functions.
6226         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
6227         (c-defun-name, c-cpp-define-name): Remove interactive specification.
6229         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
6230         command.
6232         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
6233         command.
6235 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
6237         Fix typos in ediff-wind.el
6239         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
6240         Fix typos in commentary.  (Bug#29138)
6242 2017-11-03  João Távora  <joaotavora@gmail.com>
6244         Examine tex-chktex--process in the correct buffer
6246         As in other Flymake backends, the process sentinel might run in
6247         arbitrary buffers where this variable's value doesn't make sense.
6249         For a way to trigger a problem due to this, see discussion starting in
6250         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
6252         * lisp/textmodes/tex-mode.el (tex-chktex): Use
6253         with-current-buffer.
6255 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
6257         * nt/INSTALL.W64: Update to current mingw64 install instructions
6259 2017-11-03  João Távora  <joaotavora@gmail.com>
6261         Don't resignal errors in flymake-diag-region
6263         * lisp/progmodes/flymake.el (flymake-diag-region): Use
6264         flymake-log instead of flymake-error.
6266 2017-11-03  João Távora  <joaotavora@gmail.com>
6268         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
6270         This is like xref-goto-xref, but quits the *xref* window just before
6271         the user jump to ref.
6273         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
6274         value for SELECT.
6275         (xref-goto-xref): Take optional QUIT arg.
6276         (xref-quit-and-goto-xref): New command.
6277         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
6278         xref-quit-and-goto-xref.
6280         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
6281         *xref*.
6283         * etc/NEWS (Xref): Describe new binding.
6285 2017-11-03  João Távora  <joaotavora@gmail.com>
6287         Allow split-window-sensibly to split threshold in further edge case
6289         As a fallback, and to avoid creating a frame, split-window-sensibly
6290         would previously disregard split-height-threshold if the window to be
6291         split is the frame's root window.
6293         This change generalizes that: it disregards the threshold if the
6294         window to be split is the frame's only _usable_ window (it is either
6295         the only one, as before, or all the other windows are dedicated to
6296         some buffer and thus cannot be touched).
6298         This is required for the fix to bug#28814.
6300         * lisp/window.el (split-height-threshold): Adjust doc to match
6301         split-window-sensibly.
6302         (split-window-sensibly): Also disregard threshold if all other
6303         windows are dedicated.
6305 2017-11-03  João Távora  <joaotavora@gmail.com>
6307         Honor window-switching intents in xref-find-definitions (bug#28814)
6309         When there is more than one xref to jump to, and an *xref* window
6310         appears to help the user choose, the original intent to open a
6311         definition in another window or frame is remembered when the choice to
6312         go to or show a reference is finally made.
6314         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
6315         (xref--original-window-intent): New variable.
6316         (xref--original-window): Rename from xref--window and move up
6317         here for clarity.
6318         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
6319         (xref--show-location): Handle window selection decision here.
6320         (xref--window): Rename to xref--original-window.
6321         (xref-show-location-at-point): Don't attempt window management here.
6322         (xref--show-xrefs): Ensure display-action intent is saved.
6324 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
6326         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
6328 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6330         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
6332         Don't try to flymake-start within a buffer that doesn't exist any more.
6334 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
6336         Fix buffer name comparison in async shell-command
6338         * lisp/simple.el (shell-command): Keep track of output-buffer
6339         by its name, not by its object.  (Bug#28997)
6341 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6343         Change GCALIGNMENT back to an integer literal
6345         * src/lisp.h (GCALIGNMENT): Change it back to a macro
6346         that expands to a literal integer constant, for older GCC.
6347         I had mistakenly thought that only MSVC had the problem.
6348         Problem repored by Eli Zaretskii (Bug#29040#69).
6350 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6352         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
6354 2017-11-03  Hong Xu  <hong@topbug.net>
6356         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
6358         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
6359         function to generate the docstring for custom variables derived from
6360         pcomplete-* variables.
6361         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
6362         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
6363         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
6364         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
6365         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
6366         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
6367         (eshell-command-completion-function, eshell-cmpl-command-name-function)
6368         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
6369         to set the docstring.
6371 2017-11-02  Alan Third  <alan@idiocy.org>
6373         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
6375         * src/nsterm.m (EmacsScroller::mouseDown,
6376         EmacsScroller::mouseDragged): Take scroller buttons into account when
6377         calculating scroller knob position.
6379 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6381         Merge from Gnulib
6383         This incorporates:
6384         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
6385         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
6386         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
6387         * build-aux/config.guess, build-aux/config.sub:
6388         * lib/timespec.h, lib/unistd.in.h:
6389         Copy from Gnulib.
6391 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6393         Fix alignment portability problems
6395         Do not assume that the natural alignment of Lisp objects is a
6396         multiple of GCALIGNMENT.  This improves on the portability of the
6397         recent fix for Bug#29040.
6398         * lib-src/make-docfile.c (close_emacs_globals):
6399         * src/buffer.c (buffer_defaults, buffer_local_symbols):
6400         * src/lisp.h (DEFUN):
6401         * src/thread.c (main_thread):
6402         Use GCALIGNED, not alignas (GCALIGNMENT).
6403         * src/alloc.c (COMMON_MULTIPLE):
6404         Move back here from lisp.h, since it is no longer used elsewhere.
6405         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
6406         worry about MSVC.  Omit no-longer-needed consistency check.
6407         * src/thread.c (THREAD_ALIGNMENT): Remove.
6409 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
6411         Fix completion of colon after CSS property (Bug#29056)
6413         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
6414         ": ;" after completing a CSS property unless the rest of the line is
6415         empty.
6417 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
6419         * src/alloc.c (sweep_symbols): Tweak last change
6421         Avoid the double-free without the extra check.  Add an explanatory comment.
6423 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
6425         In frame parameters documentation mention desktop saving/restoring
6427         * doc/lispref/frames.texi (Frame Parameters): Mention that
6428         applications have to care about which parameters they want to
6429         get saved and restored by the desktop library.
6431 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
6433         Don't have frameset save the 'client' parameter (Bug#29067)
6435         * lisp/frameset.el (frameset-persistent-filter-alist): Never
6436         save 'client' parameter (Bug#29067).
6438 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
6440         Handle generic variables in cl-defgeneric Edebug spec
6442         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
6443         match (setf name) and replace incorrect cl-lambda-list with listp
6444         (Bug#27747).
6446 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
6448         Give a more sensible message if file-attributes fails (Bug#29070)
6450         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
6451         is a file if we fail to get anything from `file-attributes'.
6453 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
6455         Avoid wrong value from file-attributes on Linux kernel before 3.6
6457         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
6458         descriptors.  (bug#29070)
6460 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
6462         Fix customization of debugger-print-function (Bug#29077)
6464         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
6465         keyword has no effect for :type 'function, use :type '(choice ...)
6466         instead.
6468 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
6470         Avoid duplicate calls to xfree for the same pointer
6472         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
6473         pointer to a symbol's buffer-local value.  (Bug#29066)
6475 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
6477         Don't clobber docstrings of explicitly-defined mode hook variables
6479         * lisp/emacs-lisp/derived.el (define-derived-mode):
6480         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
6481         mode hook variable, do not clobber pre-existing docstrings.
6483 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
6485         Avoid fullscreen ediff control frames by default (Bug#29026)
6487         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
6488         Add parameter to avoid fullscreen control frames (Bug#29026).
6490 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
6492         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
6494         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
6495         properties to gaps (bug#29047).
6497 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
6499         Fix a typo in the ELisp manual
6501         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
6502         (Bug#29068)
6504 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
6506         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
6508         These fixes were suggested by Drew Adams.
6510         * src/window.c (Fminibuffer_selected_window): Disambiguate
6511         doc-string.
6512         * doc/lispref/minibuf.texi (Intro to Minibuffers)
6513         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
6514         the term "currently active minibuffer window".  Disambiguate
6515         documentation of `minibuffer-selected-window'.
6517 2017-10-30  Alan Mackenzie  <acm@muc.de>
6519         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
6521         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
6522         position for BASE is below point-min, scan forward to the end of the current
6523         literal.
6524         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
6525         being at point-min.
6527 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
6529         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
6531         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
6532         Reported in https://emacs.stackexchange.com/questions/36337.
6534 2017-10-29  Tom Tromey  <tom@tromey.com>
6536         Extend mhtml submode region when in comment
6538         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
6539         submode when start happens to be in a comment.
6541 2017-10-29  Tom Tromey  <tom@tromey.com>
6543         Fix mthml submode lighting at end of buffer
6545         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
6546         buffer correctly.
6548 2017-10-29  Tom Tromey  <tom@tromey.com>
6550         Remember more variables in mhtml-mode
6552         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
6553         "completion-" and "major-mode".
6554         (mhtml--variable-prefix): Remove "major-mode".
6556 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6558         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
6560 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
6562         Fix minibuffer window related docs and strings (Bug#28978)
6564         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
6565         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
6566         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
6567         description of `minibuffer' parameter.
6568         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
6569         entries and partly rewrite section.
6570         (Minibuffer Misc): Clarify description of
6571         `minibuffer-selected-window'.
6572         * etc/NEWS: Mention new semantics of 'minibuffer' frame
6573         parameter.
6575 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
6577         Add ChkTeX flymake backend for latex-mode
6579         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
6580         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
6581         (latex-mode): Add backend to flymake-diagnostic-functions.
6582         (tex-chktex--process): New variable.
6583         (tex-chktex-command, tex-chktex): New functions.
6585 2017-10-29  Glenn Morris  <rgm@gnu.org>
6587         Fix doc typos
6589         * lisp/simple.el (line-move-ignore-invisible):
6590         * lisp/sort.el (sort-regexp-fields):
6591         * lisp/cedet/ede.el (project-add-file):
6592         * lisp/gnus/message.el (message-bogus-recipient-p):
6593         * lisp/international/mule.el (define-coding-system):
6594         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
6595         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
6596         (scheme-interaction-mode, scheme-debugger-mode)
6597         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
6599 2017-10-29  Glenn Morris  <rgm@gnu.org>
6601         Fix some duplicate word typos
6603         * doc/misc/ede.texi (ede-target):
6604         * doc/misc/flymake.texi (Using Flymake):
6605         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
6607 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6609         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
6611 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6613         Avoid segfaults in 64-bit Windows builds
6615         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
6616         * src/thread.c (THREAD_ALIGNMENT): New macro.
6617         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
6619 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6621         Fix conversion of pixel coordinates to buffer position
6623         * src/dispnew.c (buffer_posn_from_coords): Adapt to
6624         auto-hscroll-mode == current-line.
6626 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6628         Fix doc strings in desktop.el
6630         * lisp/desktop.el (desktop-auto-save-timeout)
6631         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
6633 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6635         Add Index to ERT manual
6637         * doc/misc/ert.texi: Add @syncodeindex directives.
6638         (Index): New node.
6639         (Top): Add Index to the top-level menus.
6640         Add index entries to all nodes.
6642 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6644         Make manuals and NEWS consistent
6646         * etc/NEWS: Fix markings on several entries, and rearrange others
6647         as needed.
6649         * doc/emacs/programs.texi (Hideshow): Document the new
6650         outline-like bindings.
6651         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
6653 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
6655         Don't allow (minibuffer-window-active-p nil) to return t
6657         * lisp/window.el (minibuffer-window-active-p): Return t
6658         only if WINDOW is a live window.
6660 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
6662         Clarify obsolescence message for 'whitespace-tab'
6664         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
6665         message more clear about the replacement.
6667 2017-10-28  Glenn Morris  <rgm@gnu.org>
6669         Fix some duplicate words typos
6671         * lisp/erc/erc.el (erc-hide-current-message-p):
6672         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
6673         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
6674         * doc/lispref/functions.texi (Defining Functions):
6675         * doc/lispref/os.texi (Terminal-Specific):
6676         * doc/misc/sem-user.texi (Analyzer Debug):
6677         * doc/misc/srecode.texi (Special Variables): Fix typos.
6679 2017-10-28  Glenn Morris  <rgm@gnu.org>
6681         * lisp/button.el (button-activate): Fix doc typo.
6683         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
6685 2017-10-28  Glenn Morris  <rgm@gnu.org>
6687         Fix some doc typos
6689         * lisp/calendar/todo-mode.el (todo-next-item)
6690         (todo-previous-item, todo-toggle-item-header):
6691         * lisp/window.el (move-to-window-group-line):
6692         * src/editfns.c (Fformat):
6693         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
6694         Fix doc typos.
6696 2017-10-27  Ken Brown  <kbrown@cornell.edu>
6698         Fix startup display on Cygwin
6700         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
6701         forces input to be read.  (Bug#24091)
6703 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
6705         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
6707         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
6709 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
6711         Improve documentation of how faces are applied to display stings
6713         * doc/lispref/display.texi (Displaying Faces): Describe how the
6714         faces of the "underlying" text affect overlay and display strings.
6715         (Display Margins): Add a cross-reference to "Displaying Faces".
6717 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
6719         Improve pixel-scroll-mode
6721         Scroll vertically by number of pixels returned by
6722         'frame-char-height' with or without horizontally scrolled.
6723         (Bug#28922)
6725         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
6726         by number of pixels returned by 'frame-char-height'.
6727         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
6728         move cursor to avoid unexpected jump.
6729         (pixel-scroll-down): Scroll by 'frame-char-height'.
6730         (pixel-bob-at-top-p): Consider number of pixels that is about to
6731         scroll.
6732         (pixel-posn-y-at-point): Consider existence of an overlay string.
6733         Return nil when horizontally scrolled.
6734         (pixel-point-at-top-p): Consider number of pixels that is about to
6735         scroll. Use different algorithm when horizontally scrolled.
6736         (pixel-point-at-bottom-p): Consider number of pixels that is about
6737         to scroll. Return nil when horizontally scrolled.
6738         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
6739         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
6740         horizontally scrolled.
6741         (pixel-line-height): Call 'pixel-visual-line-height' instead of
6742         'line-pixel-height'.
6743         (pixel-visual-line-height): New function to return height in pixels
6744         of text line where cursor is with or without horizontally scrolled,
6745         considering response of display engine.
6746         (pixel-visible-pos-in-window): New function to return position of
6747         a char shown on text line where cursor is on screen with or without
6748         horizontally scrolled.
6750 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
6752         Support Certification Authority Authorization in dns-mode.el
6754         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
6755         (Bug#28911)
6757 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
6759         Improve documentation of set-default-file-modes
6761         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
6763         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
6764         the argument of set-default-file-modes are used for setting file
6765         permissions.
6767 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
6769         Fix documentation of `newsticker-new-item-functions' (bug#29023).
6771         * lisp/net/newst-backend.el (newsticker-new-item-functions),
6772         (newsticker-new-item-functions-sample),
6773         (newsticker-download-enclosures): Fix docstring, rename
6774         variable feed to feedname (bug#29023).
6776         * doc/misc/newsticker.texi (Automatic Processing)
6777         (Automatic Processing): Fix documentation of
6778         `newsticker-new-item-functions' (bug#29023).
6780 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
6782         Require seq in rmc.el
6784         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
6785         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
6787 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
6789         Make an example code introduced in the Gnus info work (bug#29008)
6791         You can find it in the bottom of (info "(gnus)Foreign Groups").
6792         NOTE: this change is worth being merged to the trunk.
6794         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
6795         Allow a string for bug# (bug#29008).
6797 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
6799         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
6801         NOTE: *DO NOT* merge this change to the trunk.
6803         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
6804         (gnus-read-ephemeral-bug-group): Make it work for any number of times
6805         for the case `url-automatic-caching' is set (bug#29008).
6807 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6809         Port thread.c to OpenBSD ARM
6811         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
6812         * src/thread.c (main_thread): Align to GCALIGNMENT.
6814 2017-10-26  Alan Mackenzie  <acm@muc.de>
6816         Fix another "wrong side of point" error in CC Mode.
6818         This fixes (a follow-up to) bug #28850.
6819         A internal generated form for scanning text to fontify had a LIMIT parameter.
6820         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
6821         allowing point to move beyond the original LIMIT, and to create the wrong side
6822         error.  Fix it by checking point is not beyond LIMIT in the outer context
6823         before using it.
6825         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
6826         parameter CHECK-POINT which, when non-nil, directs the function to generate a
6827         check on point.
6828         (c-make-font-lock-context-search-function): Invoke the above function with new
6829         argument value t.
6831 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
6833         Fix Bug#28959
6835         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
6836         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
6837         hop to backup file name.  (Bug#28959)
6839         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
6840         New test.
6841         (tramp-test35-make-nearby-temp-file)
6842         (tramp-test36-special-characters)
6843         (tramp-test36-special-characters-with-stat)
6844         (tramp-test36-special-characters-with-perl)
6845         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
6846         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
6847         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
6848         (tramp-test39-asynchronous-requests)
6849         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
6850         (tramp-test42-delay-load, tramp-test43-unload): Rename.
6852 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6854         Fix duplicate .o file on QNX
6856         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
6857         Problem reported by Elad Lahav in:
6858         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
6860 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
6862         Fix two js indentation problems
6864         Fix intentation problems reported in
6865         https://github.com/mooz/js2-mode/issues/463.
6866         * lisp/progmodes/js.el (js--continued-expression-p):
6867         Check syntax state after /.
6868         (js--multi-line-declaration-indentation):
6869         Check syntax state before "const".
6871 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
6873         Update documentation for windows build
6875         * admin/nt/dist-build/README-scripts: New File.
6877 2017-10-25  Alan Mackenzie  <acm@muc.de>
6879         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
6881         The cause was a scanning over a bracket pair taking us beyond the supplied
6882         LIMIT parameter in c-forward-declarator.
6884         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
6885         (point) limit) whilst dealing with tokens after the declared identifier.
6887         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
6888         argument to `c-forward-declarator' (twice), since we want to fontify up till
6889         the end of a declarator, not an arbitrary jit-lock chunk end.
6891 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6893         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
6895         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
6896         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
6897         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
6899 2017-10-25  Alan Third  <alan@idiocy.org>
6901         Fix non-native fullscreen on NS (bug#28872)
6903         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
6904         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
6905         of frame.
6907 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
6909         Fix Bug#28982
6911         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
6913         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
6914         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
6916         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
6918 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
6920         Fix windows build errors
6922         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
6923           64 bit first
6925 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
6927         Fix compile warning for non-w32 builds
6929         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
6930         binding", the non-w32 builds would treat the undeclared
6931         w32-collate-ignore-punctuation variable as lexical.
6932         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
6934 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
6936         Display commit in package description, if available (Bug#28637)
6938         MELPA includes a :commit field in its
6939         packages (https://github.com/melpa/package-build/pull/6).  You can use
6940         this to tell if MELPA has processed a recently-merged change.  This
6941         commit adds that metadata to the package description buffer.
6943         * lisp/emacs-lisp/package.el: Display commit in package description.
6945 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6947         Port to QNX
6949         Simplified version of a patch proposed by Elad Lahav in:
6950         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
6951         which is based on a previous patch I proposed in:
6952         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
6953         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
6954         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
6955         Set appropriately for QNX.
6956         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
6957         (unexec): Check for sbrk failure, and fall back on old BSS end.
6959 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
6961         * configure.ac: Tweak libcurses diagnostic.
6963 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
6965         Scripts to automate windows binary distribution
6967         * admin/nt/dist-build/README-windows-binaries,
6968           admin/nt/dist-build/build-dep-zips.py,
6969           admin/nt/dist-build/build-zips.sh: New Files
6971 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
6973         Fix Edebug specs for map-let and with-maps-do
6975         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
6976         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
6978 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
6980         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
6982         (tramp-test42-unload): Rename.
6984 2017-10-24  Glenn Morris  <rgm@gnu.org>
6986         * admin/authors.el (authors-canonical-author-name):
6987         Ignore name issues in "lax" ChangeLogs.
6989         * test/lisp/progmodes/sql-tests.el
6990         (sql-tests-postgres-list-databases-error): Silence compiler.
6992 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
6994         Further work on Bug#28889
6996         * lisp/net/tramp.el (tramp-set-syntax): New defun.
6997         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
6999 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7001         Improve Tramp backward compatibility
7003         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
7004         New defmacro.
7005         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
7007 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
7009         Improve backward compatibility of tramp-tests.el
7011         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
7012         (tramp-test41-unload): Skip unless Emacs >= 26.
7014 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
7016         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
7018         * lisp/window.el (window-normalize-buffer): Fix case where
7019         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
7020         doc-string (Bug#28947).
7021         (window-normalize-frame, window-normalize-window): Fix
7022         doc-strings (Bug#28947).
7024 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7026         Port to OpenIndiana
7028         Problem reported by Nelson H. F. Beebe (Bug#28893).
7029         Also see Bug#23748, Bug#9736, and Bug#5735.
7030         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
7031         since OpenIndiana libtermcap lacks tparm.
7033 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
7035         Don't fill keywords after Emacs Lisp docstring
7037         This approach does mean that keywords that have spaces before them
7038         inside of docstrings aren't filled, but I think this is should be fine
7039         until Bug#28937 is fixed.
7041         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
7042         paragraph-start unconditionally, but require that it follows at least
7043         one space.  (Bug#24622)
7044         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
7045         Bug#7751.
7047 2017-10-22  Alan Mackenzie  <acm@muc.de>
7049         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
7051         Use the new function directly in several places where c-forward-token-2
7052         wouldn't move over the last token in the buffer.  This caused an infinite loop
7053         in c-restore-<>-properties.
7055         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
7056         extracted from c-forward-token-2.
7057         (c-forward-token-2): Refactor, calling the new function.
7058         (c-restore-<>-properties): Fix infinite loop.
7059         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
7060         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
7061         of c-forward-token-2.
7063         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
7064         place of c-forward-token-2.
7066         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
7067         function directly in place of c-forward-token-2.
7069 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
7071         Avoid unnecessary rounding errors in timestamps
7073         Avoid the rounding errors of float-time when it’s easy.  E.g.,
7074         replace (< (float-time a) (float-time b)) with (time-less-p a b).
7075         * lisp/desktop.el (desktop-save):
7076         * lisp/ecomplete.el (ecomplete-add-item):
7077         * lisp/epg.el (epg-wait-for-completion):
7078         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
7079         * lisp/image-dired.el (image-dired-get-thumbnail-image)
7080         (image-dired-create-thumb-1):
7081         * lisp/info.el (info-insert-file-contents):
7082         * lisp/ls-lisp.el (ls-lisp-format-time):
7083         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
7084         (ange-ftp-verify-visited-file-modtime):
7085         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
7086         * lisp/textmodes/remember.el (remember-store-in-mailbox):
7087         * lisp/url/url-cookie.el (url-cookie-expired-p):
7088         Bypass float-time to avoid rounding errors.
7090         * lisp/files.el (dir-locals-find-file):
7092 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
7094         Fix xdg timestamp error on 32-bit Emacs
7096         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
7097         not an integer.  This avoids signaling an error on 32-bit
7098         Emacs, where timestamps typically do not fit into fixnums
7099         (Bug#28921).
7101 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
7103         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
7105         * test/lisp/emacs-lisp/bytecomp-tests.el
7106         (bytecomp-tests--test-no-warnings-with-advice): New test.
7108 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7110         Another fix for unsafe directory error message (Bug#865)
7112         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
7113         current user's for the wrong owner case.  Show expanded file name in
7114         error message.
7116 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7118         Handle https url for debbugs mbox (Bug#28831)
7120         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
7121         gnus-bug-group-download-format-alist was updated to use https for the
7122         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
7123         http links.
7124         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
7125         url-parse functions to get the host name, instead of ad-hoc regexps.
7127 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
7129         Ignore string properties when saving eshell history (Bug#28700)
7131         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
7132         before inserting history strings.
7133         (eshell-read-history): Remove obsolete comment.
7134         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
7135         New test.
7137 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
7139         Fix Bug#28889
7141         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
7142         (tramp-completion-file-name-regexp-default)
7143         (tramp-completion-file-name-handler-alist)
7144         (tramp-completion-file-name-handler): Remove autoload cookie.
7145         (tramp-initial-completion-file-name-regexp): Remove.
7146         (tramp-autoload-file-name-regexp): New defconst.
7147         (tramp-register-autoload-file-name-handlers): Use it.
7148         (with-parsed-tramp-file-name): Adapt docstring.  Compute
7149         `tramp-file-name' slots.  (Bug#28889)
7151 2017-10-21  Glenn Morris  <rgm@gnu.org>
7153         Update describe-function for recent Fdocumentation change
7155         * lisp/help-fns.el (describe-function-1):
7156         Handle Fdocumentation returning either void or invalid.
7158 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
7160         Make flymake's mouse-wheel interaction portable (Bug#28732)
7162         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
7163         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
7164         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
7165         remove a stray newline in it.
7167 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
7169         Prevent eldoc from changing the mode line
7171         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
7172         change the mode line if it is not displayed.  (Bug#28697)
7174 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
7176         Fix doc strings in simple.el
7178         * lisp/simple.el (shell-command-saved-pos)
7179         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
7181 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
7183         Avoid creating inconsistent buffer states in term-char-mode
7185         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
7186         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
7187         except for the process filter's output.  Use 'read-only-mode-hook' to
7188         track and restore the user-set state of 'buffer-read-only' for
7189         'term-line-mode'.  (Bug#24837)
7190         (term-char-mode-buffer-read-only): New user option.
7191         (term-line-mode-buffer-read-only): New buffer-local variable.
7192         (term-line-mode-buffer-read-only-update): New function.
7193         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
7194         in pre-command-hook, and 'term-goto-process-mark-maybe' in
7195         post-command-hook to counter-act unexpected changes to point when
7196         using 'term-char-mode'.
7197         (term-char-mode-point-at-process-mark): New user option.
7198         (term-goto-process-mark): New buffer-local variable.
7199         (term-set-goto-process-mark): New function.
7200         (term-goto-process-mark-maybe): New function.
7201         (term-process-mark): New function.
7203         * etc/NEWS: Mention the new behavior and user options.
7205 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
7207         New input method 'usbek-cyrillic'
7209         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
7210         (Bug#28848)
7212         * etc/NEWS: Mention the new input method.
7214 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
7216         Document 'minibuffer-with-setup-hook'
7218         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
7219         minibuffer-with-setup-hook.  (Bug#28877)
7221 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7223         Simplify make-progress-reporter vs float-time
7225         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
7226         doc and code for the case where float-time is not supported,
7227         since float-time is always present now.
7229 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7231         Fix two more minor Gnus typos
7233         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
7234         The old code had two minor bugs: first, it multiplied by 1/65536
7235         instead of by 1/86400.  Second, it called current-time twice and
7236         glued part of the two results together, resulting in a race.
7237         Fix both bugs by simplifying the code and using
7238         time-to-number-of-days.
7240 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
7242         Fix two minor Gnus typos
7244         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
7245         Remove unused local, and fix use of local that was never assigned to.
7247 2017-10-21  Glenn Morris  <rgm@gnu.org>
7249         Tweak Fdocumentation's error for an undefined function
7251         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
7252         of signalling a void-function error for an undefined function.
7253         This seems cleaner than Emacs 25's "invalid-function: nil" error,
7254         which was (probably) an unintended consequence of changes to
7255         Findirect_function.
7257 2017-10-21  Glenn Morris  <rgm@gnu.org>
7259         Tweak format of list of old files in NEWS header
7261         * etc/NEWS: Stop list of old NEWS files growing without limit.
7262         * admin/admin.el (set-version): Handle either NEWS header format.
7264 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7266         * lisp/help-fns.el (describe-function-1):
7267         Fix help-fns-test-dangling-alias.  (Bug#28918)
7269         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
7271 2017-10-20  Glenn Morris  <rgm@gnu.org>
7273         Fix flymake's loading of subr-x
7275         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
7276         No need to load subr-x at run-time.
7278 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
7280         Fix Bug#28896
7282         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
7283         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
7284         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
7285         being a directory.  (Bug#28896)
7287         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
7288         (tramp-test12-rename-file): Test also FILENAME being a directory.
7290 2017-10-20  João Távora  <joaotavora@gmail.com>
7292         Skip a Flymake test for old gcc versions
7294         Fixes: 28906
7296         * test/lisp/progmodes/flymake-tests.el
7297         (different-diagnostic-types): Skip this test for gcc versions
7298         < 5.
7300 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
7302         Make :align-to account for display-line-numbers
7304         These changes also update the various bundled packages to use
7305         new feature, and better support customizations of the line-number
7306         face.
7307         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
7308         Make :align-to count from the end of the line-number display when
7309         the offset or the width form reference that of the text area.
7310         (Bug#28855)
7312         * src/indent.c (Fline_number_display_width): Implement support for
7313         the PIXELWISE argument being 'columns'.  Update the doc string.
7314         (syms_of_indent): New symbol 'columns'.
7316         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
7317         Call line-number-display-width with last argument 'columns'.
7319         * lisp/proced.el (proced-header-line): Call
7320         line-number-display-width with 2nd arg 'columns', which also fixes
7321         a problem when display-line-numbers is nil.
7323         * lisp/emacs-lisp/tabulated-list.el
7324         (tabulated-list-line-number-width): Call line-number-display-width
7325         with 2nd arg 'columns.
7326         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
7327         (tabulated-list-print, tabulated-list-print-entry): No need to
7328         account for the value of tabulated-list-entry-lnum-width.
7329         (tabulated-list--current-lnum-width): New defvar.
7330         (tabulated-list-watch-line-number-width): New function.
7331         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
7332         locally, and set up tabulated-list-watch-line-number-width as
7333         pre-redisplay-functions hook.
7335         * doc/lispref/display.texi (Size of Displayed Text): Document the
7336         'columns' value of the PIXELWISE argument.
7337         (Pixel Specification): Update and improve the documentation of the
7338         supported forms.
7340 2017-10-20  João Távora  <joaotavora@gmail.com>
7342         Augment Flymake API for third-party extensions
7344         See
7345         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
7347         * doc/misc/flymake.texi (Flymake error types): Rewrite
7348         example.
7349         (Flymake utility functions): Augment with new API.
7351         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
7352         (flymake--diag-accessor): New helper macro.
7353         (flymake-diagnostic-buffer, flymake-diagnostic-text)
7354         (flymake-diagnostic-beg, flymake-diagnostic-end)
7355         (flymake-diagnostic-backend): Accessors for diagnostic objects.
7356         (flymake--overlays): Use flymake-diagnostic property.
7357         (flymake--highlight-line): Simplify.  Only set
7358         flymake-diagnostic property.
7359         (flymake--handle-report, flymake-goto-next-error): Use
7360         flymake-diagnostic property.
7361         (flymake-show-diagnostic): Use diagnostic object.
7362         (flymake--diagnostics-buffer-entries): Use
7363         flymake-diagnostics.
7365 2017-10-20  Glenn Morris  <rgm@gnu.org>
7367         Improve treatment of Fortran's "class default"
7369         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
7370         Handle "class default".  (Bug#28786)
7371         * test/automated/f90.el (f90-test-bug25039): Add "class default".
7373 2017-10-20  João Távora  <joaotavora@gmail.com>
7375         Flymake backends must check proc obsoleteness in source buffer
7377         Flymake backends that rely on sentinels running asynchronously and
7378         checking buffer-local variables that hold running processes should
7379         check for obsoleteness in the correct buffers, otherwise a (harmless)
7380         warning might be triggered.
7382         * doc/misc/flymake.texi (An annotated example backend):
7383         Check buffer-local proc in the current buffer.
7385         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
7386         Check buffer-local proc in the current buffer.
7388 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
7390         Skip an rsync test in tramp-tests.el
7392         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
7393         Skip for "rsync".
7395 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
7397         On Windows default a frame's border width to zero (Bug#28873)
7399         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
7400         as everywhere else, see Bug#28873.
7402 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
7404         Spelling fixes
7406         * lisp/cedet/semantic/analyze/refs.el:
7407         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
7408         misspelling of pop-to-buffer-same-window.
7410 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
7412         Use pop-to-buffer-same-window instead of switch-to-buffer
7414         * lisp/cedet/semantic/decorate/include.el
7415         (semantic-decoration-include-visit):
7416         Use pop-to-buffer-same-window instead of switch-to-buffer
7417         (bug#28645).
7419         * lisp/cedet/semantic/analyze/refs.el
7420         (semantic-analyze-proto-impl-toggle): Same.
7422         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
7423         Same.
7425         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
7426         Same.
7428         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
7429         Same.
7431 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
7433         Fix the MSDOS build.
7435         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
7436         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
7437         (LIBSYSTEMD_LIBS): Edit to empty.
7438         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
7439         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
7440         Remove editing of lines that are no longer present in
7441         src/Makefile.in.
7442         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
7443         (NEED_MKTIME_WORKING): Define to 1.
7444         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
7445         DJGPP >= 2.05.
7446         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
7447         Define PACKAGE_VERSION, not VERSION.
7448         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
7449         (HAVE_DECL_*_UNLOCKED): Define to 0.
7450         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
7451         (PENDING_*): Don't define, as Gnulib no longer supports that.
7452         Instead, define _IOERR as it is in libc/file.h.
7453         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
7454         determine the current directory.
7455         (UPDATE_MANIFEST, UTILITIES): Don't edit.
7456         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
7457         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
7458         (HYBRID_MALLOC): Edit to empty.
7459         (am__cd): Don't edit.
7460         (../config.status): Replaces $(top_builddir)/config.status.
7461         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
7462         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
7463         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
7464         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
7465         the command line shorter to fit into 126-char limit of
7466         command.com.
7467         * config.bat: Generate src/deps/*.d files.  Rename more files
7468         like djtar on plain DOS would.
7469         Don't rename src/dir.h: it is long gone.  Edit
7470         lib/gnulib.mk.in using the same scripts as for
7471         lib/Makefile.in.
7472         * msdos/depfiles.bat: Create *.d files, not *.Po.
7474         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
7475         error message.
7476         * src/thread.h [MSDOS]: Include <signal.h>.
7477         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
7478         compilation errors.
7479         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
7480         Expose to MSDOS build.
7481         * src/process.c (update_processes_for_thread_death)
7482         [!subprocess]: No-op implementation.
7483         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
7484         declaration of nofile_limit outside "#ifdef subprocesses", as
7485         it's needed for MSDOS.
7486         * src/msdos.c (faccessat): Declare fullname[].
7487         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
7488         Include termhooks.h.
7489         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
7490         WINDOWSNT, not DOS_NT.
7492         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
7494 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
7496         Fix line number display after 'widen'
7498         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
7499         by line-number-mode on the first redisplay after the buffer is
7500         widened.  (Bug#28879)
7502 2017-10-18  Alan Third  <alan@idiocy.org>
7504         Remove resizable attribute on macOS undecorated frames (bug#28512)
7506         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
7507         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
7509 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
7511         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
7513         * lisp/frameset.el (frameset--restore-frame): Don't process
7514         `border-width' parameter via ‘modify-frame-parameters’
7515         (Bug#28873).
7517 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
7519         Mention how to send CC to > 1 address in a bug report
7521         * admin/notes/bugtracker (* More detailed information):
7522         mention how to CC to more than 1 address (Bug#28833).
7524 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
7526         Improve format-time-string doc
7528         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
7529         documentation for format-time-string.  Document ^, #, %s, and %z
7530         with colons.  Say that unrecognized sequences are output as-is.
7531         * src/editfns.c (Fformat_time_string): %S can stand for 60.
7532         Also mention unrecognized sequences.
7534 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
7536         Improve documentation of 'line-number-display-width'
7538         * doc/lispref/display.texi (Size of Displayed Text): Document the
7539         additional 2 columns used for line-number display.
7541         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
7543 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
7545         Implement vc-default-dir-extra-headers for vc-rcs
7547         Add a do-nothing implementation for vc-rcs to suppress the message which
7548         the default function adds to the vc-dir buffer (Bug#28570).
7549         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
7551 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
7553         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
7555         * etc/NEWS: Mention that applications should prefer
7556         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
7558 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
7559             Noam Postavsky  <npostavs@gmail.com>
7561         Dont update primary selection with winner-undo
7563         * lisp/winner.el (winner-set):
7564         Dont update primary selection when select-enable-primary
7565         is non-nil (Bug#28631).
7567 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
7569         Work around ImageMagick bug 825
7571         This should fix several bugs reported recently against Emacs
7572         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
7573         * src/image.c (imagemagick_load_image):
7574         Do not call MagickWandTerminus.
7576 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
7578         Document rectangle-preview option more (Bug#27974)
7580         * lisp/rect.el (string-rectangle):
7581         * etc/NEWS.25: Mention `rectangle-preview'.
7583 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
7585         Do not reject https://gnu.org in commit messages
7587         * build-aux/git-hooks/commit-msg: Do not reject commit messages
7588         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
7589         rewrite the messages to use https: URLs.
7591 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
7593         Fix Edebug spec for cl-defun (bug#24255)
7595         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
7596         `cl-lambda-list' to support destructuring argument lists.
7597         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
7598         * lisp/textmodes/rst.el: Remove alternate version of Edebug
7599         specs for `cl-lambda-list' and `cl-type-spec'.
7601 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
7603         Fix errors in kmacro.el post-command-hook
7605         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
7606         avoid 'void-variable' errors.  (Bug#28818)
7607         * test/lisp/kmacro-tests.el
7608         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
7610 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
7612         Fix range-error in image-dired.el
7614         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
7615         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
7617 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
7619         Fix 'line-number-display-width' in hscrolled windows
7621         * src/indent.c (line_number_display_width): Make sure a line
7622         number is generated even when the first line of the window is
7623         completely hscrolled out of view.  (Bug#28854)
7625 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
7627         Fix error in tramp-smb-handle-insert-directory
7629         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
7630         Insert size information only when FULL-DIRECTORY-P is non-nil.
7632 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
7634         Don't reject PBM header whitespace unnecessarily
7636         * lisp/image.el (image-type-header-regexps):
7637         Allow two or more CRs or LFs in initial whitespace sequences.  See:
7638         http://netpbm.sourceforge.net/doc/pbm.html
7640 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
7642         Fix regression in display of PPM images
7644         Problem reported by Roland Winkler (Bug#28824#35).
7645         Based on a patch proposed by Andy Moreton (Bug#28824#38).
7646         * src/image.c (pbm_scan_index): New function.
7647         (pbm_load): Use it to decode raw data correctly when its top bit
7648         is set.
7650 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
7652         Require subr-x when compiling nnimap.el
7654         * lisp/gnus/nnimap.el (require): For the when-let* macro.
7656 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7658         Fix ert-test finding by symbol (Bug#28849)
7660         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
7661         symbol used for ert tests in load-history was changed from
7662         `ert-deftest' to `ert--test', but a couple of other places were not
7663         updated accordingly.
7664         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
7665         `ert--test' as the TYPE to `find-function-do-it'.
7666         (top-level): Use `ert--test' as the key to the
7667         `find-function-regexp-alist' entry.
7669 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7671         Don't remember old debugger window (Bug#17882)
7673         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
7674         when `debugger-will-be-back' is nil.
7676 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7678         Disable python native completion on w32 (Bug#28580)
7680         * lisp/progmodes/python.el
7681         (python-shell-completion-native-disabled-interpreters): For windows-nt
7682         systems, put an empty string to match interpreters.
7684 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
7686         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
7688         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
7689         frames in the non-interactive part, if not found on the current
7690         display.
7692 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
7694         * lisp/dired-aux.el (dired-create-directory): Doc fix.
7696 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
7698         Avoid compilation warnings in optimized builds
7700         * src/process.c (Fmake_network_process):
7701         * src/image.c (xbm_scan, gif_load):
7702         * src/fileio.c (Frename_file):
7703         * src/data.c (Fmake_local_variable):
7704         * src/buffer.c (fix_start_end_in_overlays):
7705         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
7706         to avoid compiler warnings in optimized builds.
7708 2017-10-15  K. Handa  <handa@gnu.org>
7710         Improve customization of arabic-shaper-ZWNJ-handling.
7712         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
7713         immediately.
7714         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
7715         value.
7716         * src/composite.c (Fclear_composition_cache): New function.
7717         (syms_of_composite): Defsubr it.
7719 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
7721         Improve customization type of 'mouse-drag-and-drop-region'
7723         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
7724         precise customization type.
7726 2017-10-15  Paul Eggert  <eggert@day>
7728         Encourage https: in commit messages
7730         * CONTRIBUTE: Prefer https: when citing.
7731         * build-aux/git-hooks/commit-msg:
7732         Diagnose http: and ftp: URLs to FSF or GNU hosts.
7734 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
7736         Fix wording in Elisp manual's child frames section (Bug#28819)
7738         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
7740 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
7742         Another fix for C mode fontification of w32 source files
7744         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
7745         "CALLBACK", to correctly fontify functions with this attribute.
7747 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
7749         Fix fontification of ALIGN_STACK functions
7751         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
7752         "ALIGN_STACK", to correctly fontify functions with this attribute.
7754 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
7756         Make sure thread stack is properly aligned on MS-Windows
7758         * src/systhread.c: Include w32term.h instead of windows.h.
7759         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
7760         the thread's stack is correctly aligned.
7761         * src/w32term.h (ALIGN_STACK): Update commentary.
7763 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
7765         Do not under-align pseudovectors
7767         Problem reported by Fabrice Popineau in:
7768         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
7769         Also see diagnosis by Eli Zaretskii in:
7770         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
7771         * src/alloc.c (vector_alignment):
7772         Now a multiple of alignof (max_align_t).
7774 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
7776         Fix indentation bug in multi-line CSS selectors
7778         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
7779         indentation of multi-line CSS selectors that include both a
7780         pseudo-class and parenthesis.
7782         * test/manual/indent/css-mode.css: Add test for the above change.
7784 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
7786         gnutls_mac_get_nonce_size has been added in gnutls 3.3
7788         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
7789         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
7790         (gnutls_mac_get_nonce_size): Depend on
7791         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
7792         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
7793         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
7795 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7797         * CONTRIBUTE: Suggest American English.
7799 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
7801         Fix this-command-keys for "M-x foo" commands
7803         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
7804         unibyte string.  (Bug#28798)
7806 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
7808         Let rename-file rename dirs across filesystems
7810         Problem diagnosed by Andreas Schwab (Bug#28792#65).
7811         This fixes a bug that I introduced in
7812         2017-09-10T22:39:24@eggert@cs.ucla.edu
7813         "Fix race with rename-file etc. with dir NEWNAME".
7814         * src/fileio.c (Frename_file): Copy a source directory across
7815         file system boundaries even if its name does not end in slash.
7817 2017-10-12  João Távora  <joaotavora@gmail.com>
7819         Simplify Flymake user documentation
7821         Fix some confusing parts of Flymake user documentation, like a
7822         repeated listing of situations leading to a syntax check.
7823         Documentation is now divided into three chapters only: "Using
7824         Flymake", "Extending Flymake", and a chapter for the legacy backend.
7826         Obsolete mention of "errors" and "lines" is replaced by
7827         "diagnostics/problems" and "regions" where appropriate.
7829         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
7830         (Using Flymake): Merge with chapter "Overview of Flymake".
7831         (Installing Flymake): Delete chapter.
7832         (Flymake mode, Running the syntax check)
7833         (Navigating to error lines): Delete sections.
7834         (Syntax check statuses): Review and augment with x-references.
7835         (Backend exceptions): Mention shortcut in menu.
7837         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
7838         menu to not speak of "errors".
7839         (flymake-goto-next-error, flymake-goto-prev-error): Fix
7840         wording.
7842 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
7844         * etc/NEWS: Mention the new version of Org.
7846 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
7848         Don't use (format "%s" ...) for string copying (Bug#28774)
7850         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
7851         "%s" STRING) no longer produces a new string.
7852         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
7853         string, so that we can add text properties to (copies of) symbol
7854         names.
7856 2017-10-11  Alan Third  <alan@idiocy.org>
7858         Make frame-list-z-order on NS match Windows behavior (bug#28788)
7860         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
7861         ignore it rather than returning nil.
7863 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
7865         Bump Emacs version to 26.0.90
7867         * README:
7868         * configure.ac:
7869         * msdos/sed2v2.inp:
7870         * nt/README.W32: Bump Emacs version.
7872 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
7874         Update authors.el
7876         * admin/authors.el (authors-valid-file-names)
7877         (authors-renamed-files-alist): Additions.
7879 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
7881         * admin/authors.el (authors-aliases): Additions.
7883         * ChangeLog.3: Update.
7885 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
7887         Fix docstring style for 'functionp'
7889         * src/eval.c (functionp): Make docstring start with verb.
7890         (Bug#28781)
7892 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
7894         Format shell commands in tramp.texi
7896         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
7897         Format shell commands better.
7899 2017-10-10  João Távora  <joaotavora@gmail.com>
7901         Unbreak the button in the Flymake diagnostics buffer again
7903         Adding the 'keymap' property enabled RET but broke the mouse-action.
7905         * lisp/progmodes/flymake.el
7906         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
7908 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
7910         Add mode map to Flymake diagnostic button
7912         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
7913         keymap propery.
7915 2017-10-10  João Távora  <joaotavora@gmail.com>
7917         Tweak the Flymake diagnostics buffer again
7919         * lisp/progmodes/flymake.el
7920         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
7921         (flymake-show-diagnostic): Rename from
7922         flymake-show-diagnostic-at-point.  Really use another window.
7923         (flymake-goto-diagnostic): Rename from
7924         flymake-goto-diagnostic-at-point.
7925         (flymake--diagnostics-buffer-entries): Use a button just for
7926         the message bit.
7928 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
7930         Simplify Flymake diagnostics buffer UX
7932         Don't create text-buttons unnecessarily, just bind RET and SPC in the
7933         diagnostics buffer to a command that figures out which diagnostic it
7934         was invoked on.
7936         * lisp/progmodes/flymake.el
7937         (flymake--diagnostics-buffer-mode-keymap): Renamed from
7938         flymake--diagnostics-buffer-button-keymap.
7939         (flymake-show-diagnostic-at-point): Don't take a button.
7940         (flymake-goto-diagnostic-at-point): Don't pass button to
7941         flymake-show-diagnostic-at-point.
7942         (flymake--diagnostics-buffer-entries): Simplify.
7944 2017-10-10  João Távora  <joaotavora@gmail.com>
7946         First stab at a Flymake diagnostics buffer
7948         The diagnostics buffer summarizes the diagnostics of a buffer in a
7949         tabulated list and is permanently updated after each Flymake check.
7951         * lisp/progmodes/flymake.el (flymake--handle-report): Call
7952         flymake-show-diagnostics-buffer under certain conditions.
7953         (flymake-menu, flymake--diagnostics-buffer-source)
7954         (flymake--diagnostics-buffer-button-keymap)
7955         (flymake-show-diagnostic-at-point)
7956         (flymake-goto-diagnostic-at-point)
7957         (flymake--diagnostics-buffer-entries)
7958         (flymake-diagnostics-buffer-mode)
7959         (flymake--diagnostics-buffer-name)
7960         (flymake-show-diagnostics-buffer): New definitions.
7962 2017-10-10  João Távora  <joaotavora@gmail.com>
7964         * etc/NEWS (Flymake): Rewrite entry.
7966 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
7968         Improve the Flymake manual
7970         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
7971         @syncodeindex directive for @vindex.  Use 2 spaces between
7972         sentences.  Lower-case @cindex entries.
7973         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
7974         punctuation and markup.
7975         (Backend exceptions): Use @emph instead of @dfn.  Add more
7976         indexing.
7977         (Customizable variables, Extending Flymake): Improve wording.
7978         (Flymake error types): Fix usage of @itemize.  Improve wording.
7979         (Backend functions): Fix punctuation.  Fix markup.  Add a
7980         cross-reference to ELisp manual.
7981         (Flymake utility functions): Add a cross-reference to ELisp manual.
7982         (An annotated example backend): Fix punctuation and typos.
7983         (Flymake mode, Running the syntax check)
7984         (Navigating to error lines, Backend exceptions)
7985         (Customizable variables, Flymake error types, Backend functions)
7986         (Flymake utility functions, Proc customization variables)
7987         (Locating a master file, Locating the buildfile)
7988         (Starting the syntax check process, Parsing the output)
7989         (Interaction with other modes): Fix indexing.  Add index entries
7990         for functions, variables, and concepts.
7992 2017-10-10  João Távora  <joaotavora@gmail.com>
7994         Fix two Flymake bugs
7996         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
7997         against --without-x.
7998         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
7999         in their own windows.
8001 2017-10-10  João Távora  <joaotavora@gmail.com>
8003         Don't log "emergencies" in the Flymake legacy backend
8005         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
8006         (flymake-proc-legacy-flymake): Don't log "emergencies"
8008 2017-10-10  João Távora  <joaotavora@gmail.com>
8010         Add full documentation on new Flymake API
8012         Also, as a minor addition to this API, set flymake-text
8013         on the diagnostic overlay.  This enables a good example in
8014         the section "Customization Flymake annotations".
8016         * doc/misc/flymake.texi (Overview of Flymake)
8017         (Syntax check statuses): Rework.
8018         (Backend exceptions): Rename from "Troubleshooting"
8019         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
8020         (Extending Flymake): Write chapter.
8021         (Customizing Flymake annotations, Flymake backends)
8022         (Flymake utility functions, An annotated example backend):
8023         New sections and subsections
8025         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
8026         (flymake-diagnostic-types-alist): Rework docstring.
8027         (flymake--highlight-line): Set and use flymake-text property in overlay.
8028         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
8030 2017-10-10  João Távora  <joaotavora@gmail.com>
8032         Fix some Flymake docstrings and messages
8034         * lisp/progmodes/flymake.el
8035         (flymake-start-on-flymake-mode): fix typo.
8036         (flymake-mode): Add docstring.
8037         (flymake-mode-line-format): Fix help-echo indications. mouse-2
8038         describes flymake-mode.
8040 2017-10-10  João Távora  <joaotavora@gmail.com>
8042         Make three new Flymake commands for debugging common problems
8044         * lisp/progmodes/flymake.el (flymake-running-backends)
8045         (flymake-disabled-backends)
8046         (flymake-reporting-backends): Make interactive.
8047         (flymake--collect): Take optional arg.
8049 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
8051         * admin/authors.el (authors-renamed-files-alist): addition.
8053 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
8055         Fix PWD check on DOS_NT
8057         * src/sysdep.c (get_current_dir_name_or_unreachable):
8058         Do not consider a file name like "a:b" to be absolute on DOS_NT.
8060 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
8062         Fix unlikely overflows with wd length
8064         * src/sysdep.c (get_current_dir_name_or_unreachable):
8065         Avoid integer overflow if working directory name is absurdly long.
8066         When allocating memory for getcwd, do not exceed MAXPATHLEN.
8068 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8070         * lisp/gnus/message.el: Improve last commit
8072         (message-clone-locals): Don't mistakenly match other variables whose
8073         name happens to include "message-default-charset".
8075 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
8077         Fix problems when editing raw undecoded message (Bug#28671)
8079         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
8080         is set, meaning that we are editing the raw message, do not
8081         encode it again.  Delete old body after, not before, inserting
8082         new, to avoid moving marker at beginning of next message.
8084 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8086         Avoid encoding errors in message.el
8088         * lisp/gnus/message.el (message-clone-locals): Don't clone
8089         message-default-charset.  (Bug#25645)
8091 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8093         Improve doc string and prompt of 'grep-read-files'
8095         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
8096         string and in the prompt that shell wildcards can be used.
8097         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
8099 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8101         Avoid assertion violations when line numbers are displayed
8103         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
8104         matrix before calling try_window with the same starting point.
8105         This avoids assertion violations when switching from a buffer
8106         without line numbers to a buffer with line numbers.  (Bug28710)
8108 2017-10-09  João Távora  <joaotavora@gmail.com>
8110         Be lazy when starting Flymake checks
8112         Don't start the check immediately if the buffer is not being
8113         displayed.  Wait until it is, using window-configuration-change-hook.
8115         This enables the user to batch-enable flymake-mode on many buffers and
8116         not have that operation exhaust system resources for checking each
8117         one.  Likewise, an editing or save operation in a currently
8118         non-displayed buffer does not immediately start a check.
8120         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
8121         Rename from flymake-start-syntax-check-on-find-file.
8122         (flymake-start-syntax-check-on-find-file): Obsolete alias for
8123         flymake-start-on-flymake-mode.
8124         (flymake-start): Redesign.  Affect the global post-command-hook
8125         and local window-configuraiton-change-hook.
8126         (flymake--schedule-timer-maybe)
8127         (flymake-after-change-function, flymake-after-save-hook): Pass
8128         t to flymake-start.
8130         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
8131         (dummy-backends, recurrent-backend): Start flymake check
8132         explicitly and immediately.
8134 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
8136         Fix last change in frameset.el
8138         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
8139         filtering the 'font' parameter.  (Bug#17352)
8141 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
8143         Describe how window dividers can replicate vertical borders (Bug#27830)
8145         * doc/emacs/frames.texi (Scroll Bars): Describe how window
8146         dividers can be used to replicate vertical borders when scroll
8147         bars are disabled (Bug#27830).
8148         * doc/emacs/frames.texi (Window Dividers): Mention their use
8149         in replicating vertical borders.
8151 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
8153         Add line-number faces to the display-line-numbers group
8155         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
8156         and its resulting thread.
8158         * lisp/display-line-numbers.el (display-line-numbers): Add to the
8159         convenience group.
8160         * lisp/faces.el (line-number):
8161         (line-number-current-line): Add to the display-line-numbers group.
8163 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
8165         Increase xterm click count only within double-click-fuzz
8167         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
8168         and check it against the current click's position.  (Bug#28658)
8170 2017-10-08  Alan Third  <alan@idiocy.org>
8172         Change pause in fullscreen toggling for NS port (bug#28496)
8174         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
8175         sleep-for, and reduce time.
8177 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
8179         Handle PARENTS properly in tramp-*-handle-make-directory
8181         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
8182         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
8183         Handle PARENTS properly.
8185         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
8186         Extend test.
8188 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8190         Improve test for unreachable dirs
8192         * src/sysdep.c (get_current_dir_name_or_unreachable):
8193         New function, with most of the old contents of
8194         emacs_get_current_dir_name.
8195         (emacs_get_current_dir_name): Use it.  Use a simpler
8196         test for unreachable directory strings, and also apply
8197         it to getcwd etc. (Bug#27871)
8199 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8201         * src/xsmfns.c (x_session_initialize): Fix memory leak.
8203 2017-10-08  K. Handa  <handa@gnu.org>
8205         New option for handling ZWNJ in Arabic text rendering
8207         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
8208         to display ZWNJ in Arabic text rendering (Bug#28339).
8209         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
8210         composition-function-table.
8211         (arabic-shaper-ZWNJ-handling): New variable.
8212         (arabic-shape-log): New variable.
8213         (arabic-shape-gstring): New function.
8214         * lisp/composite.el (lgstring-remove-glyph): New function.
8216 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
8218         Make python prettify symbols into a defvar (Bug#28713)
8220         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
8221         variable.
8222         (python--prettify-symbols-alist): Make into obsolete alias for
8223         `python-prettify-symbols-alist'.
8225 2017-10-07  Alan Third  <alan@idiocy.org>
8227         Fix fullscreen crash on macOS (bug#28496)
8229         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
8230         complete on macOS.
8232 2017-10-07  Alan Third  <alan@idiocy.org>
8234         Fix crash when closing fullscreen frame on macOS (bug#28661)
8236         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
8237         unmodified if the frame isn't live.
8239 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
8241         Support gio tool in Tramp
8243         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
8244         must use "gio <command>" tool instead.
8246         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
8247         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
8248         (tramp-gvfs-gio-tool-p): New defun.
8249         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
8251 2017-10-07  João Távora  <joaotavora@gmail.com>
8253         Fix flymake-goto-next-error when message has %-constructs
8255         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
8256         message call.  Add missing period in docstring.
8258 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
8260         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
8262 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
8264         Move the entry about 'format' into Incompatible Lisp Changes
8266         * etc/NEWS: Move the entry about 'format' refraining from allocating
8267         new strings into Incompatible Lisp Changes.  (Bug#28625)
8269 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
8271         Fix glitches in displaying TTY menus
8273         * src/dispnew.c (update_frame_line): Accept an additional argument
8274         UPDATING_MENU_P; if non-zero, home the cursor before updating a
8275         frame's line.  All callers changed.
8276         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
8277         and pass it to update_frame_line.  All callers changed.
8278         (update_frame_with_menu): Call update_frame_1 with last argument
8279         non-zero.  (Bug#17497)
8281 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
8283         Create new Edebug spec for docstrings and use it in closures
8285         Since (:documentation FORM) can be used to create a docstring
8286         when lexical-binding is on, allow for that possibility in Edebug
8287         specs (bug#24773).
8288         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
8289         called lambda-doc and modify the Edebug specs for defun and
8290         defmacro to use it.
8291         (edebug-instrument-function): Check for generic functions first,
8292         to fix bug where edebug-step-in didn't work on methods now that
8293         cl-defgeneric has an Edebug spec.
8294         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
8295         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
8296         (bug#27747).
8297         (cl-defmethod): Use lambda-doc in Edebug spec.
8298         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
8299         cl-declarations-or-string to use lambda-doc, and modify Edebug
8300         spec for cl-lambda-expr to use cl-declarations-or-string.
8301         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
8302         use lambda-doc, as well as &define and def-body which are
8303         necessary for using Edebug on code wrapped by lambda.
8304         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
8305         Edebug specs.
8307 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
8309         Avoid byte-compilation warnings in message.el
8311         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
8312         avoid compiler warnings.
8314 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8316         Fix bug in recent styled_format change
8318         Problem reported by Kaushal Modi in:
8319         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
8320         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
8321         not always followed by SAFE_FREE.  This bug was introduced in my
8322         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
8323         unnecessary copying in Fformat etc."
8325 2017-10-06  João Távora  <joaotavora@gmail.com>
8327         Cleanup emacs-lisp-mode's use of Flymake
8329         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
8330         Delete.
8331         (elisp-flymake-checkdoc): Incorporate old
8332         elisp-flymake--checkdoc-1.
8333         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
8334         here.
8335         (elisp-flymake-byte-compile): Remove spurious interactive spec.
8336         Simplify.  Cleanup on every possible exit.
8338 2017-10-06  João Távora  <joaotavora@gmail.com>
8340         Fix @include directive in Flymake doc
8342         * doc/misc/flymake.texi: Don't @include a relative path.
8344 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
8346         Move read-multiple-choice to its own library
8348         * lisp/emacs-lisp/rmc.el: New file.
8349         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
8350         * lisp/gnus/message.el:
8351         * lisp/net/nsm.el: Change required library.
8353 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
8355         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
8357         Fixes: Bug#28721
8359 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
8361         Fix typos in Flymake documentation
8363         * doc/misc/flymake.texi (Syntax check statuses)
8364         (Adding support for a new syntax check tool)
8365         (Implementation overview, Locating the buildfile): Fix typos.
8367         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
8368         (flymake-proc--find-possible-master-files):Fix typos.
8369         (flymake-proc--panic)
8370         (flymake-proc-legacy-flymake): Fix function reference in doc.
8372         * lisp/progmodes/flymake.el (flymake-error)
8373         (flymake-diagnostic-functions): Fix typos.
8374         (flymake-diagnostic-types-alist): Rephrase and fix typos.
8375         (flymake--backend-state): Fix typos and rephrase.
8376         (flymake--handle-report): Delete empty line.
8377         (flymake--disable-backend)
8378         (flymake--run-backend): Fix typos.
8379         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
8381 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
8383         Revert last change in 'shr-descend'
8385         * lisp/net/shr.el (shr-descend): Revert the part of the last
8386         change which introduced calls to shr-indirect-call into this
8387         function.  Add a comment explaining the rationale for that.
8388         (Bug#28402)
8390 2017-10-06  João Távora  <joaotavora@gmail.com>
8392         Don't error when turning on Flymake with no known backends
8394         Leave it to the mode line indicator to inform the user that there
8395         is still some configuration to do.
8397         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
8399 2017-10-06  João Távora  <joaotavora@gmail.com>
8401         Delete a Flymake obsolete alias that can't possibly work
8403         The function `flymake-ler-make-ler' can't possibly work as an backward
8404         compatible interface to existing extensinos (even purely hypothetical
8405         ones, since none are known).  This is because every diagnostic
8406         considered by Flymake has to passed to a report-fn function.
8408         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
8410 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8412         Fix bug with unmounted directory on GNU/Linux
8414         * src/sysdep.c (emacs_get_current_dir_name): Do not use
8415         get_current_dir_name result unless it is absolute (Bug#27871).
8418 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
8420         Update authors.el
8422         * admin/authors.el (authors-renamed-files-alist)
8423         (authors-valid-file-names): Additions.
8425 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
8427         Fix dynamic binding wrapper in iter-lambda (bug#25965)
8429         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
8430         Remove extra evaluation of form.
8431         * test/lisp/emacs-lisp/generator-tests.el
8432         (cps-iter-lambda-with-dynamic-binding): New test.
8434 2017-10-05  Rasmus  <rasmus@gmx.us>
8436         Update Org to v9.1.2
8438         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
8440 2017-10-05  Alan Mackenzie  <acm@muc.de>
8442         Fix irregularities with CC Mode fontification, particularly with "known types"
8444         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
8445         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
8446         type.
8447         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
8448         have a construct like the above.  Pass this as argument to
8449         c-font-lock-declarators.
8450         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
8451         being processed starts before the function's starting position.
8452         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
8453         preceded by, e.g., "struct"".
8455         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
8456         (c-template-typename-key): New lang defconsts and defvar.
8458 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
8460         Fix breakage due to recent change in tabulated-list-print-entry
8462         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
8463         Update the doc string.
8464         (tabulated-list-print-entry): Revert to using only 2 arguments.
8465         Update the doc string.
8466         (tabulated-list-entry-lnum-width): New defvar.
8467         (tabulated-list-print): Compute the width of line-number display
8468         once, then store that value in tabulated-list-entry-lnum-width,
8469         for tabulated-list-printer to use.  (Bug#28704)
8471 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
8473         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
8475 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
8477         Set xterm click count to 1 even with no last click
8479         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
8480         the last click so that click-count is initialized properly.
8481         Handle the value of t for double-click-time.
8482         (Bug#28658)
8484 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
8486         Support indirection for all shr-tag-* calls
8488         The 'shr-external-rendering-functions' variable was previously only
8489         honored in the shr-descend function, now all direct calls to the
8490         shr-tag-* functions have been replaced by a call to
8491         'shr-indirect-call' which tries using an alternative rendering
8492         function first.
8494         * lisp/net/shr.el (shr-indirect-call): New helper function.
8495         (shr-descend, shr-tag-object, shr-tag-video):
8496         (shr-collect-extra-strings-in-table): Fix callers to call via
8497         shr-indirect-call.  (Bug#28402)
8499 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
8501         Speed up list-packages when 'visual' line numbers are displayed
8503         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
8504         Update the doc string.
8505         (tabulated-list-print-entry): Accept an additional optional
8506         argument INDENT.  Update the doc string.
8507         (tabulated-list-print): Compute the width of line-number display
8508         once, then call tabulated-list-printer with that value as 3rd
8509         argument.  (Bug#28704)
8511 2017-10-05  João Távora  <joaotavora@gmail.com>
8513         Misc. minor adjustments to Flymake
8515         - Add a half-decent minor-mode menu;
8516         - Fix "waiting for backends" mode line message;
8517         - Adjust the flymake-diag-region API;
8518         - Autoload the flymake-log macro;
8519         - Auto-disable the legacy backend in more situations;
8520         - Fix a couple of warnings in legacy backend.
8522         * lisp/progmodes/flymake-proc.el
8523         (flymake-proc--diagnostics-for-pattern): Use new
8524         flymake-diag-region.
8526         * lisp/progmodes/flymake-proc.el
8527         (flymake-proc-legacy-flymake): Do error when no
8528         buffer-file-name or not writable.
8529         (flymake-proc-legacy-flymake)
8530         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
8532         * lisp/progmodes/flymake.el (flymake-diag-region):
8533         Autoload.  Take buffer as first argument.
8535         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
8536         New command.
8537         (flymake-menu): Add a simple menu.
8538         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
8539         log buffer when clicking exceptional warnings.
8541 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
8543         Fix search for ~/.Xdefaults-HOSTNAME
8545         * src/xrdb.c (get_environ_db): Fix typo when handling
8546         ~/.Xdefaults-HOSTNAME (Bug#28708).
8548 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
8550         Speed up (format "%s" STRING) and the like
8552         Although the Lisp manual said that ‘format’ returns a
8553         newly-allocated string, this was not true for a few cases like
8554         (format "%s" ""), and fixing the documentation to allow reuse of
8555         arguments lets us improve performance in common cases like
8556         (format "foo") and (format "%s" "foo") (Bug#28625).
8557         * doc/lispref/strings.texi (Formatting Strings):
8558         * etc/NEWS:
8559         Say that the result of ‘format’ might not be newly allocated.
8560         * src/callint.c (Fcall_interactively):
8561         * src/dbusbind.c (XD_OBJECT_TO_STRING):
8562         * src/editfns.c (Fmessage, Fmessage_box):
8563         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
8564         Just use Fformat or Fformat_message, as that’s simpler and no
8565         longer makes unnecessary copies.
8566         * src/editfns.c (styled_format): Remove last argument, as it
8567         is no longer needed: all callers now want it to behave as if it
8568         were true.  All remaining callers changed.  Make this function
8569         static again.  Simplify the function now that we no longer
8570         need to worry about whether the optimization is allowed.
8572 2017-10-04  Alan Mackenzie  <acm@muc.de>
8574         Fontify untyped function declarations in C Mode correctly.
8576         Also correct two bugs where deleting WS at a BOL could leave an untyped
8577         function declaration unfontified.
8579         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
8580         "top-level" when we're in a macro.
8581         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
8582         Mode as a implicitly typed function declaration.
8583         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
8584         macro.  It's not a function plus arglist.
8586         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
8587         defvar.
8589         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
8590         over any following parenthesis expression (i.e. parameter list).
8591         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
8592         the returned region, to cope with deletions at column 0.
8594 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
8596         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
8598         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
8600 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
8602         Avoid crashes on C-g when several threads wait for input
8604         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
8605         (getcjmp): Define to current thread's 'm_getcjmp'.
8606         * src/thread.c (maybe_reacquire_global_lock): Switch to main
8607         thread, since this is called from a SIGINT handler, which always
8608         runs in the context of the main thread.
8609         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
8610         definitions before thread.h is included, as thread.h now uses
8611         sys_jmp_buf.
8612         * src/keyboard.c (getcjmp): Remove declaration.
8613         (read_char): Don't call maybe_reacquire_global_lock here.
8614         (handle_interrupt): Call maybe_reacquire_global_lock here, if
8615         invoked from the SIGINT handler, to make sure
8616         quit_throw_to_read_char runs with main thread's Lisp bindings and
8617         uses the main thread's jmp_buf buffer.  (Bug#28630)
8619 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
8621         Warn if --without-pop is now the default
8623         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
8624         Warn about the change if defaulting to "no".  Update URLs.
8626 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
8628         --with-pop is now the default only on MS-Windows
8630         Problem reported by N. Jackson (Bug#28597).
8631         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
8632         * INSTALL, configure.ac, etc/NEWS:
8633         Make --with-pop the default only on native MS-Windows.
8635 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
8637         Add support for `file-system-info' in Tramp
8639         * lisp/net/tramp.el (tramp-file-name-for-operation):
8640         Add `file-system-info'.
8642         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
8643         (tramp-adb-file-name-handler-alist): Use it.
8645         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
8646         (tramp-gvfs-file-system-attributes-regexp): New defconst.
8647         (tramp-gvfs-handle-file-system-info): New defun.
8648         (tramp-gvfs-file-name-handler-alist): Use it.
8649         (tramp-gvfs-get-directory-attributes): Fix property name.
8650         (tramp-gvfs-get-root-attributes): Support also file system attributes.
8652         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
8653         (tramp-sh-file-name-handler-alist): Use it.
8654         (tramp-sh-handle-insert-directory): Insert size information.
8655         (tramp-get-remote-df): New defun.
8657         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
8658         (tramp-smb-file-name-handler-alist): Use it.
8659         (tramp-smb-handle-insert-directory): Insert size information.
8661         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
8662         New test.
8663         (tramp-test38-asynchronous-requests)
8664         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
8665         (tramp-test41-unload): Rename.
8667 2017-10-03  João Távora  <joaotavora@gmail.com>
8669         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
8671 2017-10-03  João Távora  <joaotavora@gmail.com>
8673         Start rewriting Flymake manual
8675         Missing the parts pertaining to the new customization API.
8677         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
8678         (Installing Flymake): Delete most of this.
8679         (Running the syntax check): Mention flymake-start.
8680         (Navigating to error lines): Rewrite.
8681         (Viewing error messages): Commente out.
8682         (Syntax check statuses, Troubleshooting): Rewrite a bit.
8683         (Customizable variables): New section under "Using
8684         Flymake".  Don't mention any proc variables here.
8685         (Configuring Flymake): Delete
8686         (Proc backend): New chapter
8687         (Proc customization variables): New chapter.
8689         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
8690         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
8691         (Running the syntax check): Simplify.
8692         (Viewing error messages): Dekete,
8693         (Syntax check statuses): Rewrite.
8694         (Troubleshooting): Simplify.
8695         (Customizable variables): Rewrite.
8696         (Extending Flymake): New chapter, empty for now.
8697         (The legacy Proc backend): New chapter.
8698         (Proc customizable variables)
8699         (Adding support for a new syntax check tool)
8700         (Implementation overview)
8701         (Making a temporary copy)
8702         (Locating a master file)
8703         (Getting the include directories)
8704         (Locating the buildfile)
8705         (Starting the syntax check process)
8706         (Parsing the output)
8707         (Interaction with other modes)
8708         (Example---Configuring a tool called via make)
8709         (Example---Configuring a tool called directly): Rewrite a bit.
8711 2017-10-03  João Távora  <joaotavora@gmail.com>
8713         Minimal tweak as an attempt to future-proof Flymake API
8715         Discussed with Stefan that this should allow Flymake to request more
8716         from backends in the future, while also allowing backends to report
8717         more accurately.
8719         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
8720         (elisp-flymake-byte-compile): Adjust to new API.
8722         * lisp/progmodes/flymake-proc.el ()
8723         (flymake-proc-legacy-flymake): Adjust to new API.
8725         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
8726         Review API again.
8727         (flymake--handle-report): Allow other keys.  Change ACTION to
8728         REPORT-ACTION.
8730 2017-10-03  João Távora  <joaotavora@gmail.com>
8732         Integrate Flymake elisp checkers into elisp-mode.el directly
8734         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
8735         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
8736         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
8737         (elisp-flymake--byte-compile-done)
8738         (elisp-flymake--byte-compile-process)
8739         (elisp-flymake-byte-compile): Rename from flymake-elisp
8740         counterparts in deleted flymake-elisp.el
8741         (elisp-flymake--batch-compile-for-flymake): New helper.
8742         (checkdoc-create-error-function)
8743         (checkdoc-autofix-flag)
8744         (checkdoc-generate-compile-warnings-flag)
8745         (checkdoc-diagnostic-buffer): Forward declare.
8747         * lisp/progmodes/flymake-elisp.el: Delete.
8749 2017-10-03  João Távora  <joaotavora@gmail.com>
8751         Hook Flymake onto proper checkdoc and byte-compile interfaces
8753         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
8754         with little knowledge of actual internals or thought given to the
8755         usefulness of said interfaces in contexts other than Flymake's.
8757         * lisp/emacs-lisp/bytecomp.el
8758         (byte-compile-log-warning-function): New variable.
8759         (byte-compile-log-warning): Use it.
8760         (byte-compile--log-warning-for-byte-compile): New function.
8762         * lisp/emacs-lisp/checkdoc.el
8763         (checkdoc-create-error-function): New variable.
8764         (checkdoc-create-error): Use it.
8765         (checkdoc--create-error-for-checkdoc): New function.xo
8767         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
8768         Use checkdoc-create-error-function.
8769         (flymake-elisp--batch-byte-compile): Use
8770         byte-compile-log-warning-function.
8772 2017-10-03  João Távora  <joaotavora@gmail.com>
8774         Tweak Flymake autoloads and dependencies
8776         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
8777         flymake-diagnostic-functions here.
8779         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
8780         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
8781         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
8782         Autoload.  (flymake-elisp-setup-backends): Remove.
8784         * lisp/progmodes/flymake.el: Add some top-level comments.
8785         (flymake-make-diagnostic)
8786         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
8788         Where to fixup this shit?
8790 2017-10-03  João Távora  <joaotavora@gmail.com>
8792         Capitalize "Flymake" in docstrings and comments
8794         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
8795         (flymake-elisp-setup-backends): Capitalize "Flymake"
8797         * lisp/progmodes/flymake-proc.el:
8798         (flymake-proc-reformat-err-line-patterns-from-compile-el)
8799         (flymake-proc--panic, flymake-proc-legacy-flymake)
8800         (flymake-start-syntax-check, flymake-proc-compile)
8801         (define-obsolete-variable-alias): Capitalize "Flymake"
8803         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
8804         (flymake-make-diagnostic, flymake-delete-own-overlays)
8805         (flymake-diagnostic-functions)
8806         (flymake-diagnostic-types-alist, flymake-is-running)
8807         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
8808         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
8810 2017-10-03  João Távora  <joaotavora@gmail.com>
8812         Flymake backends can report multiple times per check
8814         Rewrote a significant part of the Flymake backend API.  Flymake now
8815         ignores the return value of backend functions: a function can either
8816         returns or errors.  If it doesn't error, a backend is no longer
8817         constrained to call REPORT-FN exactly once.  It may do so any number
8818         of times, cumulatively reporting diagnostics.  Flymake keeps track of
8819         outdated REPORT-FN instances and disconsiders obsolete reports.
8820         Backends should avoid reporting obsolete data by canceling any
8821         ongoing processing at every renewed call to the backend function.
8823         Consolidated flymake.el internal data structures to require less
8824         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
8825         new semantics.
8827         Adapted and simplified the implementation of elisp and legacy
8828         backends, fixing potential race conditions when calling backends in
8829         rapid succession.
8831         Added a new test for a backend that calls REPORT-FN multiple
8832         times.  Simplify test infrastructure.
8834         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
8835         (flymake-elisp-byte-compile): Error instead of returning nil
8836         if not in emacs-lisp-mode.
8837         (flymake-elisp--byte-compile-process): New buffer-local variable.
8838         (flymake-elisp-byte-compile): Mark (and kill) previous process
8839         obsolete process before starting a new one.  Don't report if
8840         obsolete process.
8842         * lisp/progmodes/flymake-proc.el
8843         (flymake-proc--current-process): New buffer-local variable.
8844         (flymake-proc--processes): Remove.
8845         (flymake-proc--process-filter): Don't bind
8846         flymake-proc--report-fn.
8847         (flymake-proc--process-sentinel): Rewrite.  Don't report if
8848         obsolete process.
8849         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
8850         previous process obsolete process before starting a new
8851         one.  Integrate flymake-proc--start-syntax-check-process
8852         helper.
8853         (flymake-proc--start-syntax-check-process): Delete.
8854         (flymake-proc-stop-all-syntax-checks): Don't use
8855         flymake-proc--processes, iterate buffers.
8856         (flymake-proc-compile):
8858         * lisp/progmodes/flymake.el (subr-x): Require it
8859         explicitly.
8860         (flymake-diagnostic-functions): Reword docstring.
8861         (flymake--running-backends, flymake--disabled-backends)
8862         (flymake--diagnostics-table): Delete.
8863         (flymake--backend-state): New buffer-local variable and new defstruct.
8864         (flymake--with-backend-state, flymake--collect)
8865         (flymake-running-backends, flymake-disabled-backends)
8866         (flymake-reporting-backends): New helpers.
8867         (flymake-is-running): Use flymake-running-backends.
8868         (flymake--handle-report): Rewrite.
8869         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
8870         buffer or not at all.
8871         (flymake--disable-backend, flymake--run-backend): Rewrite.
8872         (flymake-start): Rewrite.
8873         (flymake-mode): Set flymake--backend-state.
8874         (flymake--mode-line-format): Rewrite.
8876         * test/lisp/progmodes/flymake-tests.el
8877         (flymake-tests--wait-for-backends): New helper.
8878         (flymake-tests--call-with-fixture): Use it.
8879         (included-c-header-files): Fix whitespace.
8880         (flymake-tests--diagnose-words): New helper.
8881         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
8882         (flymake-tests--assert-set): Use quote.
8883         (recurrent-backend): New test.
8885 2017-10-03  João Távora  <joaotavora@gmail.com>
8887         Flymake uses proper idle timers
8889         Also, flymake-no-changes-timeout can be set to nil to disable
8890         automatic periodic checks.  But even in that situation the idle timer
8891         still runs at a reduced rate to detect changes in the variable and
8892         revert that decision.
8894         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
8895         (flymake-last-change-time): Delete.
8896         (flymake--schedule-timer-maybe): New helper.
8897         (flymake-after-change-function): Use it.
8898         (flymake-on-timer-event): Delete
8899         (flymake-mode): Don't scheduler timer.
8901 2017-10-03  João Távora  <joaotavora@gmail.com>
8903         Flymake variable flymake-diagnostic-functions now a special hook
8905         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
8906         flymake-diagnostic-functions.
8908         * lisp/progmodes/flymake-elisp.el
8909         (flymake-elisp-setup-backends): Use add-hook.
8911         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
8912         Revise docstring.
8913         (flymake-start): Use run-hook-wrapped.
8915 2017-10-03  João Távora  <joaotavora@gmail.com>
8917         Batch of minor Flymake cleanup actions agreed to with Stefan
8919         Discussed with Stefan, in no particular order
8921         - Remove aliases for symbols thought to be internal to flymake-proc.el
8922         - Don’t need :group in defcustom and defface in flymake.el
8923         - Fix docstring of flymake-make-diagnostic
8924         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
8925         - Mark overlays with just the property ’flymake, not ’flymake-overlay
8926         - Tune flymake-overlays for performance
8927         - Make flymake-mode-on and flymake-mode-off obsolete
8928         - Don’t use hash-table-keys unless necessary.
8929         - Copyright notice in flymake-elisp.
8931         Added some more
8933         - Clarify docstring of flymake-goto-next-error
8934         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
8935         - Prevent compilation warnings in flymake-proc.el
8936         - Remove doctring from obsolete aliases
8938         Now the changelog:
8940         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
8942         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
8943         (flymake-proc-diagnostic-type-pred)
8944         (flymake-proc-default-guess)
8945         (flymake-proc--get-file-name-mode-and-masks): Move up to
8946         beginning of file to shoosh compiler warnings
8947         (define-obsolete-variable-alias): Delete many obsolete aliases.
8949         * lisp/progmodes/flymake.el (flymake-error-bitmap)
8950         (flymake-warning-bitmap, flymake-note-bitmap)
8951         (flymake-fringe-indicator-position)
8952         (flymake-start-syntax-check-on-newline)
8953         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
8954         (flymake-start-syntax-check-on-find-file, flymake-log-level)
8955         (flymake-wrap-around, flymake-error, flymake-warning)
8956         (flymake-note): Don't need :group in these defcustom and defface.
8957         (flymake--run-backend): Clarify comment
8958         (flymake-mode-map): Remove.
8959         (flymake-make-diagnostic): Fix docstring.
8960         (flymake--highlight-line, flymake--overlays): Identify flymake
8961         overlays with just ’flymake.
8962         (flymake--overlays): Reverse order of invocation for
8963         cl-remove-if-not and cl-sort.
8964         (flymake-mode-on)
8965         (flymake-mode-off): Make obsolete.
8966         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
8967         (flymake-diagnostic-functions): Clarify keyword arguments in
8968         docstring.
8970         Maybe squash in that one where I remove many obsoletes
8972 2017-10-03  João Távora  <joaotavora@gmail.com>
8974         Explicitly add a(n empty) keymap for Flymake
8976         Too early to decide what will be in it, if anything.  Though "M-n" and
8977         "M-p" would be great.
8979         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
8981 2017-10-03  João Távora  <joaotavora@gmail.com>
8983         Flymake uses some new fringe bitmaps
8985         Also fix behavior whereby flymake wouldn't react to a change in the
8986         variable.
8988         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
8989         (flymake-warning-bitmap): Update bitmaps.
8990         (flymake-note-bitmap): New defcustom.
8991         (flymake-double-exclamation-mark): New bitmap.
8992         (flymake-error, flymake-warning, flymake-note)
8993         (flymake--highlight-line): 'bitmap property must be a symbol.
8994         Also set default face to flymake-error.
8995         (flymake--fringe-overlay-spec): Bitmap property can be a
8996         variable symbol.
8998 2017-10-03  João Távora  <joaotavora@gmail.com>
9000         Remove old flymake-display-err-menu-for-current-line, it's useless
9002         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
9004         * lisp/progmodes/flymake-ui.el
9005         (flymake-popup-current-error-menu): Remove.
9007 2017-10-03  João Távora  <joaotavora@gmail.com>
9009         Treat Flymake errors as just another type of diagnostic
9011         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
9012         (flymake--handle-report, flymake-popup-current-error-menu):
9013         Don't use it.
9015 2017-10-03  João Távora  <joaotavora@gmail.com>
9017         Fix three Flymake bugs when checking C header files
9019         The first of these problems is longstanding: if an error-less B.h is
9020         included from error-ridden A.h, flymake's legacy parser will panic
9021         (and disable itself) since it sees a non-zero exit for a clean file.
9022         To fix this, recommend returning 'true' in the documentation for the
9023         check-syntax target.
9025         Another problem was introduced by the parser rewrite.  For error
9026         patterns spanning more than one line, point may be left in the middle
9027         of a line and thus render other patterns useless.  Those patterns were
9028         written for the old line-by-line parser.  To make them useful again,
9029         move to the beginning of line in those situations.
9031         The third problem was also longstanding and happened on newer GCC's:
9032         The "In file included from" prefix confused
9033         flymake-proc-get-real-file-name.  Fix this.
9035         Also updated flymake--diag-region to fallback to highlighting a full
9036         line less often.
9038         Add automatic tests to check this.
9040         * lisp/progmodes/flymake-proc.el
9041         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
9042         accidentally spans more than one line.  Don't create
9043         diagnostics without error messages.
9044         (flymake-proc-real-file-name-considering-includes): New
9045         helper.
9046         (flymake-proc-allowed-file-name-masks): Use it.
9048         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
9049         argument explicitly optional.  Only fall back to full line in extreme
9050         cases.
9052         * test/lisp/progmodes/flymake-tests.el
9053         (included-c-header-files): New test.
9054         (different-diagnostic-types): Update.
9056         * test/lisp/progmodes/flymake-resources/Makefile
9057         (check-syntax): Always return success (0) error code.
9058         (CC_OPTS): Add -Wextra
9060         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
9061         (main): Rewrite comments.
9063         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
9064         Include some dummy header files.
9066         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
9068         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
9070         * doc/misc/flymake.texi (Example---Configuring a tool called
9071         via make): Recommend adding "|| true" to the check-syntax target.
9073 2017-10-03  João Távora  <joaotavora@gmail.com>
9075         Add interactive flymake-start function
9077         * lisp/progmodes/flymake.el (flymake-on-timer-event)
9078         (flymake-after-change-function, flymake-mode): Call
9079         flymake-start.
9080         (flymake-start): Rename from flymake--start-syntax-check.
9082 2017-10-03  João Távora  <joaotavora@gmail.com>
9084         A couple of Flymake backends for emacs-lisp-mode
9086         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
9087         automatically, but it affects emacs-lisp-mode-hook so that
9088         flymake-diagnostic-functions is setup with a suitable buffer-local
9089         value.  The variable flymake-diagnostic-funtions in every live
9090         emacs-lisp-mode buffer is also adjusted.
9092         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
9094         * lisp/progmodes/flymake-elisp.el: New file.
9096 2017-10-03  João Távora  <joaotavora@gmail.com>
9098         Fancy Flymake mode-line construct displays status
9100         Imitates compilation-mode's mode-line a bit, and uses its faces.
9102         * lisp/progmodes/flymake.el
9103         (flymake-error, flymake-warning, flymake-note): Add
9104         mode-line-face to these flymake error types.
9105         (flymake-note): Notes don't need a noisy fringe bitmap.
9106         (flymake-lighter): Delete.
9107         (flymake--update-lighter): Delete.
9108         (flymake--mode-line-format): New function and variable.
9109         (flymake--diagnostics-table): New buffer-local variable.
9110         (flymake--handle-report): Don't update "lighters".  Affect
9111         flymake--diagnostics-table.
9112         (flymake--run-backend): Init flymake--diagnostics-table for backend.
9113         (flymake-mode): Use flymake--mode-line-format.
9114         (flymake-mode): Don't update lighter.
9115         (flymake--highlight-line): Be more careful when overriding a
9116         nil default overlay property.
9118 2017-10-03  João Távora  <joaotavora@gmail.com>
9120         Tweak Flymake commands flymake-goto-[next/prev]-error
9122         Add filters, useful for backends like the upcoming
9123         flymake-elisp-checkdoc backend, for example, which litters everything
9124         with low-priority notes.
9126         Also re-implement wraparound for flymake-goto-next-error. Manual
9127         mentions this, so it's probably a good idea to keep it.  Added a new
9128         customization variable flymake-wrap-around to control it.
9130         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
9131         (flymake-goto-next-error): Accept FILTER argument.
9132         (flymake-wrap-around): New variable.
9133         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
9135         * test/lisp/progmodes/flymake-tests.el
9136         (different-diagnostic-types, dummy-backends): Pass FILTER to
9137         flymake-goto-prev-error.
9138         (different-diagnostic-types)
9139         (dummy-backends): Use flymake-wrap-around.
9141 2017-10-03  João Távora  <joaotavora@gmail.com>
9143         Flymake's flymake-proc.el backend slightly easier to debug
9145         Misc cleanup in flymake-proc.el
9147         Improve description of what this file contains.
9149         Better name for the backend function.  Fix the case where it is run
9150         interactively.
9152         Keep the output buffer alive iff the external process panics.
9154         * lisp/progmodes/flymake-proc.el
9155         (flymake-proc-legacy-flymake): Rename from
9156         flymake-proc-start-syntax-check.  Allow running interactively.
9157         (flymake-start-syntax-check): Obsolete alias for
9158         flymake-proc-legacy-flymake.
9159         (flymake-proc-start-syntax-check): Delete.
9160         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
9161         (flymake-proc--process-sentinel): Keep output buffer alive.
9162         Clarify with comments.
9163         (flymake-proc--diagnostics-for-pattern)
9164         (flymake-proc--process-sentinel)
9165         (flymake-proc--safe-delete-directory)
9166         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
9168 2017-10-03  João Távora  <joaotavora@gmail.com>
9170         Simplify Flymake logging and erroring
9172         Use display-warning and a dedicated *Flymake log* buffer.
9174         To ease readability, flymake log messages are now prefixed with a
9175         common prefix and the buffer that originated them.
9177         Some situations of over-zealous logging are fixed.
9179         Use byte-compiler info, if available, to determine whence the
9180         flymake-related log message is coming.
9182         * lisp/progmodes/flymake-proc.el
9183         (flymake-proc--diagnostics-for-pattern): Improve log message.
9184         (flymake-proc--panic): Always flymake-log an error
9185         (flymake-proc--safe-delete-file)
9186         (flymake-proc--safe-delete-directory):
9187         Downgrade warning
9188         (flymake-proc-start-syntax-check): Simplify slightly.
9189         (flymake-proc--start-syntax-check-process): Simplify.
9190         (flymake-proc--init-find-buildfile-dir)
9191         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
9192         No need to warn twice.
9194         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
9195         (flymake--log-1): New helper.
9196         (flymake-log-level): Deprecate.
9197         (flymake-error): New helper.
9198         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
9199         Use flymake-error.
9200         (flymake-on-timer-event)
9201         (flymake--handle-report, flymake--disable-backend)
9202         (flymake--run-backend, flymake-start, flymake-mode-on)
9203         (flymake-mode-off, flymake-after-change-function)
9204         (flymake-after-save-hook, flymake-find-file-hook): Adjust
9205         flymake-log calls.
9207         * test/lisp/progmodes/flymake-tests.el
9208         (flymake-tests--call-with-fixture): Only log errors.
9210 2017-10-03  Philipp Stephani  <phst@google.com>
9212         Work around deprecation of gtk_style_context_get_background_color
9214         * src/gtkutil.c (xg_check_special_colors): Replace call to
9215         gtk_style_context_get_background_color with its definition.
9217 2017-10-03  João Távora  <joaotavora@gmail.com>
9219         New Flymake API variable flymake-diagnostic-functions
9221         Lay groundwork for multiple active backends in the same buffer.
9223         Backends are lisp functions called when flymake-mode sees fit.  They
9224         are responsible for examining the current buffer and telling
9225         flymake.el, via return value, if they can syntax check it.
9226         Backends should return quickly and inexpensively, but they are also
9227         passed a REPORT-FN argument which they may or may not call
9228         asynchronously after performing more expensive work.
9230         REPORT-FN's calling convention stipulates that a backend calls it with
9231         a list of diagnostics as argument, or, alternatively, with a symbol
9232         denoting an exceptional situation, usually some panic resulting from a
9233         misconfigured backend.  In keeping with legacy behavior,
9234         flymake.el's response to a panic is to disable the issuing backend.
9236         The flymake--diag object representing a diagnostic now also keeps
9237         information about its source backend.  Among other uses, this allows
9238         flymake to selectively cleanup overlays based on which backend is
9239         updating its diagnostics.
9241         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
9242         New dynamic variable.
9243         (flymake-proc--process): New variable.
9244         (flymake-can-syntax-check-buffer): Remove.
9245         (flymake-proc--process-sentinel): Simplify.  Use
9246         unwind-protect.  Affect flymake-proc--processes here.
9247         Bind flymake-proc--report-fn.
9248         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
9249         (flymake-proc--post-syntax-check): Delete
9250         (flymake-proc-start-syntax-check): Take mandatory
9251         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
9252         (flymake-proc--process-sentinel): Rewrite and simplify.
9253         (flymake-proc--panic): New helper.
9254         (flymake-proc--start-syntax-check-process): Record report-fn
9255         in process.  Use flymake-proc--panic.
9256         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
9257         flymake-proc--processes here.  Record interruption reason.
9258         (flymake-proc--init-find-buildfile-dir)
9259         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
9260         Use flymake-proc--panic.
9261         (flymake-diagnostic-functions): Add
9262         flymake-proc-start-syntax-check.
9263         (flymake-proc-compile): Call
9264         flymake-proc-stop-all-syntax-checks with a reason.
9266         * lisp/progmodes/flymake.el (flymake-backends): Delete.
9267         (flymake-check-was-interrupted): Delete.
9268         (flymake--diag): Add backend slot.
9269         (flymake-delete-own-overlays): Take optional filter arg.
9270         (flymake-diagnostic-functions): New user-visible variable.
9271         (flymake--running-backends, flymake--disabled-backends): New
9272         buffer-local variables.
9273         (flymake-is-running): Now a function, not a variable.
9274         (flymake-mode-line, flymake-mode-line-e-w)
9275         (flymake-mode-line-status): Delete.
9276         (flymake-lighter):  flymake's minor-mode "lighter".
9277         (flymake-report): Delete.
9278         (flymake--backend): Delete.
9279         (flymake--can-syntax-check-buffer): Delete.
9280         (flymake--handle-report, flymake--disable-backend)
9281         (flymake--run-backend, flymake--run-backend):  New helpers.
9282         (flymake-make-report-fn): Make a lambda.
9283         (flymake--start-syntax-check): Iterate
9284         flymake-diagnostic-functions.
9285         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
9286         flymake--running-backends and flymake--disabled-backends.
9287         (flymake-find-file-hook): Simplify.
9289         * test/lisp/progmodes/flymake-tests.el
9290         (flymake-tests--call-with-fixture): Use flymake-is-running the
9291         function.  Check if flymake-mode already active before activating it.
9292         Add a thorough test for flymake multiple backends
9294         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
9295         Don't use condition-case-unless-debug, use condition-case
9297         * test/lisp/progmodes/flymake-tests.el
9298         (flymake-tests--assert-set): New helper macro.
9299         (dummy-backends): New test.
9301 2017-10-03  João Távora  <joaotavora@gmail.com>
9303         More Flymake cleanup before advancing to backend redesign
9305         Diagnostics are reported for buffers, not necessarily files.  It’s the
9306         backend’s responsibility to compute the buffer where the diagnostic is
9307         applicable.  For now, this has to match the buffer where flymake-mode
9308         is active and which is at the origin of the backend call.
9310         flymake.el knows nothing about line/column diagnostics (except for
9311         backward-compatible flymake-ler-make-ler, which must yet be tested).
9312         It’s also the backend’s reponsibility to compute a BEG and END
9313         positions for the diagnostic in the relevant buffer.
9315         * lisp/progmodes/flymake-proc.el
9316         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
9317         region here.  Check file buffer here.
9318         (flymake-proc--process-sentinel): Don’t kill output buffer if
9319         high enough log level.
9321         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
9322         function.  (flymake--highlight-line): Diagnostic has region now.
9323         (flymake-popup-current-error-menu): Don’t add file and line numbers to
9324         already this silly menu.  (flymake--fix-line-numbers): Remove.
9325         (flymake-report): No need to fix diagnostics here.
9327 2017-10-03  João Távora  <joaotavora@gmail.com>
9329         Protect Flymake's eager checks against commands like fill-paragraph
9331         If flymake-start-syntax-check-on-newline is t, check should start as
9332         soon as a newline is seen by after-change-functions.  But don't rush
9333         it: since the buffer state might not be final, we might end up with
9334         invalid diagnostic regions after some commands silently insert and
9335         delete newlines (looking at you, fill-paragraph).
9337         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
9338         `deferred' to flymake--start-syntax-check.
9339         (flymake--start-syntax-check): Take optional `deferred' arg.
9341 2017-10-03  João Távora  <joaotavora@gmail.com>
9343         Flymake highlights GCC info/notes as detected by flymake-proc.el
9345         * lisp/progmodes/flymake-proc.el
9346         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
9347         honour more sophisticated flymake-proc-diagnostic-type-pred.
9348         (flymake-warning-re): Is now an obsolete alias for
9349         flymake-proc-diagnostic-type-pred.
9350         (flymake-proc-diagnostic-type-pred): Rename and augment from
9351         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
9352         Delete.
9354         * lisp/progmodes/flymake.el (flymake-note): New face.
9355         (flymake-diagnostic-types-alist): Simplify.
9356         (flymake-note): New overlay category.
9357         (flymake--lookup-type-property): Only lookup single keys, not lists.
9358         (flymake--diag-errorp): Rewrite.
9359         (flymake--highlight-line): Use flymake--lookup-type-property.
9361         * test/lisp/progmodes/flymake-tests.el
9362         (different-diagnostic-types): Rename from errors-and-warnings.
9363         Check notes.
9364         (flymake-tests--call-with-fixture): Use
9365         flymake-proc-diagnostic-type-pred.
9367 2017-10-03  João Távora  <joaotavora@gmail.com>
9369         Flymake checks file names before considering diagnostics
9371         The error patterns for gcc picked up errors for the Makefile itself,
9372         for example.  These shouldn't count as actual errors.
9374         * lisp/progmodes/flymake.el (flymake-report): Check
9375         matching file names.
9377 2017-10-03  João Távora  <joaotavora@gmail.com>
9379         Echo Flymake error messages when navigating errors interactively
9381         Perhaps binding M-n and M-p to flymake-goto-next-error and
9382         flymake-goto-prev-error also wouldn't be a bad idea.
9384         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
9385         target overlay's help-echo.
9387 2017-10-03  João Távora  <joaotavora@gmail.com>
9389         Add a new Flymake test for multiple errors and warnings
9391         * test/lisp/progmodes/flymake-tests.el
9392         (flymake-tests--call-with-fixture): Save excursion.
9393         (errors-and-warnings): New test.
9395         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
9396         New test fixture.
9398 2017-10-03  João Távora  <joaotavora@gmail.com>
9400         Flymake warning face easier to distinguish
9402         A orange wavy underline is very hard to tell from a red wavy
9403         underline.
9405         * lisp/progmodes/flymake.el (flymake-warning): Change color to
9406         "deep sky blue"
9408 2017-10-03  João Távora  <joaotavora@gmail.com>
9410         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
9412         Column numbers are not a great way of marking diagnostic regions, but
9413         that's probably all that can be expected from the flymake-proc.el
9414         backend.  For now, try (end-of-thing 'sexp) to discover the
9415         diagnostic's end position.
9417         * lisp/progmodes/flymake-proc.el ()
9418         (flymake-proc-err-line-patterns): Also parse column numbers,
9419         if available, for gcc/javac warnings.
9421 2017-10-03  João Távora  <joaotavora@gmail.com>
9423         New Flymake variable flymake-diagnostic-types-alist and much cleanup
9425         A new user-visible variable is introduced where different diagnostic
9426         types can be categorized.  Flymake backends can also contribute to
9427         this variable.  Anything that doesn’t match an existing error type
9428         is considered.
9430         The variable’s alists are used to propertize the overlays pertaining
9431         to each error type.  The user can override the built-in properties by
9432         either by modifying the alist, or by modifying the properties of a
9433         special "category" symbol, named by the `flymake-category' entry in
9434         the alist.
9436         The `flymake-category' entry is especially useful for, say, the author
9437         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
9438         should behave like notes, except with no fringe bitmap:
9440            (add-to-list 'flymake-diagnostic-types-alist
9441                         '(:foo-note
9442                           . ((flymake-category . flymake-note)
9443                              (bitmap . nil))))
9445         For essential properties like `severity', `priority', etc, a default
9446         value is produced.  Some properties like `evaporate' cannot be
9447         overriden.
9449         * lisp/progmodes/flymake.el (flymake--diag): Rename from
9450         flymake-ler.
9451         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
9452         (flymake-ler-errorp): Rewrite using flymake--severity.
9453         (flymake--place-overlay): Delete.
9454         (flymake--overlays): Now a cl-defun with &key args.  Document.
9455         Use `overlays-at' if BEG is non-nil and END is nil.
9456         (flymake--lookup-type-property): New helper.
9457         (flymake--highlight-line): Rewrite.
9458         (flymake-diagnostic-types-alist): New API variable.
9459         (flymake--diag-region)
9460         (flymake--severity, flymake--face)
9461         (flymake--fringe-overlay-spec): New helper.
9462         (flymake-popup-current-error-menu): Use new flymake-overlays.
9463         (flymake-popup-current-error-menu, flymake-report): Use
9464         flymake--diag-errorp.
9465         (flymake--fix-line-numbers): Use flymake--diag-line.
9466         (flymake-goto-next-error): Pass :key to flymake-overlays
9468         * lisp/progmodes/flymake-proc.el
9469         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
9471 2017-10-03  João Távora  <joaotavora@gmail.com>
9473         Refactor Flymake tests in preparation for more tests
9475         Introduce a slightly more generic fixture macro.
9477         Also make flymake-tests.el friendlier to interactive runs, by not
9478         killing buffers visited by the user.
9480         * test/lisp/progmodes/flymake-tests.el
9481         (flymake-tests--call-with-fixture): New helper from
9482         flymake-tests--current-face.  Don't kill file buffers already
9483         being visited before the test starts.
9484         (flymake-tests--with-flymake): New macro.
9485         (flymake-tests--current-face): Delete.
9486         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
9487         (warning-predicate-rx-perl, warning-predicate-function-perl):
9488         Use flymake-test--with-flymake.
9490 2017-10-03  João Távora  <joaotavora@gmail.com>
9492         Allow running Flymake tests from interactive sessions
9494         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
9495         Expand to reasonable value if no
9496         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
9497         "weirdness" of bug 17647 with read-event.
9499 2017-10-03  João Távora  <joaotavora@gmail.com>
9501         Flymake diagnostics now apply to arbitrary buffer regions
9503         Make Flymake UI some 150 lines lighter
9505         Strip away much of the original implementation's complexity in
9506         manipulating objects representing diagnostics as well as creating and
9507         navigating overlays.
9509         Lay some groundwork for a more flexible approach that allows for
9510         different classes of diagnostics, not necessarily line-based.
9511         Importantly, one overlay per diagnostic is created, whereas the
9512         original implementation had one per line, and on it it concatenated
9513         the results of errors and warnings.
9515         This means that currently, an error and warning on the same line are
9516         problematic and the warning might be overlooked but this will soon be
9517         fixed by setting appropriate priorities.
9519         Since diagnostics can highlight arbitrary regions, not just lines, the
9520         faces were renamed.
9522         Tests pass and backward compatibility with interactive functions is
9523         maintained, but probably any third-party extension or customization
9524         relying on more than a trivial set of flymake.el internals has stopped
9525         working.
9527         * lisp/progmodes/flymake-proc.el
9528         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
9529         constructor syntax.
9531         * lisp/progmodes/flymake.el (flymake-ins-after)
9532         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
9533         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
9534         (flymake-ler-set-full-file, flymake-ler-set-line)
9535         (flymake-get-line-err-count, flymake-get-err-count)
9536         (flymake-highlight-err-lines, flymake-overlay-p)
9537         (flymake-make-overlay, flymake-region-has-flymake-overlays)
9538         (flymake-find-err-info)
9539         (flymake-line-err-info-is-less-or-equal)
9540         (flymake-add-line-err-info, flymake-add-err-info)
9541         (flymake-get-first-err-line-no)
9542         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
9543         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
9544         (flymake-goto-line, flymake-goto-next-error)
9545         (flymake-goto-prev-error, flymake-patch-err-text): Delete
9546         functions no longer used.
9547         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
9548         (flymake-report): Rewrite.
9549         (flymake-popup-current-error-menu): Rewrite.
9550         (flymake--highlight-line): Rename from
9551         flymake-highlight-line.  Call `flymake--place-overlay.
9552         (flymake--place-overlay): New function.
9553         (flymake-ler-errorp): New predicate.
9554         (flymake-ler): Simplify.
9555         (flymake-error): Rename from
9556         flymake-errline.
9557         (flymake-warning): Rename from flymake-warnline.
9558         (flymake-warnline, flymake-errline): Obsoletion aliases.
9560         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
9561         (warning-predicate-function-gcc, warning-predicate-rx-perl)
9562         (warning-predicate-function-perl): Use face `flymake-warning'.
9564 2017-10-03  João Távora  <joaotavora@gmail.com>
9566         Move symbols in flymake-proc.el to separate namespace
9568         Every symbol in this flymake now starts with the prefix flymake-proc-.
9570         Make obsolete aliases for (almost?) every symbol.
9572         Furthermore, many flymake-proc.el symbols are prefixed with
9573         "flymake-proc--", that is they were considered internal.
9575         Some customization variables, interactive functions, and other symbols
9576         considered useful to user customizations or third-party libraries are
9577         considered "public" or "external" and so use a "flymake-proc-" prefix.
9579         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
9581         * test/lisp/progmodes/flymake-tests.el
9582         (flymake-tests--current-face): Use
9583         flymake-proc-warning-predicate, not flymake-warning-predicate.
9585         * lisp/progmodes/flymake-proc.el
9586         (flymake-proc--get-project-include-dirs-function)
9587         (flymake-proc--get-project-include-dirs-imp)
9588         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
9589         (flymake-proc--find-make-buildfile)
9590         (flymake-proc--get-syntax-check-program-args)
9591         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
9592         (flymake-proc--init-find-buildfile-dir)
9593         (flymake-proc--get-full-nonpatched-file-name)
9594         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
9595         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
9596         (flymake-proc--temp-source-file-name)
9597         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
9598         (flymake-proc--start-syntax-check-process)
9599         (flymake-proc--compilation-is-running)
9600         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
9601         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
9602         (flymake-proc--clear-project-include-dirs-cache)
9603         (flymake-proc--project-include-dirs-cache)
9604         (flymake-proc--get-system-include-dirs)
9605         (flymake-proc--get-project-include-dirs)
9606         (flymake-proc--add-project-include-dirs-to-cache)
9607         (flymake-proc--get-project-include-dirs-from-cache)
9608         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
9609         (flymake-proc--process-filter) (flymake-proc--create-master-file)
9610         (flymake-proc--find-buffer-for-file)
9611         (flymake-proc--copy-buffer-to-temp-buffer)
9612         (flymake-proc--read-file-to-temp-buffer)
9613         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
9614         flymake-proc--check-include)
9615         (flymake-proc--check-patch-master-file-buffer)
9616         (flymake-proc--master-file-compare)
9617         (flymake-proc--find-possible-master-files)
9618         (flymake-proc--included-file-name, flymake-proc--same-files)
9619         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
9620         (flymake-proc--clear-buildfile-cache)
9621         (flymake-proc--add-buildfile-to-cache)
9622         (flymake-proc--get-buildfile-from-cache)
9623         (flymake-proc--find-buildfile-cache)
9624         (flymake-proc--get-real-file-name-function)
9625         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
9626         (flymake-proc--get-file-name-mode-and-masks)
9627         (flymake-proc--processes): Rename to internal symbol from
9628         flymake-proc- version.
9630 2017-10-03  João Távora  <joaotavora@gmail.com>
9632         Completely rewrite Flymake's subprocess output processing
9634         Instead of parsing and matching regexps line-by-line, insert
9635         subprocess output in a separate buffer and parse using
9636         `search-forward-regexp'.  This eventually enables multi-line error
9637         patterns and simplifies code all around.  Store per-check information
9638         in the subprocess using `process-get' and `process-put'.  Treat error
9639         messages, warnings, etc. more generically as "diagnostics".  Create
9640         these objects as soon as possible, reusing existing `flymake-ler'
9641         structure.  Fix some whitespace.
9643         * lisp/progmodes/flymake.el (cl-lib): Require also when
9644         loading.
9645         (flymake--fix-line-numbers): Rename from
9646         flymake-fix-line-numbers.  Simplify.
9647         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
9648         plain diagnostics list into alist format expected by
9649         flymake-highlight-err-lines.
9651         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
9652         process output and parse in dedicated output buffer.
9653         (flymake-proc--diagnostics-for-pattern): New helper function.
9654         (flymake-process-sentinel): Call flymake-post-syntax-check with
9655         collected diagnostics.  Kill output buffer.
9656         (flymake-post-syntax-check): Receive diagnostics as third argument.
9657         (flymake-parse-output-and-residual, flymake-new-err-info)
9658         (flymake-parse-residual, flymake-parse-err-lines)
9659         (flymake-split-output, flymake-proc-parse-line)
9660         (flymake-output-residual): Delete.
9661         (flymake-start-syntax-check-process): Use make-process.  Setup
9662         dedicated an output buffer
9664 2017-10-03  João Távora  <joaotavora@gmail.com>
9666         Flymake provides flymake-report re-entry point for backends
9668         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
9669         Simplify.  Call flymake-report.
9671         * lisp/progmodes/flymake.el (flymake-report): New function.
9673 2017-10-03  João Távora  <joaotavora@gmail.com>
9675         Split Flymake into flymake.el into flymake-proc.el (again!)
9677         After deciding that this work would continue on master only, which
9678         caused two commits named
9680            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
9682         and
9684            Revert "Add flymake-backends defcustom"
9686         to be added to the emacs-26 branch, further discussion reversed that
9687         decision.
9689            See:
9691              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
9692              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
9694         This means that those two commits MUST be merged to master AFTER ALL.
9696         flymke-proc.el contains the main syntax-checking backend, while
9697         flymake.el keeps mostly the UI part.
9699         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
9701         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
9703 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
9705         Update authors.el
9707         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
9708         (authors-renamed-files-alist): Additions.
9710 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
9712         Give more helpful messages for python completion setup failures
9714         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
9715         case the completion setup failed with some exception, print out the
9716         exception type and message.  If libedit is detected, raise an
9717         exception, since this is known to fail.
9719 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
9721         Fix the --without-x build
9723         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
9724         frame_parent only in GUI builds to avoid compilation errors in
9725         --without-x builds.  (Bug#28611)
9727 2017-10-02  Paul Eggert  <eggert@day>
9729         Fix customization of zoneinfo-style-world-list
9731         A customizable variable's initial value cannot depend on that of
9732         another customizable variable, since the variables are initialized
9733         in other than textual order.  Problem reported by N. Jackson
9734         (Bug#24291).
9735         * lisp/time.el (display-time-world-list): Default to t,
9736         a special value that expands to zoneinfo-style-word-list
9737         if that works, and to legacy-style-word-list otherwise.
9738         (time--display-world-list): New function.
9739         (display-time-world, display-time-world-timer): Use it.
9741 2017-10-02  Alan Mackenzie  <acm@muc.de>
9743         Fix a CC Mode brace stack cache bug.
9745         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
9746         c-beginning-of-current-token after a failing search operation, to ensure we
9747         don't cache a point inside a token.
9749 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9751         * etc/PROBLEMS: Document Bug#26638.
9753 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9755         Prefer HTTPS to HTTP for gnu.org
9757         This fixes some URLs I omitted from my previous pass,
9758         notably those in lists.gnu.org.  Although lists.gnu.org
9759         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
9760         * lisp/erc/erc.el (erc-official-location):
9761         * lisp/mail/emacsbug.el (report-emacs-bug):
9762         Use https:, not http:.
9764 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9766         Merge from Gnulib
9768         This is mostly to change http: to https: in licenses.
9769         * COPYING, build-aux/config.guess, build-aux/config.sub:
9770         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
9771         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
9772         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
9773         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
9774         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
9775         * msdos/COPYING, nt/COPYING, src/COPYING:
9776         Copy from Gnulib.
9778 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
9780         Keep eww buffer current when looking up CSS on MDN
9782         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
9783         current when looking up CSS documentation on MDN.  This fixes a bug
9784         where the eww buffer's content sometimes get mangled when switching
9785         buffers mid-render.
9787 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
9789         Workaround for faulty localtime() under macOS 10.6
9791         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
9792         'decode-time' on times later than year -2**31 under macOS 10.6.
9793         See Bug#27706.
9795 2017-10-01  Alan Mackenzie  <acm@muc.de>
9797         Doc amendment for syntax-ppss.
9799         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
9800         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
9801         buffer.  Final part of the fix for bug #22983.
9803 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
9805         Remove incorrect NEWS entry about 'find-library'
9807         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
9808         'find-library' taking a prefix argument to pop to a different
9809         window.  This behavior was added in "Allow a prefix argument to
9810         find-library to pop to a different window" (commit e1f2d14a), and
9811         then removed in "New commands: find-library-other-window,
9812         find-library-other-frame" (commit 021430f4).
9814 2017-10-01  Alan Mackenzie  <acm@muc.de>
9816         Remove inadvertent changes to syntax.texi in last commit.
9818         * doc/lispref/syntax.texi (Position Parse): revert changes.
9820 2017-10-01  Alan Mackenzie  <acm@muc.de>
9822         Amend documentation for text-quoting-style becoming a user option.
9824         * doc/lispref/control.texi (Signaling Errors):
9825         * doc/lispref/display.texi (Displaying Messages):
9826         * doc/lispref/strings.texi (Formatting Strings):
9827         Edit for brevity, farming out the details to the new
9828         Text Quoting Style node.
9829         * doc/lispref/help.texi (Text Quoting Style): New section.
9830         Move detailed discussion of text-quoting-style here.
9831         Add discussion about how to output grave accent and apostrophe in
9832         documentation and messages.  Adjust xrefs to point to this section
9833         when appropriate.
9834         * etc/NEWS: text-quoting-style semantics have not changed.
9836 2017-10-01  Alan Mackenzie  <acm@muc.de>
9838         Make the value nil in text-quoting-style mean what it does in Emacs 25.
9840         This is a partial reversion of yesterday's commit by the same author, which
9841         changed the meaning of nil and introduced the new value t.
9843         * src/doc.c (text_quoting_style, text-quoting-style)
9844         (internal--text-quoting-flag): Revert yesterday's changes.
9846         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
9848         * etc/NEWS: Amend the entry for text-quoting-style.
9850         * doc/lispref/control.texi (Signalling Errors)
9851         * doc/lispref/display.texi (Displaying Messages)
9852         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
9853         grave rather than nil to inhibit translation of quotes.
9855         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
9856         proposed new default, t.
9858 2017-10-01  Alan Mackenzie  <acm@muc.de>
9860         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
9862         A value of nil for text-quoting-style now means "no translation".  t means
9863         "Use curved quotes if displayable".
9865         * src/doc.c (text-quoting-style (function)): modify for new semantics.
9866         (text-quoting-style (variable)): Amend the doc string, set the default value
9867         to t.
9869         * lisp/cus-start.el: (top level): Create a customize entry for
9870         text-quoting-style in group display.
9872         * etc/NEWS: Amend the entry for text-quoting-style.
9874         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
9875         quotes to curved quotes, and how to influence or inhibit it.
9877         * doc/lispref/control.texi (Signalling Errors)
9878         * doc/lispref/display.texi (Displaying Messages)
9879         * doc/lispref/strings.texi (Formatting Strings): Describe binding
9880         text-quoting-style to nil to inhibit unwanted quote translation.
9882         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
9883         from a variable to a user option.  Describe its changed set of values.  State
9884         that it can be customized freely.
9886 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
9888         eshell.texi improvements
9890         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
9891         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
9892         (Aliases): Add $*, $1, $2, ... to the variable index.
9894 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
9896         Fix ns-win.el on GNUstep
9898         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
9899         don't try it when not using Cocoa.
9901 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
9903         Fix reference style in org.texi
9905         * doc/misc/org.texi (A Texinfo example): Fix reference style.
9907 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
9909         Improve handling of iconification of child frames (Bug#28611)
9911         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
9912         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
9913         (iconify_child_frame): New option.
9914         * lisp/cus-start.el (iconify-child-frame): Add customization
9915         properties.
9916         * doc/lispref/frames.texi (Child Frames): Describe new option
9917         `iconify-child-frame'.  Don't index "top-level frame" twice.
9919 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
9921         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
9923         It broke the established argument handling methods provided by eshell
9924         aliases (Bug#28568).
9925         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
9926         arguments in aliases.
9927         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
9928         ARGS.
9930 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
9932         Make "unsafe directory" error message more informative (Bug#865)
9934         * lisp/server.el (server-ensure-safe-dir): Produce a description for
9935         each "unsafe" condition.
9937 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
9939         Fix slot typecheck in eieio-persistent
9941         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
9942           An `or' form can specify multiple potential classes (or null) as
9943           valid types for a slot, but previously only the final element of the
9944           `or' was actually checked. Now returns all valid classes in the `or'
9945           form.
9946           (eieio-persistent-validate/fix-slot-value): Check if proposed value
9947           matches any of the valid classes.
9948         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
9949           (eieio-test-multiple-class-slot): Test this behavior.
9951 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
9953         Fix semantic-ia-fast-jump
9955         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
9956         Use `pop-to-buffer-same-window' (bug#28645).
9958 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
9960         Bind vc-region-history
9962         * lisp/vc/vc-hooks.el (vc-prefix-map):
9963         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
9964         `vc-insert-headers' (Bug#27644).
9965         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
9966         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
9967         'C-x v h' with `vc-insert-headers'.
9968         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
9970 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
9972         Exit macro definition on undefined keys
9974         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
9975         (Bug#28008)
9977 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
9979         Reset bidi-paragraph-direction on article rendering
9981         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
9982         bidi-paragraph-direction on article rendering.  (Bug#28454)
9984 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
9986         Fix url-http use of url-current-object
9988         * lisp/url/url-http.el (url-http): Bind url-current-object before
9989         calling url-http-find-free-connection.  (Bug#28515)
9991 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
9993         Avoid assertions in vc-hg.el on MS-Windows
9995         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
9996         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
9997         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
9998         instead of relying on Unix file-name syntax.  This avoids
9999         assertion violations on MS-Windows.
10001 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10003         Improve documentation of 'copy-sequence'
10005         * src/fns.c (Fcopy_sequence):
10006         * doc/lispref/sequences.texi (Sequence Functions): Mention the
10007         exception when copying an empty sequence.  (Bug#28627)
10009 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10011         Minor update of ack.texi
10013         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
10014         contributions.
10016 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
10018         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
10020 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10022         Improve indexing of multi-file/buffer Isearch commands
10024         * doc/emacs/maintaining.texi (Identifier Search): Change wording
10025         of index entries to make them different from those for multi-file
10026         isearch commands.  (Bug#28584)
10027         * doc/emacs/search.texi (Other Repeating Search): Index the
10028         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
10029         each index entry close to its subject.
10031 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
10033         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
10035         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
10036         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
10037         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
10038         functions.
10039         (lcms-cam02-ucs): Refactor.
10040         (syms_of_lcms2): Declare new functions.
10041         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
10042         (lcms-jmh->cam02-ucs-silver): New tests.
10043         * etc/NEWS: Mention new functions.
10045 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
10047         Fix uses of @kindex in the Emacs manual
10049         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
10050         * doc/emacs/mark.texi (Global Mark Ring)
10051         (Disabled Transient Mark):
10052         * doc/emacs/buffers.texi (Select Buffer):
10053         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
10054         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
10056 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
10058         Merge from gnulib
10060         This incorporates:
10061         2017-09-28 string: code style
10062         2017-09-25 sys_types: update URL
10063         2017-09-23 install-sh: do not assume / = //
10064         2017-09-21 mktime: port to OpenVMS
10065         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
10066         * m4/sys_types_h.m4: Copy from Gnulib.
10067         * lib/gnulib.mk.in: Regenerate.
10069 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
10071         Prefer HTTPS to HTTP for gnu.org
10073         This catches some URLs I missed in my previous scan,
10074         or perhaps were added after the scan.
10076 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
10078         Wait for frame visibility with timeout in w32term too
10080         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
10081         variable.
10082         (x_make_frame_visible): Wait for frame to become visible according to
10083         its value.
10084         (input_signal_count): Remove.
10086 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
10088         Bring back the busy wait after x_make_frame_visible (Bug#25521)
10090         But wait specfically for a MapNotify event, and only for a
10091         configurable amount of time.
10092         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
10093         variable.
10094         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
10095         (x_make_frame_visible): Call x_wait_for_event at the end.
10096         * etc/NEWS: Announce x_wait_for_event.
10098 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
10100         Fix last doc string change in simple.el
10102         * lisp/simple.el (shell-command-saved-pos)
10103         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
10105 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
10107         Revert "bug#28609: simple.el"
10109         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
10111 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
10113         bug#28609: simple.el
10115         Correct grammar; also, call a pair a pair.
10117         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
10119 2017-09-29  Rasmus  <rasmus@gmx.us>
10121         Merge branch 'emacs-26' into scratch/org-mode-merge
10123 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
10125         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
10127         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
10128         above the `debugger' frame, rather than assuming there will be a
10129         `signal' frame.
10131 2017-09-28  Alan Third  <alan@idiocy.org>
10133         Revert "Fix build on macOS (bug#28571)"
10135         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
10137         Prematurely pushed.
10139 2017-09-28  Alan Third  <alan@idiocy.org>
10141         Fix build on macOS (bug#28571)
10143         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
10144         [DARWIN_OS]: Undefine.
10146 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
10148         Add tests for `css-current-defun-name'
10150         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
10151         (css-test-current-defun-name-nested)
10152         (css-test-current-defun-name-complex): New tests for
10153         `css-current-defun-name'.
10155 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
10157         In w32fullscreen_hook don't add decorations to undecorated frames
10159         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
10160         remove) decorations for undecorated frames.
10162 2017-09-28  João Távora  <joaotavora@gmail.com>
10164         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
10166         In other words, re-coalesce the two files,
10167         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
10168         into a single one, lisp/progmodes/flymake.el.
10170         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
10171         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
10172         are kept in place in the new lisp/progmodes/flymake.el.
10174         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
10176         Don't merge this back to master as development happening there builds
10177         upon this work. See also
10178         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
10180 2017-09-28  João Távora  <joaotavora@gmail.com>
10182         Revert "Add flymake-backends defcustom"
10184         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
10186         Don't merge this back to master as development happening there builds
10187         upon this work. See also
10188         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
10190 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10192         * src/editfns.c (styled_format): Fix typo in previous change.
10194 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10196         Avoid some unnecessary copying in Fformat etc.
10198         This patch is just for performance; it should not affect behavior.
10199         On my platform, it made the microbenchmark (format "%S" load-path)
10200         run about 45% faster.  It should also speed up calls like (message
10201         "%s" STRING).
10202         * src/callint.c (Fcall_interactively):
10203         * src/dbusbind.c (XD_OBJECT_TO_STRING):
10204         * src/editfns.c (Fmessage, Fmessage_box):
10205         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
10206         Use styled_format instead of Fformat or Fformat_message,
10207         to avoid unnecessary copying.
10208         * src/editfns.c (styled_format): New arg NEW_RESULT.
10209         All uses changed.  Reuse an input string if it has the
10210         right value and if !NEW_RESULT.
10211         * src/lisp.h (style_format): New decl.
10213 2017-09-26  John Wiegley  <johnw@newartisans.com>
10215         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
10217 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
10219         bug#28609: simple.el
10221         Correct grammar; also, call a pair a pair.
10223 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
10225         Use a separate syntax-ppss cache for narrowed buffers
10227         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
10228         New variable, to contain the data from `syntax-ppss-last' and
10229         `syntax-ppss-cache'.
10230         (syntax-ppss-cache, syntax-ppss-last): Remove.
10231         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
10232         (syntax-ppss-flush-cache): Flush both caches.
10233         (syntax-ppss--data): Return the appropriate last result and
10234         buffer cache for the current restriction.
10235         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
10237 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
10239         Improve python3-compatibility of fallback completion (Bug#28499)
10241         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
10242         inspect.getfullargspec instead of inspect.getargspec to avoid a
10243         deprecation warning on every usage of eldoc in python-mode.
10245 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10247         Fix subr-x-tests when running from elc
10249         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
10250         Use `eval' around the `should-error' cases.
10252 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10254         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
10256 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10258         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
10260         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
10261         variable alias for `sh-basic-offset'.
10262         (sh-mode, sh-smie--indent-continuation)
10263         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
10264         with `sh-basic-offset'.
10266 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
10268         Fix loading of smie-config rules (Bug#24848)
10270         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
10271         instead of `setq-default'.
10272         (smie-config): Use `custom-initialize-set' instead of
10273         `custom-initialize-default' as the :initialize argument.
10275         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
10276         we call `smie-config-guess' so that the user will have a chance to
10277         find the correct docstring to consult.  Remove hedging comments
10278         regarding use of abnormal hooks.
10280 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
10282         Reset default-directory inside *xref-grep* buffer
10284         * lisp/progmodes/xref.el (xref-collect-matches):
10285         Reset default-directory, too. (Bug#28575)
10287 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
10289         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
10290         code for smb.
10292 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
10294         Loosen strict parsing requirement for desktop files
10296         There are other desktop-looking files, for instance those having to do
10297         with MIME typess, that would benefit from being able to be read by this
10298         function.  It helps to have some flexibility.
10299         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
10300         * test/lisp/xdg-tests.el: Remove a test.
10302 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
10304         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
10306 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
10308         Fix documentation of `make-frame' and related variables and hooks
10310         * lisp/frame.el (before-make-frame-hook)
10311         (after-make-frame-functions, frame-inherited-parameters)
10312         (make-frame): Fix doc-strings.
10313         * doc/lispref/frames.texi (Creating Frames): Fix description
10314         of `make-frame' and related variables and hooks.
10316 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
10318         Accept new `always' value for option `buffer-offer-save'
10320         Also revert ee512e9a82
10322         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
10323           allows a third symbol value, `always'. A buffer where this option is
10324           set to `always' will always be offered for save by
10325           `save-some-buffers'.
10326           (save-some-buffers): Check the exact value of this buffer-local
10327           variable. No longer check the buffer name, or the value of
10328           `write-contents-functions'.
10329         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
10330         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
10331           names.
10332         * etc/NEWS: Mention in NEWS.
10334 2017-09-24  Alan Third  <alan@idiocy.org>
10336         Improve new NS scrolling variable names
10338         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
10339         'ns-use-mwheel-acceleration'.
10340         (ns-touchpad-scroll-line-height): Replace with
10341         'ns-mwheel-line-height'.
10342         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
10343         * etc/NEWS: Change variable names.
10345 2017-09-24  Philipp Stephani  <phst@google.com>
10347         Document 'replace-buffer-contents' in the manual.
10349         * doc/lispref/text.texi (Replacing): New node.
10351 2017-09-23  Alan Third  <alan@idiocy.org>
10353         Fix undecorated frame resizing issues on NS (bug#28512)
10355         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
10356         toolbar on undecorated frames.
10357         (EmacsView::initFrameFromEmacs): Group window flags correctly.
10359 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
10361         Fix doc string of 'dired-listing-switches'
10363         * lisp/dired.el (dired-listing-switches): Fix the quoting
10364         example.  (Bug#28569)
10366 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
10368         Documentation improvements for 'display-line-numbers'
10370         * doc/emacs/display.texi (Display Custom): Document a few more
10371         options for display-line-numbers.  (Bug#28533)  Fix a typo.
10373 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10375         Fix last change in bat-mode.el
10377         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
10378         change.  (Bug#28311)
10380 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10382         Fix restoring in GUI sessions desktop saved in TTY sessions
10384         * lisp/frameset.el (frameset-filter-font-param): New function.
10385         (frameset-persistent-filter-alist): Use it for processing the
10386         'font' frame parameter.  (Bug#17352)
10388 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10390         Improve syntax highlighting in bat-mode
10392         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
10393         font-locking of environment variables.  Suggested by Achim Gratz
10394         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
10396 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
10398         Document the 'list-FOO' convention
10400         * doc/lispref/tips.texi (Coding Conventions): Document the
10401         list-FOO convention.
10403 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
10405         Expose viewing conditions in CAM02-UCS metric
10407         Also add tests from the colorspacious library.  Finally, catch an
10408         errant calculation, where degrees were not being converted to radians.
10409         * src/lcms.c (deg2rad, default_viewing_conditions):
10410         (parse_viewing_conditions): New functions.
10411         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
10412         the docstring and explain viewing conditions.  JCh hue is given in
10413         degrees and needs to be converted to radians.
10414         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
10415         API needlessly impure.
10416         * test/src/lcms-tests.el: Reword commentary.
10417         (lcms-rgb255->xyz): New function.
10418         (lcms-cri-cam02-ucs): Fix let-binding.
10419         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
10421 2017-09-21  Alan Third  <alan@idiocy.org>
10423         Revert "Set frame size to actual requested size (bug#18215)"
10425         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
10427         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
10429 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
10431         Add tests for Edebug
10433         * test/lisp/emacs-lisp/edebug-tests.el: New file.
10434         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
10436 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
10438         Catch more messages in ert-with-message-capture
10440         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
10441         messages from prin1, princ and print.
10442         (ert--make-message-advice): New function.
10443         (ert--make-print-advice): New function.
10445 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10447         Support setting region from secondary selection and vice versa
10449         * lisp/mouse.el (secondary-selection-exist-p): New function to
10450         allow callers to tell existence of the secondary selection
10451         in current buffer.
10452         (secondary-selection-to-region): New function to set
10453         beginning and end of the region from those of the secondary
10454         selection.
10455         (secondary-selection-from-region): New function to set
10456         beginning and end of the secondary selection from those of
10457         the region.  (Bug#27530)
10459         * etc/NEWS: Mention the new functions.
10461 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10463         Fix new copy-directory bug with empty dirs
10465         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
10466         (Bug#28483#34).  This is another bug that I introduced in my
10467         recent copy-directory changes.
10468         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
10469         * test/lisp/files-tests.el (files-tests--copy-directory):
10470         Test for this bug.
10472 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
10474         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
10476 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
10478         Fix 2 testsuite tests for MS-Windows
10480         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
10481         create files with "*" in their names.
10482         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
10483         results to MS-Windows build.  Reported by Fabrice Popineau
10484         <fabrice.popineau@gmail.com>.
10486 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
10488         Rename timer-list to list-timers
10490         * doc/emacs/anti.texi (Antinews):
10491         * doc/lispref/os.texi (Timers):
10492         * etc/NEWS:
10493         * lisp/emacs-lisp/timer-list.el:
10494         (timer-list-mode): Rename timer-list to list-timers.
10496 2017-09-19  Alan Third  <alan@idiocy.org>
10498         Provide native touchpad scrolling on macOS
10500         * etc/NEWS: Describe changes.
10501         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
10502         mouse-wheel-progressive-speed): Set to smarter values for macOS
10503         touchpads.
10504         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
10505         calculate scrolling for touchpads and mouse wheels.
10506         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
10507         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
10508         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
10509         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
10510         * lisp/mwheel.el (mwheel-scroll): Use line count.
10511         * lisp/subr.el (event-line-count): New function.
10513 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10515         Fix MinGW64 build broken by recent MinGW64 import libraries
10517         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
10518         MinGW64 import libraries require that.  (Bug#28493)
10520         * src/Makefile.in: Adjust commentary to the new order of w32
10521         libraries.
10523 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10525         Fix crashes in 'move-point-visually' in minibuffer windows
10527         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
10528         comparing against the last valid glyph_row of a window glyph
10529         matrix.  (Bug#28505)
10531 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10533         * src/emacs.c (usage_message): Don't mention 'find-file'.
10535 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10537         Fix a minor inaccuracy in the Emacs manual
10539         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
10540         'find-file', as the implementation has changed.  Reported by
10541         Everton J. Carpes <everton.carpes@gmail.com> in
10542         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
10544 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
10546         Fix errors in flyspell-post-command-hook
10548         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
10549         case of a nil Nth element of the language dictionary slot.  This
10550         avoids errors in 'flyspell-post-command-hook' when switching
10551         dictionaries with some spell-checkers.  (Bug#28501)
10553 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
10555         Work on Tramp's file-truename
10557         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
10558         Check also for symlinks.
10559         (tramp-sh-handle-file-truename): Move check for a symlink
10560         cycle to the end.  Do not blame symlinks which look like a
10561         remote file name.
10563         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
10565 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
10567         Fix bug with make-directory on MS-Windows root
10569         * lisp/files.el (files--ensure-directory): Treat any error, not
10570         just file-already-exists, as an opportunity to check whether DIR
10571         is already a directory (Bug#28508).
10573 2017-09-19  Tom Tromey  <tom@tromey.com>
10575         Fix log-view-diff-common when point is after last entry
10577         Bug#28466
10578         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
10579         entry, look at the previous revision.
10581 2017-09-18  Ken Brown  <kbrown@cornell.edu>
10583         Adapt fileio-tests--symlink-failure to Cygwin
10585         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
10586         [CYGWIN]: Skip the case of a symlink target starting with '\';
10587         this is treated specially on Cygwin.
10589 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
10591         Ignore buffers whose name begins with a space in save-some-buffers
10593         * lisp/files.el (save-some-buffers): Consider these buffers
10594           "internal", and don't prompt the user to save them.
10595         * doc/lispref/files.texi: Document.
10597 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
10599         Improve tramp-interrupt-process robustness
10601         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
10602         process has disappeared.
10604 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
10606         Minor Tramp doc update
10608         * doc/misc/tramp.texi (Frequently Asked Questions):
10609         Mention `vc-handled-backends'.
10611 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
10613         Fix gensym
10615         * lisp/subr.el (gensym): Actually implement the default prefix.
10616         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
10618 2017-09-18  Rasmus  <rasmus@gmx.us>
10620         Update Org to v9.1.1
10622         Please see etc/ORG-NEWS for major changes.
10624 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
10626         Cleanup in files-tests.el
10628         * test/lisp/files-tests.el (files-tests--make-directory)
10629         (files-tests--copy-directory): Cleanup temporary directories.
10631 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10633         Remove old cl-assert calls in 'newline'
10635         * lisp/simple.el (newline): Remove cl-assert calls
10636         that didn't seem to be helping us debug Bug#18913,
10637         and that caused problems as reported in Bug#28280.
10638         Suggested by Glenn Morris (Bug#28280#8).
10640 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10642         Avoid crash with C-g C-g in GC
10644         Problem reported by Richard Stallman (Bug#17406).
10645         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
10646         * src/term.c (tty_send_additional_strings):
10647         Use only safe accessors, to avoid crash when C-g C-g in GC.
10649 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10651         Fix format-time-string %Z bug with negative tz
10653         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
10654         numeric zone is negative (Bug#28746).
10655         * test/src/editfns-tests.el (format-time-string-with-zone):
10656         Add test for this bug.
10658 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10660         message-citation-line-format %Z is now tz name
10662         * etc/NEWS:
10663         * lisp/gnus/message.el (message-citation-line-format):
10664         Fix doc to match new behavior (Bug#28476).
10666 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
10668         Use doc-view or pdf-tools on any window-system
10670         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
10671         window-system.
10673 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10675         Fix bug with min and max and NaNs
10677         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
10678         mistakenly yielded 0.  Also, pacify GCC in a better way.
10679         * test/src/data-tests.el (data-tests-min): Test for the bug.
10681 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
10683         Fix recently-introduced copy-directory bug
10685         Problem reported by Andrew Christianson (Bug#28451):
10686         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
10687         destination directory if it does not exist, even if it is a
10688         directory name.  Simplify, and omit unnecessary test for an
10689         already-existing non-directory target, since make-directory
10690         diagnoses that for us now.
10691         * test/lisp/files-tests.el (files-tests--copy-directory):
10692         Test for this bug.
10694 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
10696         Merge from Gnulib
10698         This incorporates:
10699         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
10700         2017-09-13 all: Replace many more http URLs by https URLs
10701         * build-aux/config.guess, build-aux/config.sub:
10702         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
10703         * lib/allocator.h, lib/count-leading-zeros.h:
10704         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
10705         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
10706         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
10707         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
10708         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
10709         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
10710         Copy from Gnulib.
10711         * lib/gnulib.mk.in: Regenerate.
10713 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
10715         Fix compatibility problem in Tramp
10717         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
10719         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
10720         (top): Do not call `tramp-change-syntax' anymore.
10721         (tramp-compat-directory-name-p): New defalias.
10723         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
10724         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
10725         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
10726         (tramp-smb-handle-copy-file): Use it.
10728         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
10729         Modify test.
10731 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
10733         Avoid GCC 7 compilation warning in eval.c
10735         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
10736         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
10737         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
10739 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
10741         Adapt Tramp version.  Do not merge
10743         * doc/misc/trampver.texi:
10744         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
10745         (customize-package-emacs-version-alist): Add Tramp version
10746         integrated in Emacs 26.1.
10748 2017-09-17  Tom Tromey  <tom@tromey.com>
10750         Search for Syntax section when viewing MDN
10752         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
10753         "Syntax" section.
10755 2017-09-17  Tom Tromey  <tom@tromey.com>
10757         Allow smerge-keep-current to work for empty hunks
10759         Bug#25555
10760         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
10761         match-end.
10762         * test/lisp/vc/smerge-mode-tests.el: New file.
10764 2017-09-17  Tom Tromey  <tom@tromey.com>
10766         Call vc-setup-buffer in vc-git-log-{in,out}going
10768         Bug#28427:
10769         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
10770         vc-setup-buffer.
10772 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
10774         Fix last change to textmodes/page-ext.el
10776         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
10777         while we build it (bug#28431).
10779 2017-09-16  Glenn Morris  <rgm@gnu.org>
10781         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
10783 2017-09-16  Glenn Morris  <rgm@gnu.org>
10785         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
10787         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
10789 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10791         Fix compilation warning in etags.c
10793         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
10794         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
10796 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
10798         Add lisp variable lcms-d65-xyz
10800         This serves as the default optional argument for functions in this
10801         library.
10802         * src/lcms.c (lcms-d65-xyz): New variable.
10803         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
10804         color1 -> color2.
10805         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
10806         (lcms-colorspacious-d65): New variable.
10808 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
10810         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
10812 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
10814         Avoid MinGW64 compiler warnings in unexw32.c
10816         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
10817         64-bit build.
10819 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10821         Start emacs-26 release branch
10823         * configure.ac:
10824         * nt/README.W32:
10825         * README:
10826         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
10828         * lisp/cus-edit.el (customize-changed-options-previous-release):
10829         Update value to "25.3".
10831 2017-09-16  Alan Mackenzie  <acm@muc.de>
10833         Cope better with C++ and Objective-C protection keywords in class declarations
10835         This fix fixes the fontification of a method inside a class at the time it is
10836         typed, when there is a protection keyword clause preceding it.
10838         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
10839         keywords.
10840         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
10841         clauses too eagerly.
10843         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
10844         lang defconsts and defvars.
10846         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
10847         keyword following a semicolon or brace, move forward over it before attempting
10848         to parse a type.
10850 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10852         Fix order of sorted overlays returned by 'overlays-at'
10854         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
10855         list of results, to have their order as per the documentation.
10856         (Bug#28390)
10858         * etc/NEWS: Mention the change in the behavior of overlays-at.
10860 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10862         Disable execution of unsafe Lisp by Enriched Text mode
10864         * src/xdisp.c (handle_display_spec): If the display property is
10865         wrapped in 'disable-eval' form, disable Lisp evaluation while
10866         processing this property.
10867         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
10868         If that argument is false, don't evaluate Lisp while processing
10869         display properties.
10871         * lisp/textmodes/enriched.el
10872         (enriched-allow-eval-in-display-props): New defcustom.
10873         (enriched-decode-display-prop): If
10874         enriched-allow-eval-in-display-props is nil, wrap the display
10875         property with 'disable-eval' to disable Lisp evaluation when the
10876         display property is processed for display.  (Bug#28350)
10877         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
10878         enriched text.
10880         * doc/lispref/display.texi (Display Property): Document the
10881         'disable-eval' wrapping of 'display' properties.
10882         * doc/emacs/text.texi (Enriched Properties): Document
10883         'enriched-allow-eval-in-display-props'.
10885         * etc/NEWS: Describe the security issues with Enriched Text mode
10886         and their solution.
10888 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10890         Avoid MinGW64 compilation warning in w32.c
10892         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
10894 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10896         Fix MS-Windows build broken by recent changes in lcms.c
10898         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
10899         and cmsxyY2XYZ function pointers.
10900         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
10901         cmsxyY2XYZ from liblcms2.
10902         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
10903         corresponding function pointers.
10904         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
10905         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
10907 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
10909         Avoid GCC 7 compilation warning in data.c
10911         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
10912         warnings.  Reported by Fabrice Popineau
10913         <fabrice.popineau@centralesupelec.fr>.
10915 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
10917         Add lcms-temp->white-point and initial tests
10919         * src/lcms.c (lcms-temp->white-point): New function.
10920         * test/src/lcms-tests.el: New file.
10922 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
10924         Use cl-print in timer list
10926         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
10927         for handling functions.
10928         (timer-list-mode): Capitalize major mode name.  Set bidi direction
10929         as in tabulated-list-mode.
10931 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10933         Make landscape layout with geometry package rather than a PostScript special.
10935         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
10936         default class option.
10937         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
10938         request to `cal-tex-insert-preamble' function call within the
10939         class option string.
10940         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
10941         to `cal-tex-insert-preamble' function, as it is default.
10942         (cal-tex-insert-preamble): Suppress landscape and size
10943         argument, and replace them by a class-options string
10944         argument. Do not insert any longer "\special{landscape}" in
10945         case of landscape layout, as the job is made by the geometry
10946         package.
10948 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
10950         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
10952 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
10954         One more attempt to avoid GCC 7 warnings in dispnew.c
10956         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
10957         eassert, to avoid compilation warnings about NULL pointer
10958         dereferences.
10960 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
10962         Fix color-distance docstring
10964         Also feed the translated color to the metric argument.
10965         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
10966         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
10967         instead of the function's color arguments.
10969 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
10971         Improve Tramp behavior according to bug#27986
10973         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
10974         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
10975         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
10976         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
10977         directory name when existing.  Use `file-name-as-directory'
10978         where appropriate.
10980 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
10982         More JSON optimization
10984         Last I checked, inlining json-skip-whitespace didn't make much
10985         difference.  However, changing defsubsts to define-inline results
10986         in roughly 15% reduction in read time on a 200K file.
10987         * lisp/json.el (json-advance, json-peek, json-pop):
10988         (json-skip-whitespace): Inline with define-inline.
10989         (json-read-keyword): Don't use whitespace syntax.
10990         (json-add-to-object): Simpler condition.
10992 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
10994         Avoid crashes due to invalid error forms from sentinels/filters
10996         * src/process.c (exec_sentinel_error_handler): Make sure the error
10997         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
10999 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
11001         Avoid compilation warnings with GCC 7 on MS-Windows
11003         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
11004         (w32_read_socket): Initialize variables to shut up bogus
11005         compilation warnings from GCC 7.
11006         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
11007         to avoid compiler warnings about printing signed values using %x
11008         format spec.
11009         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
11010         compiler warning about possible NULL pointer dereference.
11011         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
11013 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
11015         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
11017         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
11018         case only to avoid unused macros warning otherwise.
11020 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
11022         In w32heap.c bump up DUMPED_HEAP_SIZE
11024         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
11025         to 13*1024*1024 for 32-bit non-wide-integer builds.
11027 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
11029         Bind n,p in timer-list
11031         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
11032         to next- and previous-line, respectively.
11034 2017-09-14  Glenn Morris  <rgm@gnu.org>
11036         * lisp/net/tls.el (tls-program): Fix :version.
11038 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11040         * configure.ac (--with-lcms2, --without-lcms2): New options.
11042 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11044         Avoid 64-bit compilation warnings in unexw32.c
11046         * src/unexw32.c (pDWP): New macro.
11047         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
11048         pDWP for printing values that can be either 32-bit or 64-bit wide.
11050 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11052         Fix warnings about formats in printf-like functions on MS-Windows
11054         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
11055         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
11056         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
11057         for the details.
11058         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
11059         definition specific to MinGW64.
11060         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
11061         __mingw_printf__ in ANSI-compatible mode.
11063 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
11065         Support lcms2 in MS-Windows builds
11067         * lisp/term/w32-win.el (dynamic-library-alist): Include
11068         association for the lcms2 library.
11070         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
11071         DEF_DLL_FN to define pointers to dynamically loaded lcms2
11072         functions.
11073         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
11074         (cmsCIECAM02Done): New macros.
11075         (init_lcms_functions, Flcms2_available_p): New functions.
11076         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
11077         init_lcms_functions.
11078         (syms_of_lcms2): Defsubr lcms2-available-p.
11079         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
11081         * configure.ac: Include lcms2 in the final report and in
11082         emacs_config_features.
11084         * nt/INSTALL:
11085         * nt/INSTALL.W64: Update with the information about lcms2 library.
11087 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11089         Port renameat_noreplace to openSUSE 12.3
11091         Problem reported by M. Nomiya in:
11092         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
11093         * src/sysdep.c (renameat_noreplace):
11094         Call renameat2 only if CYGWIN.
11096 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11098         Prefer HTTPS to FTP and HTTP in documentation
11100         Most of this change is to boilerplate commentary such as license URLs.
11101         This change was prompted by ftp://ftp.gnu.org's going-away party,
11102         planned for November.  Change these FTP URLs to https://ftp.gnu.org
11103         instead.  Make similar changes for URLs to other organizations moving
11104         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
11105         fsf.org when this works, as this will further help defend against
11106         man-in-the-middle attacks (for this part I omitted the MS-DOS and
11107         MS-Windows sources and the test tarballs to keep the workload down).
11108         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
11109         for now.
11111 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
11113         Prefer HTTPS to HTTP for gnu.org
11115         This patch just changes code files; a followup companion patch
11116         (much larger) will affect the commentary.  This part is
11117         separated out to make it easier to review.
11118         * .dir-locals.el (change-log-mode):
11119         * lisp/org/org-info.el (org-info-other-documents)
11120         (org-info-map-html-url):
11121         * lisp/org/ox-html.el (org-html-creator-string):
11122         * lisp/startup.el (fancy-startup-text, fancy-about-text)
11123         (fancy-splash-head):
11124         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
11125         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
11126         Use HTTPS instead of HTTP.
11128 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
11130         Add tests for color.el
11132         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
11133         docstrings that RGB triplets should use four digits per component.
11134         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
11135         warning.
11137         * test/lisp/color-tests.el: New file.
11139 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
11141         Make gnutls-verify-error work again with url-retrieve-synchronously
11143         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
11144         we're doing async connections (bug#26835).
11146         * lisp/url/url-parse.el (url): Add an asynchronous slot.
11148         * lisp/url/url.el (url-asynchronous): New variable.
11149         (url-retrieve-internal): Store the value.
11150         (url-retrieve-synchronously): Bind the variable.
11152 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
11154         Improve backward compatibility of tramp-tests
11156         * test/lisp/net/tramp-tests.el (seq): Don't require.
11157         (tramp--test-emacs26-p): New defun.
11158         (tramp-test10-write-region, tramp-test11-copy-file)
11159         (tramp-test12-rename-file, tramp-test15-copy-directory)
11160         (tramp-test21-file-links): Use it.
11161         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
11163 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
11165         * lisp/net/trampver.el (customize-package-emacs-version-alist):
11167         Add Tramp version integrated in Emacs 25.3.
11169 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11171         Add clarification to if-let* docstring
11173         Also make its behavior consistent with and-let* in that empty bindings
11174         results in success, not failure.
11175         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
11177 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
11179         Make fully qualified domain names more fully qualified
11181         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
11182         system-name without any periods as a fully qualified domain name.
11184 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11186         Remove unused file lib/getopt_.h
11188         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
11189         on 2011-01-08, but I forgot to remove the old file.
11191 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11193         Remove "baroque" use of prefix argument from gensym
11195         'cl-gensym' was simply moved here, but let us take an opportunity to
11196         shed some historical baggage.
11197         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
11198         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
11199         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
11200         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
11202 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11204         Provide an lcms2 feature
11206         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
11208 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11210         Add lcms2 interface
11212         configure.ac: Add boilerplate for configuring and detecting liblcms2.
11213         etc/NEWS: Mention new configure option and color-distance change.
11214         src/Makefile.in: Add references to lcms.c and liblcms.
11215         src/emacs.c: Define lcms2 symbols.
11216         src/lcms.c: New file.
11217         src/lisp.h: Add declaration for lcms2.
11218         src/xfaces.c: Add optional METRIC argument.
11220 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11222         Add other D series white points and some simple conversions
11224         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
11225         constants.
11226         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
11227         (color-lch-to-lab): New functions.
11229 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
11231         Permit non-integral color gradients
11233         * lisp/color.el (color-gradient): Float the step-number.
11235 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11237         Protect against malformed MIME messages that cause inf-loop (bugfix)
11239         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
11240         Protect against malformed MIME messages that cause inf-loop.
11242 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11244         Merge from Gnulib
11246         This incorporates:
11247         2017-09-13 all: prefer https: URLs
11248         This just changes http: to https: in comments,
11249         in files copied from Gnulib.
11251 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
11253         Call vc-resynch-buffer in vc-git-resolve-when-done
11255         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
11256         Call vc-resynch-buffer on the current file (bug#28121).
11257         Move its autoload to before this function.
11259 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
11261         Allow write-contents-functions to short-circuit buffer save
11263         Bug#28412
11265         * lisp/files.el (basic-save-buffer): Re-arrange function so that
11266           write-contents-functions are run earlier. If they return non-nil,
11267           consider the buffer saved without requiring the buffer to be
11268           visiting a file.
11269           (save-some-buffers): This function should consider any buffer with a
11270           buffer-local value for write-contents-functions eligible for
11271           saving.
11272         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
11273           test.
11274         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
11275         * etc/NEWS: And in NEWS.
11277 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11279         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
11281 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11283         Less chatter for ’make info/dir’
11285         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
11286         that an ordinary make says just "GEN info/dir" rather than
11287         also having a seemingly-unrelated mv line.
11289 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11291         Tweak Gnus doc re gnus-copy-file
11293         * doc/misc/gnus.texi (Saving Articles):
11294         Document behavior with directory name targets (Bug#27986).
11295         Problem reported by Katsumi Yamaoka in:
11296         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
11298 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11300         Update uses of if-let and when-let
11302         * lisp/dom.el (dom-previous-sibling):
11303         * lisp/emacs-lisp/package.el (package--with-work-buffer):
11304         (package--sort-deps-in-alist, package--sort-by-dependence):
11305         (package-install-from-archive, package-install):
11306         (package-menu-execute, package-menu--populate-new-package-list):
11307         * lisp/filenotify.el (file-notify--rm-descriptor):
11308         (file-notify--event-watched-file, file-notify--event-file-name):
11309         (file-notify--event-file1-name, file-notify-rm-watch):
11310         (file-notify-valid-p):
11311         * lisp/gnus/message.el (message-toggle-image-thumbnails):
11312         * lisp/gnus/nnimap.el (nnimap-request-move-article):
11313         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
11314         * lisp/mpc.el (mpc-format):
11315         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
11316         (eww-save-history):
11317         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
11318         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
11319         * lisp/svg.el (svg-remove):
11320         * lisp/textmodes/css-mode.el (css--named-color):
11321         (css--colon-inside-funcall):
11322         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
11323         (html-current-buffer-ids): Use if-let* and when-let* instead.
11325 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11327         Implement and-let*
11329         This also includes changes to if-let and when-let.  The single tuple
11330         special case is ambiguous, and binding a symbol to nil is not as
11331         useful as binding it to its value outside the lexical scope of the
11332         binding.  (Bug#28254)
11333         * etc/NEWS: Mention.
11334         * lisp/emacs-lisp/subr-x.el (internal--listify):
11335         (internal--build-binding-value-form): Extend to account for
11336         solitary symbols and (EXPR) items in binding varlist.
11337         (if-let*, when-let*): Nix single tuple case and incumbent
11338         bind-symbol-to-nil behavior.
11339         (and-let*): New macro.
11340         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
11341         they implicitly gain the new features without breaking existing code.
11342         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
11343         single-tuple special case, lack of binding solitary symbols to nil,
11344         and the introduction of uninterned symbols for (EXPR) bindings.  Add
11345         SRFI-2 test suite adapted to Elisp.
11347 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
11349         Fix minor typos in the Emacs manual
11351         * doc/emacs/text.texi (Org Organizer):
11352         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
11354 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11356         Merge Emacs 25.3 fixes
11358         The security patches released for Emacs 25.3 were less drastic
11359         than what we had immediately put into master.  Adjust master to
11360         match 25.3 (Bug#28350).
11361         * lisp/textmodes/enriched.el (enriched-translations):
11362         Re-enable FUNCTION and display translations that are safe.
11363         (enriched-handle-display-prop): Bring back.
11364         (enriched-decode-display-prop): Bring back, but disable
11365         the unsafe part.
11367 2017-09-12  Alan Mackenzie  <acm@muc.de>
11369         Don't match C++ template delims starting within a token.  FIxes bug #28418.
11371         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
11372         attempted match from the start of a token (in particular, "<<"), move to the
11373         next token rather than the nex character before searching for the next "<".
11375 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11377         Move gensym to core Elisp
11379         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
11380         after make-symbol.
11381         * etc/NEWS: Mention.
11382         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
11383         gensym-counter.
11384         (cl-gensym): Alias to gensym.
11385         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
11386         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
11387         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
11388         (ert--expand-should-1, ert--expand-should):
11389         (ert--should-error-handle-error):
11390         * lisp/emacs-lisp/generator.el (cps--gensym):
11391         * lisp/emacs-lisp/gv.el (setf):
11392         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
11393         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
11394         (pcase--funcall, pcase--u1): Use gensym.
11395         * lisp/subr.el (gensym-counter): New variable.
11396         (gensym): New function, assimilated from cl-lib.
11398 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11400         Fix cl-gentemp
11402         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
11403         (cl-gentemp): Use it.  Change prefix to "T".
11405 2017-09-12  Sam Steingold  <sds@gnu.org>
11407         gnus-score-file-name: Do not append empty suffix.
11409 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
11411         Extend tramp-tests according to bug#27986
11413         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
11414         (tramp-test12-rename-file, tramp-test15-copy-directory)
11415         (tramp-test21-file-links): Extend tests.
11416         (tramp-test13-make-directory, tramp-test14-delete-directory):
11417         Specifiy error symbol in `should-error'.
11419 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11421         Add cl-print method for hash tables
11423         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
11425 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
11427         Add docstrings to cl-print entry points
11429         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
11430         (cl-prin1, cl-prin1-to-string): Add docstrings.
11432 2017-09-12  Glenn Morris  <rgm@gnu.org>
11434         Improve reproducibility of generated leim-list.el
11436         * lisp/international/quail.el (quail-update-leim-list-file):
11437         Sort the quail directory listing, for more stable output.
11439 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
11441         Include sxhash of object with printed bytecode
11443         This printing, while succint, is rather opaque.  At least give an
11444         immediate clue of whether different byte code printouts are for the
11445         same or different byte code objects.
11446         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
11447         printed token "#<bytecode>".
11449 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
11451         Update documentation of 'max-lisp-eval-depth'
11453         * doc/lispref/eval.texi (Eval): Update the documented default
11454         value of 'max-lisp-eval-depth'.
11456 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
11458         Another place to produce debugging output in etags
11460         * lib-src/etags.c (Ruby_functions): One more place to print
11461         debugging output under --debug.
11463 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
11465         Improve documentation of etags-related features
11467         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
11468         'xref-prompt-for-identifier'.  (Bug#28403)
11469         (Etags Regexps): Document \D back references in etags regexps.
11471 2017-09-11  Alan Third  <alan@idiocy.org>
11473         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
11475         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
11476         Change macOS compatibility from 10.9 to 10.10.
11478 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
11480         Further optimization in Tramp's file name decomposition
11482         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
11483         components.  Call `custom-set-variables' after loading.
11484         (tramp-build-prefix-format, tramp-build-prefix-regexp)
11485         (tramp-build-method-regexp)
11486         (tramp-build-postfix-method-format)
11487         (tramp-build-postfix-method-regexp)
11488         (tramp-build-prefix-ipv6-format)
11489         (tramp-build-prefix-ipv6-regexp)
11490         (tramp-build-postfix-ipv6-format)
11491         (tramp-build-postfix-ipv6-regexp)
11492         (tramp-build-postfix-host-format)
11493         (tramp-build-postfix-host-regexp)
11494         (tramp-build-file-name-regexp)
11495         (tramp-build-completion-file-name-regexp): New defuns.
11496         (tramp-prefix-format, tramp-prefix-regexp)
11497         (tramp-method-regexp, tramp-postfix-method-format)
11498         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
11499         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
11500         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
11501         (tramp-postfix-host-regexp)
11502         (tramp-remote-file-name-spec-regexp)
11503         (tramp-file-name-structure, tramp-file-name-regexp)
11504         (tramp-completion-file-name-regexp): Convert defuns into defvars.
11505         (tramp-prefix-regexp-alist)
11506         (tramp-postfix-method-regexp-alist)
11507         (tramp-prefix-ipv6-regexp-alist)
11508         (tramp-postfix-ipv6-regexp-alist)
11509         (tramp-postfix-host-regexp-alist)
11510         (tramp-remote-file-name-spec-regexp-alist): Remove.
11511         (tramp-build-remote-file-name-spec-regexp)
11512         (tramp-build-file-name-structure): Simplify.
11513         (tramp-completion-file-name-regexp-alist): New defconst.
11514         (tramp-tramp-file-p, tramp-dissect-file-name)
11515         (tramp-make-tramp-file-name)
11516         (tramp-completion-make-tramp-file-name)
11517         (tramp-rfn-eshadow-update-overlay-regexp)
11518         (tramp-register-file-name-handlers)
11519         (tramp-completion-handle-file-name-all-completions)
11520         (tramp-completion-dissect-file-name, tramp-clear-passwd):
11521         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
11522         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
11523         (tramp-compute-multi-hops): Use variables but functions for
11524         file name components.
11526         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
11527         Use variables but functions for file name components.
11529 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11531         Port tramp-tests to new copy-directory behavior
11533         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
11534         Use directory name as arg for copy-directory when we want
11535         the special behavior.
11537 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11539         Adjust thumbs to new rename-file behavior
11541         * etc/NEWS: Mention this.
11542         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
11543         as special only if it is a directory name.  When there is
11544         a marked list, turn the destination into a directory name
11545         if it is not already.
11547 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11549         Adjust ob-tangle to new copy-file behavior
11551         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
11552         Port to new copy-file behavior.
11554 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11556         Make gnus-copy-file act like copy-file etc.
11558         * etc/NEWS: Mention this.
11559         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
11560         as special only if it is a directory name.
11562 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11564         Make write-file act like copy-file etc.
11566         Change write-file to be consistent with the new behavior
11567         of copy-file, etc.
11568         * etc/NEWS: Mention this.
11569         * lisp/files.el (write-file): Treat the destination as special
11570         only if it is a directory name.
11572 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11574         Make copy-directory act like copy-file etc.
11576         Do the special dance with the destination only if it is a
11577         directory name, for consistency with copy-file etc. (Bug#27986).
11578         * doc/emacs/files.texi (Copying and Naming):
11579         * doc/lispref/files.texi (Create/Delete Dirs):
11580         * etc/NEWS: Document this.
11581         * lisp/files.el (copy-directory): Treat NEWNAME as special
11582         only if it is a directory name.
11584 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11586         Fix some make-directory bugs
11588         * lisp/files.el (files--ensure-directory): New function.
11589         (make-directory): Use it to avoid bugs when (make-directory FOO t)
11590         is invoked on a non-directory, or on a directory hierarchy that
11591         is being built by some other process while Emacs is running.
11592         * test/lisp/files-tests.el (files-tests--make-directory): New test.
11594 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11596         Fix race with rename-file etc. with dir NEWNAME
11598         This changes the behavior of rename-file etc. slightly.
11599         The old behavior mostly disagreed with the documentation, and had
11600         a race condition bug that could allow attackers to modify victims'
11601         write-protected directories (Bug#27986).
11602         * doc/lispref/files.texi (Changing Files): Document that in
11603         rename-file etc., NEWFILE is special if it is a directory name.
11604         * etc/NEWS: Document the change in behavior.
11605         * src/fileio.c (directory_like): Remove.  All uses removed.
11606         (expand_cp_target): Test only whether NEWNAME is a directory name,
11607         not whether it is currently a directory.  This avoids a race.
11608         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
11609         Document behavior if NEWNAME is a directory name.
11610         (Frename_file): Simplify now that the destdir behavior occurs
11611         only when NEWNAME is a directory name.
11612         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
11613         (tramp-test12-rename-file, tramp--test-check-files):
11614         Adjust tests to match new behavior.
11616 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
11618         Extend --debug printouts in etags
11620         * lib-src/etags.c (regex_tag_multiline, readline): Under
11621         "--debug", print tags found via regexps.
11623 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
11625         Add --debug option to etags
11627         * lib-src/etags.c (make_tag): Print found tags under --debug.
11628         (longopts): Add --debug.
11630 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11632         Spelling fixes
11634         * lisp/progmodes/cc-langs.el:
11635         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
11636         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
11638 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11640         Merge from gnulib
11642         This incorporates:
11643         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
11644         2017-08-24 warnings: fix compilation with old autoconf
11645         2017-08-23 glob: merge from glibc with Zanella glob changes
11646         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
11647         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
11648         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
11649         * m4/warnings.m4:
11650         Copy from Gnulib.
11651         * lib/gnulib.mk.in: Regenerate.
11653 2017-09-10  Ken Brown  <kbrown@cornell.edu>
11655         Implement renameat_noreplace on recent Cygwin
11657         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
11658         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
11659         (Bug#27986)
11661 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
11663         Avoid warnings about file names in autoloads on MS-Windows
11665         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
11666         avoid warnings from find-file-noselect when making autoloads.  For
11667         the details, see
11668         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
11670 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
11672         Avoid looking at localized strings
11674         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
11675         localized strings.
11676         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
11677         parsing l10n strings doesn't error but is essentially a no-op.
11679 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11681         * etc/NEWS.25: Document 25.3 changes.
11683 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
11685         Remove unsafe enriched mode translations
11687         * lisp/gnus/mm-view.el (mm-inline-text):
11688         Do not worry about enriched or richtext type.
11689         * lisp/textmodes/enriched.el (enriched-translations):
11690         Remove translations for FUNCTION, display (Bug#28350).
11691         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
11693 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
11695         Be more consistent about "directory name" in manual
11697         This clarifies the documentation, partly in response to the
11698         discussion in Bug#27986.
11700 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11702         Remove more compilation warnings in MinGW64 build
11704         * src/w32.c (faccessat, map_w32_filename):
11705         * src/w32fns.c (w32_wnd_proc):
11706         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
11707         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
11708         warnings with GCC 7 and later.
11710 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
11712         Improve --enable-gcc-warnings for MinGW64
11714         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
11715         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
11716         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
11717         * lib-src/etags.c (process_file_name, TeX_commands):
11718         * src/buffer.c (fix_overlays_before):
11719         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
11720         (cons_to_signed):
11721         * src/editfns.c (Ftranslate_region_internal):
11722         Prefer UNINIT to some stray value, as this simplifies
11723         code-reading later.
11724         * src/eval.c (CACHEABLE): New macro.
11725         (internal_lisp_condition_case): Use it.
11726         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
11728 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11730         Fix font-lock in Compilation mode
11732         * lisp/progmodes/compile.el (compilation-face): Restore function
11733         lost during recent changes.  (Bug#28349)
11735 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
11737         Add function to read all entries in a group
11739         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
11740         entries in all groups were read and returned by xdg-desktop-read-file.
11741         * lisp/xdg.el (xdg-desktop-read-group): New function.
11742         (xdg-desktop-read-file): Use it.
11743         * test/data/xdg/malformed.desktop: New file.
11744         * test/data/xdg/test.desktop: Add another section.
11745         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
11746         in another group.  Test reading a prescribed group.  Test detecting a
11747         malformed key=value.
11749 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
11751         Reduce Tramp's memory usage
11753         Construct Tramp syntax strings and regular expressions once instead
11754         of every time they are used, and store them in alists keyed by Tramp
11755         syntax.
11756         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
11757         (tramp-build-file-name-structure): New functions.
11758         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
11759         (tramp-method-regexp-alist)
11760         (tramp-postfix-method-format-alist)
11761         (tramp-postfix-method-regexp-alist)
11762         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
11763         (tramp-postfix-ipv6-format-alist)
11764         (tramp-postfix-ipv6-regexp-alist)
11765         (tramp-postfix-host-format-alist)
11766         (tramp-postfix-host-regexp-alist)
11767         (tramp-remote-file-name-spec-regexp-alist)
11768         (tramp-file-name-structure-alist): New constants.
11769         (tramp-lookup-syntax): New function.
11770         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
11771         (tramp-postfix-method-format, tramp-postfix-method-regexp)
11772         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
11773         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
11774         (tramp-postfix-host-format, tramp-postfix-host-regexp)
11775         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
11776         Use it.
11778 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11780         Fix compilation warnings in MinGW64 build using GCC 7
11782         Reported by Richard Copley <rcopley@gmail.com>.
11783         * src/w32heap.c (init_heap): Declare enable_lfh only for
11784         mingw.org's MinGW build.
11786         * src/w32console.c (w32con_write_glyphs):
11787         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
11788         mismatches of data type vs format spec.
11790         * src/w32fns.c (compute_tip_xy):
11791         * src/w32proc.c (stop_timer_thread):
11792         * src/w32notify.c (remove_watch):
11793         * src/eval.c (internal_lisp_condition_case):
11794         * src/editfns.c (Ftranslate_region_internal):
11795         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
11796         (cons_to_signed):
11797         * src/buffer.c (fix_overlays_before): Initialize variables to
11798         avoid compiler warnings.
11800         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
11801         variables to avoid compilation warnings.
11803 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
11805         Avoid infloop when scrolling under scroll-preserve-screen-position
11807         * src/window.c (window_scroll_pixel_based): If screen position is
11808         to be preserved, make sure its recorded Y coordinate is outside
11809         the scroll margin.  (Bug#28342)
11811 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
11813         Clarification in tramp-texi
11815         * doc/misc/tramp.texi (Connection caching): Two connections are
11816         regarded as different now when they differ in the port number only.
11818 2017-09-09  Miles Bader  <miles@gnu.org>
11820         * admin/quick-install-emacs: Tweak configure.ac parsing
11822 2017-09-09  Miles Bader  <miles@gnu.org>
11824         Use text-property buttons in rcirc-markup-urls
11826         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
11827         instead of `make-button'; the former is much more efficient in large
11828         buffers, and for the purposes of rcirc, changes no functionality.
11830 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11832         Fix line-pixel-height for lines of variable height
11834         * src/xdisp.c (Fline_pixel_height): Start moving from the
11835         beginning of the screen line, to capture the full metrics of the
11836         line.  (Bug#28391)
11838 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
11840         New variable 'dired-confirm-killing-deleted-buffers'
11842         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
11843         New variable.
11844         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
11845         visiting deleted files without confirming if
11846         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
11847         * etc/NEWS: Document the change.
11849 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
11851         Support SVN files with svn:externals property
11853         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
11854         marked with the svn:externals property.
11856 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
11858         List locally removed files in vc-dir with SVN back-end
11860         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
11861         with ?! as needs-update.
11863 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
11865         Fix Rmail editing with reapplying encoding to message body
11867         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
11868         content-type in edited headers, look for one in original
11869         headers and add it to edited headers.  (Bug #26918)
11870         Use a marker to track start of new body, so that
11871         content-transfer-encoding gets applied only to body.  (Bug #27353).
11872         Ensure blank line at end of message after encoding, not
11873         before.
11875 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11877         Document last change in dired.el
11879         * etc/NEWS (Dired): Document the last change in dired.el.
11880         (Bug#27435)
11882 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
11884         Make mouse clicks in Dired more customizable
11886         * lisp/dired.el (dired-mouse-find-file): Allow callers to
11887         specify functions to visit file/directory.
11888         (dired-mouse-find-file-other-window)
11889         (dired-mouse-find-file-other-frame): New functions to visit
11890         files in another window/frame.  (Bug#27435)
11892 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11894         Avoid compiler warnings on MS-Windows with GCC 6 and 7
11896         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
11897         bit-shifting, to avoid compiler warnings.
11898         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
11899         a warning.  For details of the warning, see
11900         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
11901         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
11902         in that build.
11903         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
11904         function is not used in that build.
11906         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
11908 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
11910         Fix 'directory-file-name' on DOS_NT systems as well
11912         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
11913         to be consistent with last change.
11915         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
11916         Disable on MS-Windows.
11917         (fileio-tests--directory-file-name-dos-nt)
11918         (fileio-tests--file-name-as-directory-dos-nt): New tests.
11920 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
11922         Fix various verilog-mode.el issues.
11924         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
11925         "*/*", msg2284. Reported by Jonathan Ferguson.
11926         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
11927         by Victor Lau.
11928         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
11929         verilog-substitute-file-name-path): Support -F in verilog getopt files,
11930         bug1171. Reported by George Cuan.
11931         (verilog-do-indent): Fix misindenting symbols starting with t,
11932         bug1169. Reported by Hoai Tran.
11933         (verilog-read-auto-template-middle): Fix slow template matching on
11934         AUTOINST. Reported by Jeffrey Huynh.
11935         (verilog-pretty-expr): The extra whitespace addition before "=" operators
11936         is now done only if the whole assignment block contains the 2-character
11937         "<=" operator.  Remove the unused argument _myre.  Use `unless',
11938         `save-excursion' and `when' functions where possible.  Internal variables
11939         refactored for clarity.  Follow elisp convention for closing parentheses.
11940         By Kaushal Modi.
11941         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
11942         refactored for clarity.  Earlier EDPOS argument was expected to be a
11943         marker; it is now renamed to END and is now expected to be a position.
11944         Use `when' instead of `if'.  By Kaushal Modi.
11945         (electric-verilog-terminate-line): Remove the unused second argument from
11946         `verilog-pretty-expr' call.  By Kaushal Modi.
11947         (verilog-calc-1): Fix indentation of a virtual class definition after a
11948         typedef class, bug1080.  By Kaushal Modi.
11950 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
11952         Don't use summary window to visit group buffer (bugfix)
11954         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
11955         the window to open the group buffer doesn't visit the summary buffer.
11956         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
11957         by trying to select nonexistent summary window.
11959 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11961         Fix bug: (directory-file-name "///") returned "//"
11963         * src/fileio.c (directory_file_name): For "///" and longer,
11964         return "/", not "//", as per POSIX.
11965         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
11966         (fileio-tests--file-name-as-directory): New tests.
11968 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11970         Remove obsolete vc-mistrust-permissions doc
11972         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
11973         for vc-mistrust-permissions, which no longer exists.
11975 2017-09-07  Alan Third  <alan@idiocy.org>
11977         Set frame size to actual requested size (bug#18215)
11979         * src/nsterm.m (x_set_window_size): Don't use
11980         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
11982 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
11984         autogen.sh: omit bogus chatter if no .git
11986         Problem reported by Angelo Graziosi in:
11987         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
11988         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
11990 2017-09-07  Glenn Morris  <rgm@gnu.org>
11992         Skip emacsclient tests if --enable-profiling was used
11994         * test/lib-src/emacsclient-tests.el
11995         (emacsclient-test-call-emacsclient): Make it a macro.
11996         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
11997         (emacsclient-test-alternate-editor-allows-arguments)
11998         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
12000 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
12002         Fix a minor markup problem in ELisp manual
12004         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
12005         @example and @group.  For the details, see
12006         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
12008 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
12010         Add XDG desktop file parsing and tests
12012         * lisp/xdg.el: Add support for Desktop Entry Specification.
12013         (xdg--user-dirs-parse-line): Check if file is readable.
12014         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
12015         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
12016         New functions.
12017         * test/lisp/xdg-tests.el:
12018         * test/data/xdg/test.desktop:
12019         * test/data/xdg/wrong.desktop: New files.
12021 2017-09-06  Glenn Morris  <rgm@gnu.org>
12023         Allow for adjusting line length of test backtraces
12025         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
12026         (%.log): Respect backtrace line length.
12028 2017-09-06  Glenn Morris  <rgm@gnu.org>
12030         Allow customizing line length of ert backtraces in batch mode
12032         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
12033         Make it a user option.
12034         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
12036 2017-09-06  Glenn Morris  <rgm@gnu.org>
12038         Minor emacsclient-tests simplification
12040         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
12041         Simplify.  Also work when running installed.
12043 2017-09-06  Alan Third  <alan@idiocy.org>
12045         Revert "Force screen update after drawing cursor glyph (bug#23774)"
12047         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
12049         See bug#28358
12051 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12053         Refactor some loops in mailcap.el
12055         * lisp/net/mailcap.el (mailcap-mime-types):
12056         (mailcap-file-default-commands): Convert nested maps to loops.
12058 2017-09-05  Glenn Morris  <rgm@gnu.org>
12060         emacsclient-tests: remove some debug statements
12062         * test/lib-src/emacsclient-tests.el
12063         (emacsclient-test-call-emacsclient): Remove debug statements.
12065 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
12067         Handle non-zero exit status from psql more gracefully
12069         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
12070         exit statuses from `psql -ltX' more gracefully by returning nil.
12072         * test/lisp/progmodes/sql-tests.el
12073         (sql-tests-postgres-list-databases-error): New test.
12075 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
12077         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
12079         * src/w32proc.c (sys_kill): Preserve the up/down state of the
12080         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
12082 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
12084         * src/image.c (Fimagemagick_types): Doc fix.
12086 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12088         Move soundex.el test to a proper test
12090         * test/lisp/soundex-tests.el: New file.
12091         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
12093 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
12095         Add tests for mailcap.el
12097         * test/data/mailcap/mime.types: New file.
12098         * test/lisp/net/mailcap-tests.el: New file.
12100 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
12102         Doc precisment about remote link targets
12104         * doc/lispref/files.texi (Truenames): Explain handling of
12105         targets of `file-truename' and `make-symbolic-link', which
12106         look like a remote file name.
12108         * etc/NEWS: Precise examples for symlinks which look like
12109         remote file names.  MUSTBENEW of `write-region' is not
12110         propagated to file name handlers.
12112 2017-09-05  John Wiegley  <johnw@newartisans.com>
12114         Remove an opinionated section on "What Eshell is not"
12116         I don't find this information to accurately reflect possible use cases
12117         for Eshell; plus, it doesn't offer much in the way of information,
12118         just opinion.
12120 2017-09-05  Ken Brown  <kbrown@cornell.edu>
12122         Fix configure test for Xpm
12124         Problem reported by Ashish Shukla in
12125         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
12126         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
12127         noX/xpm.h in configure test.
12129 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
12131         Revert recent float→double Motif change
12133         Problem reported by Martin Rudalics in:
12134         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
12135         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
12136         (x_set_toolkit_scroll_bar_thumb)
12137         (x_set_toolkit_horizontal_scroll_bar_thumb):
12138         Go back to using ‘float’ temporaries rather than ‘double’.
12139         Although quite possibly this masks an underlying bug,
12140         we lack time to look into that now.
12142 2017-09-04  Glenn Morris  <rgm@gnu.org>
12144         emacsclient-tests: add some debug statements
12146         * test/lib-src/emacsclient-tests.el
12147         (emacsclient-test-call-emacsclient): Add debug statements.
12149 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
12151         Work on Tramp's (symbolic) links
12153         * doc/misc/tramp.texi (Traces and Profiles): Mention the
12154         backtrace when tramp-verbose is greater than or equal to 10.
12156         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
12157         Use `tramp-handle-add-name-to-file'.
12159         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
12160         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
12162         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
12164         * lisp/net/tramp-smb.el (tramp-smb-errors):
12165         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
12166         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
12167         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
12168         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
12169         if one of the attributes is non-nil.
12170         (tramp-smb-handle-file-local-copy): Use `file-truename'.
12171         (tramp-smb-handle-file-truename): Move to tramp.el.
12172         (tramp-smb-handle-insert-directory): Show symlinks.
12173         (tramp-smb-handle-make-symbolic-link): Improve.
12174         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
12176         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
12177         (tramp-handle-file-truename): New defuns.
12179         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
12180         (tramp--test-check-files): Make check for "smb".
12182 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
12184         Embed JSON readtable into json-read
12186         Also unroll dispatch into a cond.
12187         * lisp/json.el (json-readtable): Remove.
12188         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
12189         (json-read): Use the macro.
12191 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
12193         Hexify strings in EWW search queries
12195         Previously, inputting "cats & dogs" would lose dogs because the
12196         ampersand signifies a query parameter.  Instead, hexify each word while
12197         preserving quotes with split-string.
12198         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
12199         with + separators, instead of replacing whitespace with +.
12201 2017-09-03  Glenn Morris  <rgm@gnu.org>
12203         emacsclient-tests: call-process may return non-integer
12205         * test/lib-src/emacsclient-tests.el
12206         (emacsclient-test-alternate-editor-allows-arguments)
12207         (emacsclient-test-alternate-editor-allows-quotes):
12208         Handle non-integer return from call-process.
12210 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
12212         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
12214 2017-09-03  Alan Third  <alan@idiocy.org>
12216         Force screen update after drawing cursor glyph (bug#23774)
12218         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
12219         drawing the glyph over the cursor.
12221 2017-09-03  Alan Mackenzie  <acm@muc.de>
12223         Correct the fontification of quote marks after buffer changes in CC Mode.
12225         * lisp/progmodes/cc-defs.el
12226         (c-search-forward-char-property-with-value-on-char): New macro.
12228         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
12229         (c-parse-quotes-after-change): Rewrite the functions, simplifying
12230         considerably, and removing unnecessary optimizations.
12231         Invalidate two caches after manipulating text properties.
12233 2017-09-03  Alan Mackenzie  <acm@muc.de>
12235         Fix fontification of "operator~" in C++ Mode.
12237         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
12238         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
12240         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
12241         two other symbols) as a cast without good evidence.  Prefer an overloaded
12242         operator in ambiguous cases.
12244 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
12246         In delete_frame do not delete terminal for any toolkit build
12248         * src/frame.c (delete_frame): Neither delete terminal for
12249         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
12250         Bug#27816).
12252 2017-09-02  Philipp Stephani  <phst@google.com>
12254         Improve error messages for improper plists (Bug#27726)
12256         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
12257         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
12258         improper plists instead of ‘listp.’
12260         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
12261         (lax-plist-get/odd-number-of-elements)
12262         (plist-put/odd-number-of-elements)
12263         (lax-plist-put/odd-number-of-elements)
12264         (plist-member/improper-list): Add unit tests.
12266 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12268         Fix decrypting in plstore.el on MS-Windows
12270         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
12271         raw-text, instead of using insert-file-contents-literally.
12272         (Bug#28114)
12274 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12276         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
12278 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
12280         Rewrite Antinews for Emacs 26
12282         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
12283         * doc/lispref/elisp.texi (Top): Update the top-level menu's
12284         Antinews entry.
12285         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
12286         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
12287         entry.
12289         * etc/NEWS: Rearrange some entries in a more reasonable order.
12291 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
12293         Fix a mis-binding in a test
12295         * test/lisp/progmodes/python-tests.el
12296         (python-shell-calculate-process-environment-3): Fix binding of
12297         process-environment.  A level of parens was missing.
12299         This was found after Glenn Morris noticed a similar problem with the
12300         patch for Bug#28319.
12302 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
12304         Fix a mis-binding and a bad defun name in a test (Bug#28319)
12306         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
12307         emacsclient-test-call-emacsclient.
12308         (emacsclient-test-alternate-editor-allows-arguments)
12309         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
12310         process-environment.
12312         Thanks to Glenn Morris for noticing these errors.
12314 2017-09-02  Glenn Morris  <rgm@gnu.org>
12316         * test/Makefile.in (check-no-automated-subdir): Silence by default.
12318         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
12320 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
12322         Turn off checkdoc complaint about default argument order
12324         * etc/NEWS: Mention change.
12325         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
12326         Disable by default, note version.
12328 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
12330         Stop emacsclient tests hanging (Bug#28319)
12332         * test/lib-src/emacsclient-tests.el
12333         (emacsclient-test-alternate-editor-allows-arguments): Use a
12334         non-existent file to communicate with server, so that any existing
12335         default server will not be hijacked (in fact, the test does
12336         not need a server).
12337         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
12339 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
12341         * lisp/obsolete/html2text.el: Don't require CL
12343         (html2text-clean-anchor): Mark unused arg.
12345 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
12347         Don't remove undisplayers from inlined MIME parts (bugfix)
12349         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
12350         Don't remove undisplayers from inlined MIME parts (bugfix);
12351         Simplify criterion that finds attachments.
12353 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
12355         Make ucs-names a hash table (Bug#28302)
12357         * etc/NEWS: Mention the type change.
12358         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
12359         Hardcode BEL's name into the function instead of needlessly mapping
12360         over the hash table in the spirit of rassoc.
12361         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
12362         function docstrings.  Initialize a hash table for ucs-names--the
12363         number of entries is 42845 here.  Switch to hash-table
12364         getters/setters.
12365         (mule--ucs-names-annotation): Use hash-table getter.
12366         (char-from-name): Upcase the string if ignore-case is truthy.
12367         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
12369 2017-08-31  Alan Third  <alan@idiocy.org>
12371         Remove unneeded version checks (bug#28222)
12373         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
12374         check.
12375         * src/macfont.m (macfont_draw): Remove version check, and test for
12376         existence of CGContextSetFontSmoothingStyle.
12378 2017-08-31  Alan Mackenzie  <acm@muc.de>
12380         Fix a glitch in CC Mode's syntactic whitespace cache.
12382         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
12383         comment close at the end of a macro.
12385 2017-08-31  Alan Mackenzie  <acm@muc.de>
12387         Correct the fontification of C++ Mode enclosed declarations.
12389         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
12390         spurious check that the character before the start of an enclosed declaration
12391         must be ; or }.  It might also be {.
12393 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
12395         In xterm.c fix some recently introduced compiler warnings
12397         * src/xterm.c (xaw_jump_callback)
12398         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
12399         -Wdouble-promotion warnings.
12401 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
12403         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
12405         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
12406         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
12407         react to state changes received via ConfigureNotify.
12409 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
12411         Respect directory a user enters (bug#28299)
12413         * lisp/gnus/mm-decode.el (mm-save-part):
12414         Respect directory a user enters (bug#28299).
12416 2017-08-31  Samuel Freilich  <sfreilich@google.com>
12418         Do not split line before width of fill-prefix
12420         When auto-filling a paragraph, don't split a line before the width of the
12421         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
12422         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
12423         the line than the width of the fill-prefix.  This is a more general solution
12424         than the previous logic, which only skipped over the exact fill-prefix.  The
12425         fill-prefix doesn't necessarily match the prefix of the first line of a
12426         paragraph in adaptive-fill-mode.
12428 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
12430         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
12432         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
12433         Consider any documentation that ended up in code as a docstring (e.g.,
12434         autogenerated (fn ARG1 ARG2) type things), not just what the user
12435         passed.
12437 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
12439         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
12441         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
12442         to drop the docstring.  Add a simple docstring to the compiler-macro.
12444 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12446         Quote file-truename symlink to "../foo:bar:"
12448         Problem reported by Michael Albinus (Bug#28264#19).
12449         * lisp/files.el (files--splice-dirname-file): Fix bug where
12450         a relative symlink to "../foo:bar:" did not quote the result.
12452 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
12454         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
12456         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
12457         corresponding command-line argument, into quote- or space-separated
12458         tokens.  If a token starts with a quote, then it naturally is expected
12459         to end with a quote; escaping is not supported. This is enough to cope
12460         with the typical case of requiring the initial path to be quoted,
12461         common on Windows where it may contain spaces.
12462         * etc/NEWS: Document.
12463         * doc/emacs/misc.texi: Likewise.
12464         * doc/man/emacsclient.1: Tweak to remove the implication that only an
12465         editor can be specified (the manual already mentions a “command”).
12466         Fix a small error where “EDITOR” is referred to rather than
12467         “ALTERNATE_EDITOR”.
12468         * test/lib-src/emacsclient-tests.el: Add tests.
12470 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
12472         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
12474 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
12476         Correct "hide others" shortcut on macOS (bug#28215)
12478         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
12480 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
12482         Sync NEWS with the documentation
12484         * etc/NEWS: Mark entries according to documentation.
12486         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
12488 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
12490         Improve symlinks for Tramp
12492         * lisp/files.el (files--splice-dirname-file): Quote whole file.
12494         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
12495         Do not expand TARGET, it could be remote.
12496         (tramp-sh-handle-file-truename): Check for cyclic symlink also
12497         in case of readlink.  Quote result if it looks remote.
12498         (tramp-sh-handle-file-local-copy): Use `file-truename'.
12500         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
12501         (tramp-test09-insert-file-contents): Test also file missing.
12502         (tramp-test21-file-links): Extend test.
12504 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
12506         Preserve display's foreground color when clearing internal borders (Bug#28278)
12508         * src/xterm.c (x_after_update_window_line): Preserve display's
12509         foreground color when clearing internal borders (Bug#28278).
12511 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
12513         Use cl-print for all values printed by `describe-variable'
12515         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
12516         global values too.
12518 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
12520         Minor simplification for byte-compile-constant-push
12522         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
12523         of the code from here...
12524         (byte-compile-constant-push): ... to here.  No need to bind
12525         byte-compile--for-effect anymore.
12527 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12529         Prefer file-name-quote to concat "/:"
12531         Suggested by Michael Albinus (Bug#28264#13).
12532         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
12533         rather than attempting to do it by hand.
12535 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12537         * configure.ac: fix typo in previous change
12539 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12541         Be more conservative in link time optimization doc
12543         While testing --enable-link-time-optimization with GCC 7.1.1
12544         I ran into a serious GCC code-generation bug which makes me
12545         think that --enable-link-time-optimization should be
12546         discouraged for typical installs (Bug#28213).  See:
12547         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
12549 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12551         Make garbage collection more conservative
12553         Check for a pointer anywhere within the object, as opposed to just
12554         the start of the object.  This is needed for gcc -Os -flto on
12555         x86-64 (Bug#28213).  This change means that the garbage collector
12556         is more conservative, and will incorrectly keep objects that it
12557         does not need to, but that is better than incorrectly discarding
12558         objects that should be kept.
12559         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
12560         this is easier to debug.
12561         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
12562         Now a function with two args, not a macro with three.
12563         All callers changed.
12564         (live_string_holding, live_cons_holding, live_symbol_holding)
12565         (live_misc_holding, live_vector_holding, live_buffer_holding):
12566         New functions, which check for any object containing the addressed
12567         byte, not just for an object at the given address.
12568         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
12569         (live_vector_p, live_buffer_p):
12570         Redefine in terms of the new functions.
12571         (live_float_p): Refactor slightly to match the new functions.
12572         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
12573         Don’t bother checking mark bits, as mark_object already does that,
12574         and omitting the checks here simplifies the code.  Although
12575         mark_maybe_object can continue to insist that tagged pointers
12576         still address the start of the object, mark_maybe_pointer now is
12577         more conservative and checks for pointers anywhere into an object.
12579 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12581         Improve stack-top heuristic
12583         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
12584         of the stack when scanning for heap roots, causing Emacs to crash
12585         later (Bug#28213).  The problem is that Emacs's hack for getting an
12586         address near the stack top does not work when link-time optimization
12587         moves stack variables around.
12588         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
12589         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
12590         (write_globals, scan_c_stream): Support noinline.
12591         * src/alloc.c (NEAR_STACK_TOP): New macro.
12592         (SET_STACK_TOP_ADDRESS): Use it.
12593         (flush_stack_call_func, Fgarbage_collect): Now noinline.
12595 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12597         Align stack bottom properly.
12599         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
12600         * src/emacs.c (main): Align stack-bottom variable as a pointer,
12601         since mark_memory requires this.
12603 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12605         Avoid spinning waiting for git-gui.exe on Windows
12607         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
12608         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
12609         process exited.  (Bug#28268)
12611 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12613         Document '--module-assertions'
12615         * doc/emacs/cmdargs.texi (Initial Options): Document the
12616         '--module-assertions' command-line option.
12617         * doc/lispref/loading.texi (Dynamic Modules): Add a
12618         cross-reference to the description of '--module-assertions'.
12620         * etc/NEWS: Update the NEWS entry for --module-assertions.
12622 2017-08-29  Alan Third  <alan@idiocy.org>
12624         Add news entry about new macOS features
12626         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
12627         ns-use-thin-smoothing.
12629 2017-08-29  Alan Third  <alan@idiocy.org>
12631         Fix cross macOS version building (bug#28222)
12633         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
12634         declaration.
12635         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
12637 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
12639         Enable thin font smoothing in macOS (bug#28222)
12641         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
12642         * src/macfont.m (macfont_draw): Use font smoothing.
12644 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12646         Minor improvement in documentation of display-line-numbers
12648         * doc/emacs/display.texi (Display Custom): Document the
12649         display-line-numbers-mode and related options.
12651 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
12653         Avoid aborting in 'waitpid' on MS-Windows
12655         * src/w32proc.c (waitpid): Don't allow quitting if called with
12656         WNOHANG in OPTIONS.  (Bug#28268)
12658 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12660         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
12662         (sh-syntax-propertize-function): Fix off-by-one error.
12663         Fixes bug#23526.
12665 2017-08-29  Rasmus  <rasmus@gmx.us>
12667         Update Org to v9.0.10
12669         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
12670         release.
12672 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12674         Silence false alarms for symlinks to sources
12676         Problem reported by Glenn Morris (Bug#28264).
12677         * lisp/files.el (files--splice-dirname-file): New function.
12678         (file-truename, file-chase-links): Use it.
12680 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12682         Simplify remove_slash_colon
12684         * src/process.c (remove_slash_colon): Simplify
12685         and avoid a special case for "/:" by itself.
12687 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
12689         Remove font family from minibuffer-prompt face
12691         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
12692         minibuffer-prompt face.
12694 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
12696         Further fixes in tramp-smb.el
12698         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
12699         (tramp-smb-file-name-handler-alist): Use it.
12700         (tramp-smb-handle-make-symbolic-link): Unquote target.
12702         * test/lisp/net/tramp-tests.el
12703         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
12704         (tramp-test18-file-attributes, tramp-test21-file-links)
12705         (tramp--test-check-files): Use it.
12707 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
12709         Don’t assume -g3 in .gdbinit
12711         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
12712         Use reasonable defaults if not in the symbol table.
12714 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
12716         Use string-match to check for dotfiles in ido
12718         * lisp/ido.el (ido-make-file-list): Use string-match to check
12719         for dotfiles instead of substring, as when using tramp
12720         simplified syntax ido-temp-list may contain empty strings.
12722 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
12724         Font-lock FDO desktop files correctly
12726         Single and double quotes do not have a special meaning in
12727         desktop files.
12728         https://standards.freedesktop.org/desktop-entry-spec/latest/
12729         * etc/NEWS: Mention new mode.
12730         * lisp/files.el (auto-mode-alist): Split out an entry for handling
12731         the .desktop extension with conf-desktop-mode.
12732         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
12733         variable with rules for booleans and format specifiers.
12734         (conf-unix-mode): Remove desktop file entry example from docstring.
12735         (conf-desktop-mode): New derived major mode.
12737 2017-08-27  Tom Tromey  <tom@tromey.com>
12739         Fix auto-fill bug in js-mode
12741         * lisp/progmodes/js.el (js-do-auto-fill): New function.
12742         (js-mode): Set normal-auto-fill-function.
12743         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
12744         test.
12746 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
12748         Disable completion while entering python multiline statements
12750         The "legacy" completion mechanism sends newlines to the running python
12751         process to get the list of completions, which confuses things if the
12752         user is in the middle of entering a multiline statement (Bug#28051).
12753         It's better to disable completion in this case.
12754         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
12755         (python-shell-prompt-set-calculated-regexps): Set it.
12756         (python-shell-completion-at-point): Return 'ignore' as the completion
12757         function when the current prompt is a block prompt.
12759 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
12761         Tramp cleanup
12763         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
12764         (tramp-sh-handle-make-symbolic-link): More robust check for
12765         TARGET remoteness.
12767         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
12768         Disable copying by tar temporarily, it doesn't work reliably.
12769         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
12770         (tramp-smb-handle-make-symbolic-link): Fix implementation.
12772         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
12774         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
12775         Extend test.
12777 2017-08-27  Glenn Morris  <rgm@gnu.org>
12779         Fix previous xterm.h change for non-gtk builds
12781         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
12783 2017-08-27  Philipp Stephani  <phst@google.com>
12785         Fix GdkSettings-related deprecation warnings
12787         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
12788         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
12789         instead of deprecated gtk_settngs_set_string_property otherwise.
12791 2017-08-27  Philipp Stephani  <phst@google.com>
12793         Always use gtk_window_move in new versions
12795         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
12796         GTK+.
12797         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
12799         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
12800         is ignored.
12802         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
12804 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
12806         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
12808         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
12809         narrowing, and widen the buffer before searching for the name of the
12810         file corresponding to the diff.
12812         With thanks to Noam Postavsky.
12814 2017-08-27  Philipp Stephani  <phst@google.com>
12816         Remove use of a deprecated GTK+ function in new versions
12818         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
12819         if available
12821 2017-08-27  Philipp Stephani  <phst@google.com>
12823         Stop using deprecated GdkScreen monitor functions in newer GDK
12825         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
12826         objects instead of the deprecated GdkScreen functions in GDK 3.22+
12828 2017-08-27  Philipp Stephani  <phst@google.com>
12830         Use GdkSeat in new GDK versions
12832         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
12833         GdkDeviceManager in GDK 3.20+
12835 2017-08-27  Philipp Stephani  <phst@google.com>
12837         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
12839 2017-08-27  Philipp Stephani  <phst@google.com>
12841         Remove call of deprecated GDK function
12843         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
12844         GDK 3.22 or later.
12846 2017-08-27  Alan Mackenzie  <acm@muc.de>
12848         Amend the CC Mode macro cache to cope with changes at the macro start
12850         Fixes bug #28233.
12852         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
12853         error.
12855 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12857         Fix over-protection of byte-compiled files
12859         Problem reported by Sven Joachim (Bug#28244).
12860         Also, fix similar problem for autoload files.
12861         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
12862         Set temp file modes to the buffer-file-name file modes (or 666
12863         if not available) as adjusted by umask.
12864         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
12865         Set temp file modes to 666 as adjusted by umask.
12867 2017-08-27  Tom Tromey  <tom@tromey.com>
12869         Refine conf-toml-mode font-lock
12871         Bug#28218
12872         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
12873         conf-toml-recognize-section.  Use \s- in variable regexp.
12874         (conf-toml-recognize-section): New function.
12876 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12878         Do not munge contents of local symbolic links
12880         This lets Emacs deal with arbitrary local symlinks without
12881         mishandling their contents (Bug#28156).  For example,
12882         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
12883         now consistently creates a symbolic link from '/tmp/x' to '~'.
12884         Formerly, it did that only if the working directory was on the
12885         same filesystem as /tmp; otherwise, it expanded the '~' to
12886         the user's home directory.
12887         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
12888         instead of rolling our own code.
12889         * lisp/files.el (files--name-absolute-system-p): New function.
12890         (file-truename, file-chase-links): Use it to avoid mishandling
12891         symlink contents that begin with ~.
12892         (copy-directory, move-file-to-trash):
12893         Use concat rather than expand-file-name, to avoid mishandling
12894         symlink contents that begin with ~.
12895         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
12896         target unless interactive.  Strip leading "/:" if interactive.
12897         (emacs_readlinkat): Do not prepend "/:" to the link target if
12898         it starts with "/" and contains ":" before NUL.
12899         * test/src/fileio-tests.el (try-link): Rename from try-char,
12900         and accept a string instead of a char.  All uses changed.
12901         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
12902         to test the new behavior.
12904 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
12906         Remove invalid regexp for shell builtins for wksh
12908         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
12909         be literal strings, so remove a regexp for wksh. In any case, it’s a
12910         defunct proprietary shell.
12912 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
12914         Improve doc for file-name-absolute-p.
12916 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
12918         Fix Tramp part of Bug#28156
12920         * lisp/files.el (file-name-non-special): Use `file-name-quote'
12921         instead prefixing "/:", the file could already be quoted.
12923         * lisp/net/tramp.el (tramp-error): Handle null arguments.
12924         (tramp-handle-make-symbolic-link):
12925         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
12926         (tramp-sh-handle-add-name-to-file):
12927         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
12928         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
12929         stronger semantics in Emacs.  (Bug#28156)
12931         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
12932         Extend test.
12934 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
12936         Fix bugs merged with bug#25428
12938         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
12939         (Bug#13926)  (Bug#25434)  (Bug#25435)
12941 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
12943         Improve documentation of Info virtual files and nodes
12945         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
12946         (Bug#28237)
12948 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
12950         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
12952 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
12954         Support multi-lingual detection of SEE ALSO man sections
12956         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
12957         section detection in several langages: French, German, Spanish,
12958         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
12960 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
12962         Improve expand-file-name doc
12964         * doc/lispref/files.texi (Relative File Names, Directory Names)
12965         (File Name Expansion):
12966         * doc/lispref/minibuf.texi (Reading File Names):
12967         Document expand-file-name behavior with ~ more clearly
12968         and accurately.
12969         * doc/misc/org.texi (Batch execution): Simplify example
12970         script so that it does not need expand-file-name and thus
12971         will not mishandle file names with leading ~.
12973 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
12975         Support all perl variable declarators and prefixes (Bug#27613)
12977         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
12978         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
12979         'local', 'state', 'supersede', 'let', and 'temp'.
12981 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12983         Fix file-attributes race on GNU hosts
12985         * doc/lispref/files.texi (File Attributes):
12986         Document file-attributes atomicity.
12987         * etc/NEWS: Document the fix.
12988         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
12989         for diagnostics.  All callers changed.  On platforms like
12990         GNU/Linux that support O_PATH, fix a race condition in
12991         file-attributes and similar functions, so that these functions do
12992         not return nonsense if a directory entry is replaced while getting
12993         its attributes.  On non-GNU platforms, do a better (though not
12994         perfect) job of detecting the race, and return nil if detected.
12996 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12998         Simplify expand_and_dir_to_file
13000         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
13001         argument, since in practice it always has the default value.  All
13002         callers changed.  Prefer C99 style decls in nearby code.
13004 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
13006         Fix file-name completion on network shares
13008         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
13009         (Bug#28207)
13011 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13013         Fix a FIXME with an exegetical comment
13015         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
13016         regexp for wksh builtins.
13018 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13020         Minor docstring language fix
13022         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
13024 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
13026         Remove old commented code from sh-script.el
13028         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
13029         and variable, commented since 2001.
13031 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
13033         * lisp/emacs-lisp/package.el: Don't let failure stop us
13035         (package-activate-1): Don't throw an error for missing deps.
13036         (package-unpack): Don't bother compiling if activation failed.
13037         (package-initialize): Report failures but keep activating other packages.
13039 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13041         Prefer ‘double’ for FP temps in xterm.c
13043         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
13044         (x_set_toolkit_scroll_bar_thumb)
13045         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
13046         ‘float’ for individual local floating-point temporaries.
13048 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13050         Avoid using string-to-multibyte in ispell.el
13052         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
13053         decode-coding-string instead. Note that decode-coding-string returns a
13054         string that satisfies multibyte-string-p even if its input is pure
13055         ASCII and the third argument is t, so the result of
13056         ispell-get-decoded-string is always a multibyte string.
13058 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
13060         Store the regexp just when there are matches
13062         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
13063         disabled and there are no matches do not store REGEXP
13064         in hi-lock-interactive-patterns.
13066 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
13068         Keep face available if there are no matches
13070         If font-lock-mode is disabled in the current buffer, and
13071         there are no matches for REGEXP, then keep FACE available
13072         for a next search.
13073         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
13074         hi-lock--unused-faces if font-lock-mode is disabled and
13075         there are no matches.
13076         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
13078 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
13080         Minor improvements for tramp-interrupt-process, documentation
13082         * doc/lispref/processes.texi (Signals to Processes):
13083         * etc/NEWS: Document interrupt-process-functions.
13085         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
13086         `process-live-p'.
13088         * src/process.c (Vinterrupt_process_functions): Fix docstring.
13090         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
13091         Extend test.
13093 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13095         Fix a comment whitespace typo.
13097         src/fileio.c: A double space was added after "..", used in a code
13098         example. Make it a single space.
13100 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13102         Remove old commented code and obsolete comments
13104         * lisp/files.el (locate-dominating-files): Remove old commented
13105         implementation from 9 years ago.  Since the current version
13106         appears (at least to me) not just more efficient but clearer than the
13107         version removed, also delete a comment in the new version referring to
13108         the old version. Remove old commented heuristic code,
13109         and explanatory comments.
13111 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
13113         Remove old duplicate commented code
13115         * lisp/files.el (file-relative-name): Remove old commented version,
13116         replaced 14 years ago in commit 753ad9889.
13118 2017-08-24  Tom Tromey  <tom@tromey.com>
13120         Add conf-toml-mode
13122         * etc/NEWS: Mention conf-toml-mode.
13123         * lisp/files.el (auto-mode-alist): Add entry for .toml.
13124         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
13125         (conf-toml-font-lock-keywords): New defvars.
13126         (conf-toml-mode): New mode.
13128 2017-08-23  Alan Third  <alan@idiocy.org>
13130         Use lisp type in log message (bug#28176)
13132         * src/nsimage.m (ns_load_image): Use make_number on index.
13134 2017-08-23  Alan Third  <alan@idiocy.org>
13136         Fix PNGs on macOS (bug#28176)
13138         * src/nsimage.m (ns_load_image): Remove index check.
13139         (EmacsImage::getAnimatedBitmapImageRep): New function.
13140         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
13141         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
13142         is valid.
13144 2017-08-23  Alan Third  <alan@idiocy.org>
13146         Add ability to change macOS WM theme (bug#27973)
13148         * src/frame.c (make_frame, frame_parms, syms_of_frame)
13149         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
13150         options.
13151         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
13152         represent NSAppearance options.
13153         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
13154         ns_transparent_titlebar frame parameters.
13155         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
13156         ns_set_appearance and ns_set_transparent_titlebar handlers.
13157         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
13158         frame parameters.
13159         (Qdark): Add new symbol for use with ns-appearance.
13160         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
13161         [NS_IMPL_COCOA]: Add prototypes.
13162         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
13163         [NS_IMPL_COCOA]: New functions.
13164         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
13165         ns-transparent-titlebar frame parameters.
13166         * doc/lispref/frames.texi (Window Management Parameters): Document
13167         ns-apperance and ns-transparent-titlebar.
13169 2017-08-22  Alan Mackenzie  <acm@muc.de>
13171         When looking for the end of a declarator, prevent macros fouling up the search
13173         The practical implication of this bug was a random jit-lock chunk remaining
13174         entirely unfontified.
13176         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
13177         restrict two forward searches to the end of that macro.
13179 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
13181         Test `file-expand-wildcards' for Tramp
13183         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
13184         Remove, not needed anymore.
13186         * test/lisp/net/tramp-tests.el (top): Require seq.el.
13187         (tramp-test16-directory-files): Simplify.
13188         (tramp-test16-file-expand-wildcards): New test.
13189         (tramp-test28-interrupt-process): Skip for older Emacsen.
13191 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
13193         Add tests for cl-macs.el (Bug#27559)
13195         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
13196         duplicate.
13197         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
13198         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
13200 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
13202         Optimize skkdic conversion (Bug#28043)
13204         The primary speedup comes from the optimizing lookup-nested-alist and
13205         set-nested-alist for the case where the key is a string.  This brings
13206         the time down to less than half the original.
13208         * lisp/international/mule-util.el (lookup-nested-alist)
13209         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
13210         string.
13212         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
13213         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
13214         of calculating ratio of work done inline.
13216         (skkdic-reduced-candidates): Call `char-category-set' on the first
13217         character of the string directly, instead of using a regexp for the
13218         character category.
13219         (skkdic--japanese-category-set): New constant.
13220         (skkdic-collect-okuri-nasi): Just set
13221         `skkdic-okuri-nasi-entries-count' at once at the end rather than
13222         updating it throughout the loop.
13224         (skkdic-convert-postfix skkdic-convert-prefix)
13225         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
13226         (skkdic-extract-conversion-data): Use `match-string-no-properties'
13227         instead of `match-string'.
13229 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
13231         Treat tests in lib-src like tests in src
13233         * test/Makefile.in (test_template): Depend on a .c source file for a
13234         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
13235         in the right direction.)
13237 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
13239         Port /bin/sh scripts to Solaris 10
13241         Its /bin/sh builtin ‘test’ command does not support -e.
13242         * autogen.sh, build-aux/git-hooks/pre-commit:
13243         * build-aux/gitlog-to-emacslog, make-dist:
13244         Use test -r, not test -e.
13246 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
13248         Avoid losing the buffer restriction in flyspell-mode
13250         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
13251         as we have the buffer widened, to make sure the restriction is
13252         preserved.  (Bug#28161)
13254 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
13256         Fix the 'versionclean' target in src/Makefile
13258         * src/Makefile.in (versionclean): Don't accidentally remove
13259         emacs-module.h.  (Bug#28169)
13261 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
13263         Implement `interrupt-process-functions'
13265         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
13266         `tramp-advice-interrupt-process'.  Adapt according to changed API.
13267         (top): Add it to `interrupt-process-functions'.
13269         * src/process.c (Finternal_default_interrupt_process): New defun.
13270         (Finterrupt_process): Change implementation, based on
13271         Vinterrupt_process_functions.
13272         (Vinterrupt_process_functions): New defvar.
13274         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
13275         test removal of advice.
13277 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
13279         Avoid floating-point exceptions while drawing underwave
13281         * src/w32term.c (x_get_scale_factor):
13282         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
13283         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
13284         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
13286 2017-08-21  Sam Steingold  <sds@gnu.org>
13288         mark flymake-mode as safe local variable when the value is nil
13290 2017-08-21  Sam Steingold  <sds@gnu.org>
13292         allow nil init in flymake-allowed-file-name-masks to disable flymake
13294         (flymake-allowed-file-name-masks): Update doc and :type.
13295         (flymake-get-file-name-mode-and-masks): Handle nil init.
13297 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13299         Remove the workaround for bug#20719
13301         * lisp/cedet/semantic/symref/grep.el
13302         (semantic-symref-grep-use-template): Remove the workaround for
13303         bug#20719, it's been fixed for a while now.
13305 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13307         Fix byte-compilation warnings in semantic/symref/grep
13309         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
13310         (grepflags): Rename to semantic-symref-grep-flags.
13311         (semantic-symref-grep-expand-keywords): Update accordingly.
13312         (semantic-symref-grep-use-template): Remove the last two
13313         arguments to make sure they don't shadow the (not renamed)
13314         global variables.
13315         (semantic-symref-perform-search)
13316         (semantic-symref-parse-tool-output-one-line): Use slot names
13317         instead of keywords, like the byte-compiler wants us to.
13319 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
13321         Simplify eldoc-message
13323         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
13324         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
13326 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13328         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
13330         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
13331         carriage returns into the temporary file when running in unbuffered
13332         mode, the w32 build of python 2.7 chokes on them.
13334 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13336         Add missing require
13338         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
13340 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
13342         Implement `interrupt-process' for remote processes (Bug#28066)
13344         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
13345         Support sending signals remotely.
13346         (tramp-open-connection-setup-interactive-shell):
13347         Trace "remote-tty" connection property.
13349         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
13350         (top): Add advice to `interrupt-process'.  (Bug#28066)
13352         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
13353         New test.
13354         (tramp-test29-shell-command)
13355         (tramp-test30-environment-variables)
13356         (tramp-test30-environment-variables-and-port-numbers)
13357         (tramp-test31-explicit-shell-file-name)
13358         (tramp-test32-vc-registered)
13359         (tramp-test33-make-auto-save-file-name)
13360         (tramp-test34-make-nearby-temp-file)
13361         (tramp-test35-special-characters)
13362         (tramp-test35-special-characters-with-stat)
13363         (tramp-test35-special-characters-with-perl)
13364         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
13365         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
13366         (tramp-test36-utf8-with-ls)
13367         (tramp-test37-asynchronous-requests)
13368         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
13369         (tramp-test40-unload): Rename.
13370         (tramp-test40-unload): Test also removal of advice.
13372 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13374         Document Enchant support
13376         * doc/emacs/fixit.texi: Mention Enchant.
13377         * doc/misc/efaq.texi: Likewise.
13378         * etc/NEWS: Add an item on Enchant support.
13380 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13382         Remove old comments and a redundant FIXME
13384         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
13385         commented code, a redundant FIXME, and outdated usage instructions.
13387 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
13389         Add Enchant support to ispell.el (Bug#17742)
13391         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
13392         (ispell-really-enchant): Add variable.
13393         (ispell-check-version): If using Enchant, check it’s new enough (at
13394         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
13395         without.)
13396         (ispell-enchant-dictionary-alist): Add variable.
13397         (ispell-find-enchant-dictionaries): Add function, based on
13398         ispell-find-aspell-dictionaries.
13399         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
13400         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
13401         old ispell name to locale mapping code for Enchant too.
13402         (ispell-send-replacement): Make it work with Enchant.
13404 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13406         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
13408 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
13410         Stop printing '4' in .elc files after 'define-symbol-prop' calls
13412         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
13413         Return nil in case we have compiled the form, to prevent a redundant
13414         constant from getting added to the compiled output.
13416 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13418         Change recent symlink tests to just test ASCII
13420         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
13421         Be less ambitious about testing non-ASCII chars and encoding
13422         errors, as there are too many portability issues.
13424 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13426         Don’t adjust CRLF in file names
13428         * doc/misc/gnus.texi (Non-ASCII Group Names):
13429         * etc/NEWS:
13430         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
13431         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
13432         that CRLF in file names is left alone.
13433         * lisp/international/mule-cmds.el (set-default-coding-systems):
13434         Do not alter CRLF in file name coding systems.
13435         (prefer-coding-system): Ignore differences in CRLF processing when
13436         checking whether we used the user-specified file name coding system.
13437         * test/src/fileio-tests.el: New file.
13439 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
13441         Make list-processes support display-line-numbers
13443         * lisp/simple.el (process-menu-mode): Move the call to
13444         tabulated-list-init-header from here...
13445         (list-processes--refresh): ...to here.  (Bug#27895)
13447 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
13449         Improve support of display-line-numbers in package.el
13451         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
13452         the header.  (Bug#27895)
13453         * lisp/emacs-lisp/tabulated-list.el
13454         (tabulated-list-line-number-width): Fix the case when
13455         display-line-numbers is nil.
13457 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
13459         Improve support of display-line-numbers in tabulated-list-mode
13461         * lisp/emacs-lisp/tabulated-list.el
13462         (tabulated-list-line-number-width): New function.
13463         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
13464         (Bug#27895)
13466 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
13468         Fix one more issue reported by Alex (Bug#27999)
13470         * doc/lispref/windows.texi (Preserving Window Sizes)
13471         (Window Parameters): Use the term `window-preserved-size'
13472         instead of `preserved-size' (Bug#27999).
13474 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
13476         Rename `no-delete-other-window' to `no-delete-other-windows'
13478 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
13480         Fix two side window problems noted by Alex (Bug#27999)
13482         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
13483         typo.
13484         (delete-other-windows): Rename the `no-delete-other-window'
13485         parameter to `no-delete-other-windows' (see the discussion in
13486         Bug#27999 for the rationale of this change).
13487         * doc/lispref/windows.texi (Deleting Windows)
13488         (Frame Layouts with Side Windows, Window Parameters): Rename
13489         `no-delete-other-window' to `no-delete-other-windows'.
13491 2017-08-19  Alex Schroeder  <alex@gnu.org>
13493         Use define-minor-mode for rcirc-omit-mode
13495 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13497         Clarify behavior of symlinks and directories
13499         * doc/lispref/files.texi (Saving Buffers): Document how functions
13500         like rename-file work with symlinks and directories.  This patch
13501         attempts to document the current behavior better, in preparation
13502         for possibly changing it.  See Bug#27986.
13504 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13506         Fix recently-introduced file descriptor leak
13508         * src/fileio.c (Fmake_temp_file_internal):
13509         Don’t leak a file descriptor if write_region signals an error.
13511 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13513         Improve make-temp-file performance on local files
13515         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
13516         the work of inserting the text.
13517         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
13518         All callers changed.
13520 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
13522         Don't lose arguments to eshell aliases (Bug#27954)
13524         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
13526 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13528         * lisp/files.el (make-temp-file): Fix directory use case.
13530 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13532         Fix and document make-temp-file optional text parameter
13534         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
13535         (files--make-magic-temp-file): Support optional TEXT parameter.
13536         * etc/NEWS: Document it.
13537         * doc/lispref/files.texi: Document it.
13538         * test/lisp/auth-source-tests.el: Minor reformat.
13540 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13542         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
13544         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
13546 2017-08-19  João Távora  <joaotavora@gmail.com>
13548         Fix default value of electric-pair-pairs and electric-pair-text-pairs
13550         (Bug#24901)
13552         A previous change, titled "Add support for curly quotation marks to
13553         electric-pair-mode", attempted to add these characters to the default
13554         value of these variables.  But it did so in a quoted list, preventing
13555         evaluation of the relevant expressions and resulting in an invalid
13556         format.
13558         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
13559         Use backquote and comma.
13561 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
13563         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
13565         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
13566         explicitly in the interactive case.
13568 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
13570         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
13572 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
13574         Add auth-source tests and codify its API better
13576         The auth-source behavior was unclear in some API use cases, so these
13577         extra tests codify and test it. For details see
13578         https://github.com/DamienCassou/auth-password-store/issues/29
13580         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
13581         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
13582           auth-source tests and simplify them with the new `make-temp-file'.
13584 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
13586         Don't call the same hook twice due to obsolete aliases
13588         * lisp/international/robin.el (robin-activate):
13589         * lisp/international/quail.el (quail-activate):
13590         * lisp/international/mule-cmds.el (deactivate-input-method):
13591         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
13592         Don't call the same hook twice, when the obsolete and the
13593         advertised symbols are aliased.  (Bug#28118)
13595 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
13597         A new face for show-paren in expression mode
13599         * lisp/faces.el (show-paren-match-expression): Define the new face.
13600         * lisp/paren.el (show-paren-function): Apply the different face
13601         when in expression mode.  (Bug#28047)
13603 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
13605         Non-ASCII support for man page section and header names
13607         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
13608         (Man-heading-regexp): Replace ASCII character classes by
13609         equivalent classes that allow non-ASCII characters.  Suggested by
13610         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
13612 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
13614         Implement HiDPI support for underwave on MS-Windows
13616         * src/w32term.c (x_get_scale_factor): New function.
13617         (w32_draw_underwave): Use it.
13618         * src/xterm.c (x_draw_underwave): Offset the wave starting point
13619         to make it identical with original code.
13621 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
13623         Support HiDPI displays for wave style underlines
13625         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
13626         based on scale factor.
13627         (x_get_scale_factor): New function.
13629 2017-08-18  Bastien  <bzg@gnu.org>
13631         Delete library-of-babel.org
13633         * etc/org/library-of-babel.org: Delete file.
13635 2017-08-18  Glenn Morris  <rgm@gnu.org>
13637         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
13639 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
13641         Remove custom version parsing from epg-config.el (Bug#27963)
13643         * lisp/epg-config.el (epg-config--compare-version)
13644         (epg-config--parse-version): Remove.
13645         (epg-check-configuration): Use `version<=' instead.
13647 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
13649         Treat control characters in JSON strings as invalid
13651         * lisp/json.el (json-peek): Reduce to following-char.
13652         (json-pop, json-read): Zero (null char) means end of file.
13653         (json-read-escaped-char): Delimit URL properly.
13654         (json-read-string): Signal error for ASCII control characters.
13655         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
13656         :json-eof symbol.
13657         (test-json-read-string): New test for control characters in JSON
13658         strings.
13660 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
13662         Support Posix semantics of 'rename' on MS-Windows
13664         * src/w32.c (sys_rename_replace): Support Posix semantics of
13665         'rename': return an error if OLD is a directory while NEW is not,
13666         or vice versa.
13668 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
13670         * src/w32.c (sys_rename_replace): Support renaming a directory.
13672 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
13674         Fix the MS-Windows build
13676         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
13677         'open'.
13679         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
13681 2017-08-17  João Távora  <joaotavora@gmail.com>
13683         Add flymake-backends defcustom
13685         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
13686         Rename from flymake-can-syntax-check-file.  Suitable for adding to
13687         flymake-backends.
13688         (flymake-proc-start-syntax-check): Rename from
13689         flymake-start-syntax-check.  Don't check again if buffer can be
13690         checked.
13691         (add-to-list flymake-backends): Hook only flymake-ui.el
13693         * lisp/progmodes/flymake-ui.el (flymake-backends): New
13694         defcustom.
13695         (flymake-on-timer-event, flymake-after-change-function)
13696         (flymake-after-save-hook, flymake-find-file-hook): Call new
13697         flymake--start-syntax-check-buffer and
13698         flymake--can-syntax-check-buffer.
13699         (flymake-mode): Call flymake--can-syntax-check-buffer and set
13700         flymake-backend.
13701         (flymake--backend): New buffer-local variable.
13703 2017-08-17  João Távora  <joaotavora@gmail.com>
13705         Split flymake.el into flymake-proc.el and flymake-ui.el
13707         flymake.el is now a stub that requires both files.
13709         * lisp/progmodes/flymake-proc.el: New file.
13711         * lisp/progmodes/flymake-ui.el: New file.
13713         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
13714           flymake-proc.el.  Require both files.
13716 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
13718         Set `default-directory' for watchdog in tramp-test.el
13720         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
13721         Set `default-directory' for watchdog.
13723 2017-08-17  Andreas Schwab  <schwab@suse.de>
13725         * lisp/term/konsole.el: New file.
13727 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
13729         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
13731         (woman2-RS): Use plain `push' instead of `woman-push'.
13732         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
13734 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
13736         Merge from Gnulib; use ‘open’ for O_CLOEXEC
13738         This incorporates:
13739         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
13740         2017-08-15 extensions: enable NetBSD specific extensions
13741         2017-08-14 open: support O_CLOEXEC
13742         2017-08-13 reallocarray: new module
13743         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
13744         it now supports O_CLOEXEC and this simplifies Emacs.
13745         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
13746         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
13747         Copy from Gnulib.
13748         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
13749         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
13750         New files, copied from Gnulib.
13751         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
13752         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
13753         Remove, as Gnulib does this for us.
13754         * src/filelock.c (create_lock_file):
13755         * src/sysdep.c (emacs_open, emacs_pipe):
13756         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
13758 2017-08-16  Alan Third  <alan@idiocy.org>
13759             Charles A. Roelli  <charles@aurox.ch>
13761         Allow use of run-time OS version checks on macOS (bug#27810)
13763         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
13764         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
13765         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
13766         defines.
13767         (NSWindowStyleMaskFullScreen,
13768         NSWindowCollectionBehaviorFullScreenPrimary,
13769         NSApplicationPresentationFullScreen,
13770         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
13771         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
13772         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
13773         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
13774         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
13775         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
13776         Allow use of run-time checks and replace version check macros.
13777         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
13778         * src/macfont.m (macfont_draw): Use run-time OS version checks.
13779         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
13781 2017-08-16  Alan Third  <alan@idiocy.org>
13783         Add multiframe image support to NS port (bug#21714)
13785         * src/nsimage.m (ns_load_image): Handle multiple frames.
13786         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
13787         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
13788         function prototypes.
13790 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
13792         files-tests.el: Remove unused lexical variable
13794         * test/lisp/files-tests.el (file-test--do-local-variables-test);
13795         Remove unused var 'files-test-queried'.
13797 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
13799         * doc/emacs/files.texi (Copying and Naming): Mention
13801         restrictions to add-name-to-file and make-symbolic-link on
13802         remote systems.
13804 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
13806         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
13808 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
13810         Add tests for previous commit
13812         * test/lisp/progmodes/elisp-mode-tests.el
13813         (elisp-mode-tests--face-propertized-string): New function.
13814         (elisp--highlight-function-argument-indexed)
13815         (elisp--highlight-function-argument-keyed-1)
13816         (elisp--highlight-function-argument-keyed-2): New tests.
13818 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
13820         Fix eldoc highlighting for &key args (Bug#27272)
13822         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
13823         Only switch to keyword-based searching if INDEX point beyond `&key' in
13824         the argument list.  All arguments prior to the `&key' are position
13825         based.  Additionally, be more strict about what is a keyword when
13826         searching for the current keyword.
13828 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13830         Do not assume regular Git .git/hooks dir
13832         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
13833         Problem reported by Ted Zlatanov in:
13834         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
13835         * autogen.sh (git_sample_hook_src): New function.  Use it to work
13836         even if .git/hooks or its samples do not exist.
13838 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13840         New manual section "Copying and Naming"
13842         * doc/emacs/files.texi (Copying and Naming):
13843         New section, split off from Misc File Ops and containing the
13844         operations that copy, name or rename files.  This fixes some
13845         confusion caused by the incorrect phrase "The same rule applies
13846         to all the remaining commands in this section" in the old manual.
13847         This change does not affect the confusion about directories (see
13848         Bug#27986 for ongoing discussion).
13850 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
13852         Fix the MS-Windows build
13854         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
13855         ENOSYS.  (Bug#28097)  (Bug#27986)
13857 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
13859         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
13861         * .gitlab-ci.yml: add Git to the installed packages.
13863 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
13865         Support indentation of detached Less CSS rulesets
13867         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
13868         for indentation of detached rulesets passed to Less mixins.
13870         * test/manual/indent/less-css-mode.less: New file.
13872 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
13874         Fixes and tweaks for the new Less CSS mode
13876         * etc/NEWS: Add an entry for the new mode.
13878         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
13879         (less-css-lessc-command): Tweak docstring. Don't mark it as
13880         safe. Don't autoload.
13881         (less-css-compile-at-save, less-css-lessc-options)
13882         (less-css-output-directory): Tweak docstrings. Don't autoload.
13883         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
13884         (less-css-input-file-name): Tweak docstring. Don't autoload.
13885         (less-css-compile-maybe): Use `when' for one-armed `if'.
13886         (less-css--output-path): Tweak docstring.
13887         (less-css--maybe-shell-quote-command): Remove function.
13888         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
13889         compiler warning. Use `string-join' instead of `mapconcat'.
13890         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
13891         variables.
13892         (less-css-mode-syntax-table, less-css-mode-map): New variables.
13893         (less-css-mode): Change status line mode name from "LESS" to
13894         "Less". Tweak docstring. Move syntax table definitions to
13895         `less-css-mode-syntax-table'.
13896         (less-css-indent-line): Remove function.
13898 2017-08-15  Steve Purcell  <steve@sanityinc.com>
13900         New major mode: Less CSS mode
13902         * lisp/textmodes/less-css-mode.el: New file.
13904 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
13906         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
13908         * lisp/arc-mode.el (archive-int-to-mode):
13909         Swap order of 2048 and 1024 tests (Bug#28092).
13910         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
13911         Update test.
13913 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13915         Improve rename-file port to macOS
13917         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
13918         fail with errno == ENOTSUP on file systems where it is not
13919         supported, according to the Apple documentation.
13921 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
13923         Speed up ./configure with more caching (Bug#27960)
13925         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
13926         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
13927         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
13928         characters', and 'Windows API header' checks.  Remove pause after
13929         warning about GTK bug.
13931 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13933         Improve rename-file behavior on macOS
13935         Problem reported by Philipp Stephani (Bug#27986).
13936         * src/fileio.c (Frename_file):
13937         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
13938         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
13939         since this provides the necessary atomicity guarantees.
13941 2017-08-14  Glenn Morris  <rgm@gnu.org>
13943         Clean up temp files after some tests
13945         * test/lisp/emacs-lisp/bytecomp-tests.el
13946         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
13947         * test/lisp/progmodes/etags-tests.el
13948         (etags-buffer-local-tags-table-list): Delete temp file at end.
13950 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
13952         Implement renameat_noreplace for MS-Windows
13954         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
13955         emulation for MS-Windows.  (Bug#27986)
13957 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
13959         Fix 'rename' on MS-Windows
13961         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
13962         the primitive rename errors out with EEXIST.
13964 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
13966         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
13968 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
13970         Tiny JSON performance improvement
13972         Get rid of some needless uses of apply.  Measuring with
13973           (benchmark-run 10 (json-read-file "test.json"))
13974         showed 1.5-2.5% reduction of execution time.
13975         * lisp/json.el (json-peek): Nix let-binding.
13976         (json-read-string): Use concat for making a string from chars.
13977         (json-read-array): Use cond and more appropriate conversion instead
13978         of blindly applying.
13980 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
13982         Be consistent in spelling 'ok-if-already-exists'.
13984 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
13986         Use 'header-line-highlight' face in proced and erc
13988         * lisp/erc/erc-list.el (erc-list-button):
13989         * lisp/proced.el (proced-format): Use the 'header-line-highlight
13990         face.  (Bug#28033)
13992 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
13994         Remove feeds with dead uris from newsticker--raw-url-list-defaults
13996         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
13997           Remove feeds with dead uris.
13999 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
14001         Fix vertical cursor motion when cursor is on the fringe
14003         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
14004         setting temporary-goal-column when newline overflows into the
14005         fringe.  Support that use case in R2L paragraphs as well.
14007 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
14009         Fix vertical cursor motion across too wide images
14011         * src/indent.c (Fvertical_motion): If lines are truncated and we
14012         end up beyond the right margin of the window, don't assume we are
14013         in the next screen line, unless VPOS actually says so.  (Bug#28071)
14015 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
14017         Add test suites for arc-mode and tar-mode
14019         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
14020         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
14021         New tests.
14023 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
14025         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
14027 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
14029         Fix uri of Emacs Wiki
14031         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
14032           uri of Emacs Wiki.  (Bug#27981)
14034 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14036         Fix make-temp-file bug with ""/"."/".." prefix
14038         The bug with "." and ".." has been present for a while; I
14039         introduced the bug with "" earlier today in my patch for Bug#28023.
14040         * lisp/files.el (make-temp-file): Do not use expand-file-name if
14041         PREFIX is empty or "." or "..", as it does the wrong thing.
14042         Compute absolute-prefix here ...
14043         (files--make-magic-temp-file): ... instead of here ...
14044         * src/fileio.c (Fmake_temp_file_internal): ... or here.
14046         * lisp/files.el (make-temp-file): If the prefix is empty, append
14047         "/" to the absolute prefix so that the new files are children
14048         rather than siblings of temporary-file-directory.  This fixes a
14049         bug introduced in the previous change.
14050         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
14051         New test, for the bug.
14053 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
14055         Improve make-temp-file performance on local files
14057         For the motivation behind this patch, please see Bug#28023 and:
14058         http://emacshorrors.com/posts/make-temp-name.html
14059         Although, given the recent changes to Tramp, the related security
14060         problem in make-temp-file is already fixed, make-temp-file still has
14061         several unnecessary system calls.  In the typical case on GNU/Linux,
14062         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
14063         getpid, unlink, umask) by 2 (open, close).
14064         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
14065         that Emacs is using it directly.
14066         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
14067         no longer needed.
14068         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14069         * lisp/files.el (files--make-magic-temp-file): Rename from
14070         make-temp-file.
14071         (make-temp-file): Use make-temp-file-internal for
14072         non-magic file names.
14073         * src/fileio.c: Include tempname.h.
14074         (make_temp_name_tbl, make_temp_name_count)
14075         (make_temp_name_count_initialized_p, make_temp_name): Remove.
14076         (Fmake_temp_file_internal): New function.
14077         (Fmake_temp_name): Use it.
14078         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
14079         instead of make_temp_name.
14081 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14083         Document internal-use naming conventions
14085         * doc/lispref/functions.texi (Function Names):
14086         * doc/lispref/variables.texi (Tips for Defining):
14087         Document naming conventions for internal-use functions and vars.
14088         See Bug#28023#59.
14090 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14092         Simplify re and document 'autoconf.sh all'
14094         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
14095         ./autogen.sh defaults to "all".  All uses removed.
14096         * README: Mention autoconf.sh's effect on Git configuration.
14098 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14100         Default autogen.sh to 'all'
14102         This addresses a problem noted by RMS in:
14103         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
14104         * autogen.sh (do_git): Set to true if this script is invoked
14105         with no arguments and there is a .git subdirectory.
14107 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14109         Adjust jka-compr to recent Tramp changes.
14111         * lisp/jka-compr.el (jka-compr-write-region):
14112         Two new args LOCKNAME and MUSTBENEW.
14114 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14116         Improve doc strings of 2 functions in simple.el
14118         * lisp/simple.el (beginning-of-visual-line)
14119         (move-beginning-of-line): Doc fix.  Reported by
14120         Justin Burkett <justin@burkett.cc>.
14122 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14124         Fix completion on directory names on MS-DOS/MS-Windows
14126         * src/msdos.c (faccessat):
14127         * src/w32.c (faccessat): Support relative file names, and add D_OK
14128         to 'mode' if the argument is a directory.  This unbreaks file-name
14129         completion when the completion result is a directory.
14131 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
14133         Implement EXCL of write-region for Tramp
14135         * lisp/net/ange-ftp.el (ange-ftp-write-region):
14136         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
14137         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
14138         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
14139         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
14140         Implement MUSTBENEW.
14142         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
14143         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
14144         (tramp-sh-handle-add-name-to-file)
14145         (tramp-do-copy-or-rename-file)
14146         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
14147         Adapt error message for `file-already-exists'.
14149         * src/lisp.h:
14150         * src/eval.c (call8): New function.
14152         * src/fileio.c (write_region): Pass also lockname and
14153         mustbenew to the file name handler.
14155         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
14156         Add tests for MUSTBENEW.
14158 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14160         Adapt Proced display to display-line-numbers
14162         * lisp/proced.el (proced-header-line): Account for the width taken
14163         by display-line-numbers.  (Bug#27895)
14165 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14167         Adapt tabulated list when display-line-number is turned on
14169         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
14170         a hook to revert the display when display-line-numbers is turned
14171         on.  (Bug#27895)
14173 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
14175         Use Gnulib 'tempname' on MS-Windows
14177         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
14178         now in nt/inc/ms-w32.h.
14179         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
14180         (mkostemp): Remove.
14182         * src/w32.c (mkostemp): Remove.
14183         (sys_mkdir): Accept a second (unused) argument.
14184         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
14185         specific call to mkdir.  (Bug#28023)
14187         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
14188         to accept 2 arguments.
14189         (open): Remove from "#ifdef emacs".
14190         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
14191         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
14192         (OMIT_GNULIB_MODULE_tempname): Remove.
14194 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
14196         Add new face 'header-line-highlight'
14198         * lisp/faces.el: Define the face.
14199         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
14200         * lisp/info.el (Info-fontify-node): Use the new face.
14201         * doc/emacs/display.texi (Standard Faces):
14202         * etc/NEWS: Document the new face.  (Bug#28033)
14204 2017-08-12  Arash Esbati  <arash@gnu.org>
14206         Make a case-sensitive match for strings
14208         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
14209         let-bind `case-fold-search' to nil in order to be case-sensitive
14210         when matching a string.  (Bug#27518)
14212 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
14214         Fix a minor todo-mode regression
14216         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
14217         save-excursion.  This fixes a regression introduced by the fix
14218         for bug#27609, whereby trying to raise the priority of the
14219         first item or lower the priority of the last item, which
14220         should be noops, moves point to the item's start.  Clarify
14221         comment.
14223         * test/lisp/calendar/todo-mode-tests.el
14224         (todo-test-raise-lower-priority): Add test cases for trying to
14225         raise first item and lower last item.
14226         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
14227         (todo-test-toggle-item-header02): Remove ":expected-result
14228         :failed" and tests of point after todo-next-item, since the
14229         effect when using Todo mode is not reproducible in the test
14230         environment.  Add commentary about this.
14232 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14234         Improve performance for rename-file etc.
14236         Although this does not fix Bug#27986, it is a step forward.
14237         I plan to propose a more-significant patch later.
14238         * lisp/files.el (directory-name-p): Move from here ...
14239         * src/fileio.c (Fdirectory_name_p): ... to here.
14240         (directory_like, cp_like_target): New static functions.
14241         (Fcopy_file, Frename_file, Fadd_name_to_file)
14242         (Fmake_symbolic_link):
14243         Use them, to avoid directory-testing syscalls on file names that
14244         must be directories if they exist.  Omit unnecessary
14245         initializations and CHECK_STRING calls.
14246         (Frename_file): Don't call file_name_case_insensitive_p
14247         twice on the same file.  Compare both file names expanded, instead
14248         of the old name expanded and the new one unexpanded.
14250 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
14252         Respect buffer-local value of tags-table-list (Bug#27772)
14254         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
14255         buffer around the `tags-table-including' calls so as to get buffer
14256         local variables from the right buffer later.
14257         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
14258         New test.
14259         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
14260         constant.
14261         (etags-bug-158, etags-bug-23164): Use it so that when running the test
14262         interactively, setting EMACS_TEST_DIRECTORY is not needed.
14264 2017-08-10  Tom Tromey  <tom@tromey.com>
14266         Fix auto-filling regression
14268         Bug#28003
14269         * lisp/newcomment.el (comment-indent-new-line): Check
14270         comment-auto-fill-only-comments.  Reverts earlier change.
14271         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
14272         do-auto-fill.
14274 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14276         Merge from gnulib
14278         This incorporates:
14279         2017-08-09 tempname: do not depend on secure_getenv
14280         2017-08-08 extensions: add _OPENBSD_SOURCE
14281         2017-08-06 manywarnings: Add support for C++
14282         2017-08-06 warnings, manywarnings: Add support for multiple languages
14283         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
14284         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14285         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
14286         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
14287         Copy from gnulib.
14289 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
14291         Fix crashing emacs-module tests on MS-Windows
14293         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
14294         variable.
14295         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
14296         away, without displaying the Abort dialog, which waits for the user.
14298         * test/src/emacs-module-tests.el (module--test-assertion): Run the
14299         inferior Emacs with the w32 abort dialog disabled.  Expect the
14300         status of the aborted Emacs sub-process to be 3 on MS-Windows and
14301         2 on MS-DOS.
14303 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
14305         dired-delete-file:  Dont't ask for empty dirs
14307         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
14308         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
14310         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
14311         New auxiliar macro.
14312         (dired-test-bug27940): Add new test.
14314 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
14316         Ask files for deletion in buffer order: top first, botton later
14318         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
14319         Call `nreverse' t invert the output of `dired-map-over-marks'.
14321 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
14323         Use help-mode xrefs in describe-font
14325         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
14326         (Bug#27890).
14328 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
14330         Don't try to jump to non-existent part (bug#28013)
14332         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
14333         the next part if there is the only one part in the article (bug#28013).
14335 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14337         Replace some uses of eval
14339         There are a number of places where eval is used unnecessarily to get
14340         or set the value of a symbol.
14341         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
14342         custom setter.
14343         * lisp/desktop.el (desktop-clear): Use set-default instead.
14344         * lisp/international/ogonek.el (ogonek-read-encoding): Use
14345         symbol-value.
14347 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14349         Convert uses of looking-at in viper-ex to following-char
14351         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
14352         (following-char) and use it in the subsequent cond's clauses.
14353         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
14354         Convert single branch ifs to when
14356 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14358         Some cleanup in message.el
14360         * lisp/gnus/message.el (message-cross-post-insert-note):
14361         (message-strip-forbidden-properties): Mark unused args.
14362         (message-canlock-generate): Remove extinct variable
14363         sha1-maximum-internal-length.
14364         (message-make-mail-followup-to): Use loop's thereis clause.
14366 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
14368         Document make-temp-name magic limitations
14370         * doc/lispref/files.texi (Unique File Names):
14371         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
14372         does not guarantee uniqueness on magic file names.
14374 2017-08-08  Tom Tromey  <tom@tromey.com>
14376         Show number of errors in compilation-mode mode-line
14378         Bug#25354
14379         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
14380         default value.
14381         (compilation-num-warnings-found, compilation-num-infos-found): New
14382         defvars.
14383         (compilation-mode-line-errors): New defconst.
14384         (compilation-face): Remove.
14385         (compilation-type, compilation--note-type): New functions.
14386         (compilation-parse-errors): Call compilation--note-type.
14387         (compilation-start): Include compilation-mode-line-errors in
14388         mode-line-process.
14389         (compilation-setup): Initialize compilation-num-* variables to 0.
14390         (compilation-handle-exit): Include compilation-mode-line-errors in
14391         mode-line-process.
14392         * doc/emacs/building.texi (Compilation): Document new feature.
14394 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
14396         Do some cleanup in mailcap.el
14398         * lisp/net/mailcap.el: Use lexical-binding.
14399         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
14400         destructuring.
14401         (mailcap-mime-data): Remove some entries for ancient functions.
14402         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
14403         (mailcap-parse-mimetype-file): Just use append.
14404         (mailcap-command-p): Remove unused function.
14406 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
14408         query-replace: Undo replacements performed with 'comma
14410         During a `query-replace', the char ',' replaces the character
14411         at point and doesn't move point;  right after, the char 'u'
14412         must undo such replacement (Bug#27268).
14413         * lisp/replace.el (replace--push-stack):
14414         New macro extracted from `perform-replace'.
14415         (perform-replace): Use it.
14416         * test/lisp/replace-tests.el (query-replace--undo): Add test.
14418 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14420         Don't define gv expanders in compiler's runtime (Bug#27016)
14422         This prevents definitions being compiled from leaking into the current
14423         Emacs doing the compilation.
14424         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
14425         of `put' with `eval-and-compile'.
14426         * test/lisp/emacs-lisp/gv-tests.el: New tests.
14428 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14430         Let the cl-typep effects of defclass work during compilation (Bug#27718)
14432         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
14433         instead of `put'.
14434         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
14435         (eieio-tests--dummy-function): Remove.
14436         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
14437         expect to fail if compiled.
14439 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
14440             Noam Postavsky  <npostavs@gmail.com>
14442         Let `define-symbol-prop' take effect during compilation
14444         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
14445         (Fget): Consult it.
14446         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
14447         it to nil.
14448         (byte-compile-define-symbol-prop): New function, handles compilation
14449         of top-level `define-symbol-prop' and `function-put' calls by putting
14450         the symbol setting into `overriding-plist-environment'.
14452 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
14454         Add a test of handling of circular values to testcover-tests
14456         * test/lisp/emacs-lisp-testcover-resources/testcases.el
14457         (testcover-testcase-cyc1): New function.
14458         (testcover-tests-circular-lists-bug-24402): New test.
14460 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
14462         Don't error on circular values in testcover
14464         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
14465         Consider circular lists to be non-equal instead of signaling error.
14467 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
14469         Catch argument and macroexpansion errors in ert
14471         This kludge catches errors caused by evaluating arguments in ert's
14472         should, should-not, and should-error macros; it also catches
14473         macroexpansion errors inside of the above macros (Bug#24402).
14475         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
14476         (ert--expand-should-1): Catch macroexpansion errors.
14477         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
14478         (ert-test-should-error-macroexpansion): Tests for argument and
14479         expansion errors.
14481 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14483         Revert "Add Enchant support to ispell.el (Bug#17742)"
14485         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
14487 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14489         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
14491         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
14493 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14495         Add support for arguments in ALTERNATE_EDITOR to emacsclient
14497         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
14498         corresponding command-line argument, into space-separated tokens.
14499         * etc/NEWS: Document.
14500         * test/lib-src/emacsclient-tests.el: Add a test.
14502 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14504         Add Enchant support to ispell.el (Bug#17742)
14506         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
14507         (ispell-really-enchant): Add variable.
14508         (ispell-check-version): If using Enchant, check it’s new enough (at
14509         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
14510         without.)
14511         (ispell-enchant-dictionary-alist): Add variable.
14512         (ispell-find-enchant-dictionaries): Add function, based on
14513         ispell-find-aspell-dictionaries.
14514         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
14515         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
14516         old ispell name to locale mapping code for Enchant too.
14517         (ispell-send-replacement): Make it work with Enchant.
14519 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
14521         Allow async command output buffer to be shown only on output
14523         * lisp/simple.el (async-shell-command-display-buffer): Add
14524         defcustom.
14525         (shell-command): Use the new defcustom to determine whether to show
14526         the buffer immediately, or add a process filter that shows it only
14527         when there is some output.
14528         * etc/NEWS: Document the new variable.
14529         * doc/emacs/misc.texi: Likewise.
14531         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
14533 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
14535         Fix infinite recursion under prettify-symbols-mode and linum-mode
14537         * src/xdisp.c (get_overlay_strings_1)
14538         (handle_single_display_spec, push_prefix_prop): Invalidate the
14539         composition information before starting to iterate on a string.
14540         Otherwise we might think in set_iterator_to_next that we are
14541         delivering characters from a composition, and do all kinds of
14542         nonsensical things, like over-step the string end.  (Bug#27761)
14544 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14546         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
14548 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
14550         Fix doc-string of `delete-other-windows'
14552         * lisp/window.el (delete-other-windows): Fix doc-string.
14554 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
14556         Fix a couple more make-temp-file races
14558         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
14559         Use make-temp-name, not make-temp-file with retry.
14560         (basic-save-buffer-2): Use condition-case, instead of
14561         unwind-protect with a success flag.
14563 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
14565         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
14567         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
14568         characters following filename in grep context lines.
14569         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
14570         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
14571         (grep-regexp-alist): Recombine their contents here.
14572         (grep-mode):
14573         * lisp/cedet/semantic/symref/grep.el
14574         (semantic-symref-parse-tool-output-one-line):
14575         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
14576         `grep-regexp-alist' rather than the function.
14578 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
14580         Fix some crashes on self-modifying Elisp code
14582         Prompted by a problem report by Alex in:
14583         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
14584         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
14585         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
14586         it is likely to run a bit faster with typical hardware caches.
14587         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
14588         self-modifying S-expressions.
14589         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
14590         instead of trusting an Flength prepass, to avoid problems when the
14591         code is self-modifying.
14592         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
14593         where either will do.  This is mostly to document the fact that
14594         the value must be a proper list.  It's also a tiny bit faster on
14595         typical machines nowadays.
14596         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
14597         (eval_sub): Check that the args are a list as opposed to some
14598         other object that has a length. This prevents e.g. (if . "string")
14599         from making Emacs dump core in some cases.
14600         * test/src/eval-tests.el (eval-tests--if-dot-string)
14601         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
14602         New tests.
14604 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
14606         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
14608 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14610         Minor tweak in a dired test
14612         * test/lisp/dired-tests.el (dired-test-bug27968):
14613         Ensure the new header has different length than the original one.
14615 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14617         dired-delete-file: Do not TAB complete the user answer
14619         This action might delete directories containing valuable information.
14620         Before previous commit, we prompted users with `yes-or-no-p'
14621         which doesn't TAB complete the user answer.  Let's play safe and
14622         keep requiring full answers.
14623         * lisp/dired.el (dired-delete-file): Use `read-string'
14624         instead of `completing-read' to read the user answers.
14626 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14628         dired-do-delete: Allow to delete dirs recursively without prompts
14630         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
14631         'all', to delete all directories recursively and no prompt anymore.
14632         'quit', to cancel directory deletions (Bug#27940).
14633         Show help message when user inputs 'help'.
14634         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
14635         so that we can overwrite its global value.
14636         Wrapp the loop within a catch '--delete-cancel to catch when
14637         the user abort the directtry deletion.
14638         * doc/emacs/dired.texi (Dired Deletion): Update manual.
14639         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
14640         Announce this change.
14642 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14644         Fix a couple of make-temp-file races
14646         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
14647         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
14648         Use make-temp-file, not make-temp-name, to avoid an unlikely race
14649         that could lose data.  Remove the deletion hook as quickly as
14650         possible after the file is renamed; though a race still remains
14651         here, it is smaller than before.
14653 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14655         Dired w/ eshell-ls: Handle shell wildcards in file name
14657         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
14658         Use eshell-extended-glob (Bug#27844).
14659         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
14661 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
14663         dired-revert: save line numbers instead of positions
14665         Positions might change if the length of one dired header line
14666         changes; this happen, for instance, if we add new files.
14667         Instead, line numbers are invariant under shrinks/enlargements
14668         of the file header.
14669         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
14670         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
14671         (dired-restore-positions): Use forward-line to restore the original
14672         position (Bug#27968).
14673         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
14675 2017-08-06  Tom Tromey  <tom@tromey.com>
14677         Respect comment-auto-fill-only-comments
14679         Respect comment-auto-fill-only-comments when auto-filling and a
14680         comment syntax is defined.
14682         * lisp/newcomment.el (comment-indent-new-line): Do not check
14683         comment-auto-fill-only-comments.
14684         * lisp/simple.el (internal-auto-fill): New defun.
14685         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
14686         auto_fill_function.
14687         (syms_of_cmds): Define Qinternal_auto_fill.
14689 2017-08-05  Richard Stallman  <rms@gnu.org>
14691         * etc/tutorials/TUTORIAL: Update.
14693 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14695         Unify CNS11643-15 in a way that avoids segfaults
14697         * lisp/international/mule-conf.el: Redo unification of
14698         cns11643-15.  (Bug#27964)
14699         (chinese-cns11643-15): Add the missing :unify-map attribute.
14701 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14703         Avoid segfaults while producing Punct.el
14705         * lisp/international/mule-conf.el: Undo unification of
14706         cns11643-15, as that causes segfaults during bootstrap.
14707         (Bug#27964)
14709 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14711         Make header line in some modes be sensitive to display-line-numbers
14713         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
14714         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
14715         (tabulated-list-print-entry): Account for the width taken by
14716         line-number display.  (Bug#27895)
14718 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14720         Fix a bug in 'generate-new-buffer-name'
14722         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
14723         nil before calling string-equal, since the latter will compare
14724         "nil and 'nil' as equal.  (Bug#27966)
14726         * test/src/buffer-tests.el
14727         (test-generate-new-buffer-name-bug27966): New test.
14729 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14731         Unify CNS11643-15
14733         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
14734         unify-charset form for it.  (Bug#27964)
14736 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14738         Improve test of error message when Emacs cannot be suspended
14740         * lisp/term/x-win.el (x-win-suspend-error):
14741         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
14742         message.  (Bug#27901)
14744 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
14746         Make "C-h o" show faces as well as variables
14748         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
14749         the placement of variables/faces in describe-symbol, to put more
14750         emphasis on the variable entry rather than the face.  (Bug#24543)
14752 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14754         Fix files-tests.el for MS-Windows
14756         * test/lisp/files-tests.el
14757         (files-tests--file-name-non-special--subprocess): Fix this test
14758         for MS-Windows.
14760 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
14762         Improve documentation of 'region-extract-function'
14764         * lisp/simple.el (region-extract-function): Rename the argument to
14765         METHOD.  Doc fix.  (Bug#27927)
14767 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14769         Merge from gnulib
14771         This incorporates:
14772         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
14773         2017-08-01 manywarnings: port to 32-bit GCC bug
14774         * lib/gnulib.mk.in: Regenerate.
14775         * m4/manywarnings.m4: Copy from gnulib.
14777 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14779         Port recent rename changes to Ubuntu 14.04
14781         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
14782         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
14784 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
14786         insert-directory-wildcard-in-dir-p: Tweak regexp
14788         This function must return non-nil for a wildcard like '/*/*.txt'.
14789         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
14790         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
14791         Add test.
14793 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
14795         Implement iterator generator for avl-trees.
14797         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
14799 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
14801         ls-lisp: Drop eshell dependencies
14803         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
14804         expand the wildcards.
14805         Suggested by Fabrice Popineau in:
14806         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
14807         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
14809 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
14811         Fix dired-test-bug27631 on MS-Windows
14813         Skip the test if Dired use 'ls' emulation with lisp.  The same
14814         bug is tested in their respective test suites: ls-lisp-tests.el
14815         and em-ls-tests.el.
14816         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
14817         or 'eshell' features are enabled.
14819 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
14821         Fix dired-test-bug25609 on MS-Windows
14823         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
14824         pass temporary files through file-truename, to avoid bogus
14825         failures due to file-name comparison as strings.
14827 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
14829         Fix 2 tests that fail in MS-Windows
14831         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
14832         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
14833         Add comments to explain the test logic.
14834         Pass '--binary' option to 'patch' program in windows environments.
14835         Check explicitly that a backup is created before compare file contents.
14837         * test/lisp/dired-tests.el (dired-test-bug25609):
14838         Declare variable 'dired-dwim-target' right before the test.
14839         Add comments to explain the test logic.
14840         Ensure, before test the bug condition, that we are displaying the
14841         2 dired buffers created in this test, and no other dired buffer
14842         is shown.
14844 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
14846         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
14848         * lisp/files.el (insert-directory): Don't hardcode "-c".
14849         * lisp/term.el (term, ansi-term): Use shell-file-name.
14851 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
14853         Fix version numbers for some GnuTLS features
14855         Problem reported by Glenn Morris (Bug#27708#58).
14856         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
14857         New macro.  Use it instead of low-level version number checks.
14858         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
14859         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
14860         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
14861         (HAVE_GNUTLS3_HMAC): Remove, since these were available
14862         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
14863         is defined.  Remove all uses; this simplifies the code a bit.
14865 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
14867         Port recent rename changes to RHEL 7 + NFS
14869         Problem reported by Ted Zlatanov in:
14870         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
14871         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
14872         with errno == EINVAL when it is not supported.  So treat that case
14873         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
14874         nil nor an integer, just call plain rename; this avoids an extra
14875         syscall to renameat2 when the latter fails with errno == EINVAL or
14876         ENOSYS or ENOENT.
14878 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14880         Port GnuTLS usage to Ubuntu 16.04.2 LTS
14882         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
14883         later, as opposed to the old 3.4.0 or later.
14885 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14887         Simplify configuration of HAVE_GNUTLS3 etc.
14889         There's only one GnuTLS, so configuring these symbols at
14890         'configure' time is overkill.  Simplify things by moving their
14891         configuration to src/gnutls.h (Bug#27708).
14892         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
14893         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
14894         from here ...
14895         * src/gnutls.h: ... to here, and simplify.
14897 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14899         Default to --with-mailutils if it is installed
14901         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
14902         is installed.  See:
14903         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
14905 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
14907         Clarify when autogen.sh should run only autoconf
14909         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
14910         not plain ‘./autogen.sh’, to make it clear that only
14911         autoconf-related tools should be run here.
14913 2017-08-02  Toon Claes  <toon@iotcl.com>
14915         .gitlab-ci.yml: Use stretch Debian image instead of unstable
14917 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
14919         Add debugging messages to a Dired test
14921         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
14922         positions saved and restored by dired-revert to try and find
14923         out why the test fails on Hydra.
14925 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14927         ls-lisp: Autoload call instead of cookie
14929         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
14931 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
14933         When renaming a file, ask only if EEXIST or ENOSYS
14935         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
14936         more than once on FILE.  Use renameat_noreplace, so that we can
14937         ask the user (and unlink and retry) only if this fails with errno
14938         == EEXIST or ENOSYS.  This avoids the need to ask the user for
14939         permission to do an operation that will fail anyway.  Simplify
14940         computation of ok_if_already_exists for subsidiary functions.
14941         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
14942         if it works, as this avoids the need to link and unlink.
14943         * src/lisp.h (renameat_noreplace): New decl.
14944         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
14945         (renameat_noreplace): New function.
14947 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
14949         When creating a link, ask only if EEXIST
14951         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
14952         Ask the user (and unlink and retry) only if link creation fails
14953         with errno == EEXIST.  This avoids the need to ask the user for
14954         permission to do an operation that will fail anyway.
14956 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14958         dired-align-file: Inherit text properties in inserted spaces
14960         * lisp/dired.el (dired-align-file): Inherit text
14961         properties in inserted spaces (Bug#27899).
14962         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
14964 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14966         Don't assume /bin/sh as the 'sh' location in the local host
14968         * lisp/dired.el (dired-insert-directory): Use executable-find in
14969         a local host.
14971 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14973         Move dired tests using ls emulation to different files
14975         Suggested in:
14976         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
14977         * test/lisp/dired-tests.el (dired-test-bug27693)
14978         (dired-test-bug27762, dired-test-bug27817)
14979         (dired-test-bug27631, dired-test-bug27843): Delete those
14980         parts requiring either ls-lisp or eshell-ls.
14982         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
14983         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
14984         Add all dired tests using ls-lisp here.
14986         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
14987         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
14988         all dired tests using eshell-ls here.
14990 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
14992         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
14994 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
14996         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
14997         Say the handle is already decoded.
14998         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
15000 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
15002         Don’t worry about unlink if errno == ENOENT
15004         * src/fileio.c (Fdelete_file):
15005         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
15006         remove a file if unlink fails with errno == ENOENT.  This can
15007         happen even if Emacs is the only program removing the file, in
15008         case an NFS cache overflows.  The file does not exist if errno ==
15009         ENOENT, so it is OK to proceed.
15011 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15013         Fix misalignment in Dired when dired-directory is a cons
15015         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
15016         New defuns.
15017         (dired-internal-noselect): Call dired--align-all-files when
15018         dired-directory is a cons (Bug#27762).
15019         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
15021 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
15023         Fix some dired-tests.el on MS-Windows
15025         * test/lisp/dired-tests.el (dired-test-bug27243-01)
15026         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
15027         file-truename, to avoid bogus failures due to file-name comparison
15028         as strings.
15030 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15032         Insert subdir content if dir-or-list is a string w/o wildcards
15034         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
15035         Append '("-d") into 'eshell-ls-dired-initial-args'
15036         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
15037         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
15039 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
15041         Update todo-mode defcustoms in a less hideous way
15043         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
15044         (todo-reevaluate-default-file-defcustom)
15045         (todo-reevaluate-category-completions-files-defcustom)
15046         (todo-reevaluate-filter-files-defcustom): Delete these functions.
15047         (todo-update-filelist-defcustoms): New function.  This replaces
15048         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
15049         property instead of re-evaluating the defcustoms.
15050         (todo-add-file, todo-rename-file, todo-delete-file)
15051         (todo-delete-category, todo-move-category)
15052         (todo-convert-legacy-files, todo-check-file): Replace call of
15053         todo-reevaluate-filelist-defcustoms by
15054         todo-update-filelist-defcustoms.
15055         (todo-show, todo-category-completions): Replace call of
15056         todo-reevaluate-* function by use of 'custom-type' property.
15058 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
15060         Add more should form calls in a failing dired test
15062         Some dired tests fail intermittently in hydra.  Add few
15063         more should form calls for debugging.
15064         See:
15065         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
15066         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
15067         forms for debugging.
15069 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
15071         Follow SAUNA recommendations for display-line-numbers-type
15073         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
15075         * lisp/menu-bar.el (display-line-numbers-type): Declare.
15077 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15079         Avoid most stat calls when completing file names
15081         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
15082         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15083         * m4/d-type.m4: New file, copied from gnulib.
15084         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
15085         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
15086         (dirent_type): New function.
15087         (file_name_completion): Use it, to avoid unnecessary calls to
15088         stat-like functions on GNU/Linux and other platforms with d_type.
15089         (file_name_completion_stat): Just follow the link; there is no
15090         need to try first with AT_SYMLINK_NOFOLLOW since the directory
15091         entry was already checked to exist.
15093 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
15095         dired-tests: Unload tested features after test them
15097         Some tests are for Dired with ls-lisp or eshell-ls.
15098         Requiring these features add an advice on `dired' and
15099         might affect other tests.
15100         Do not require these features at the top of the file; require
15101         then inside the tests and unload then at the end.
15102         * test/lisp/dired-tests.el (dired-test-bug27693)
15103         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
15104         require ls-lisp and/or eshell-ls inside the test; unload the
15105         features at the end.
15107 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
15109         Small adaptions for directory wildcards
15111         * lisp/dired.el (dired-insert-directory): Remove "--dired"
15112         when there are wildcards, and the directory is remote.
15114         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
15115         Adapt docstring.
15116         (tramp-test17-dired-with-wildcards): Skip for all methods but
15117         those from tamp-sh.p.
15119 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
15121         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
15122         string bounds.
15124 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15126         Merge from gnulib
15128         This incorporates:
15129         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
15130         * lib/tempname.c: Copy from gnulib.
15132 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
15134         ls-lisp: Do not require em-glob at top of the file
15136         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
15137         not break the Emacs build.
15138         See following thread for details:
15139         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
15140         * lisp/ls-lisp.el (dired-goto-next-file)
15141         (dired-read-dir-and-switches, eshell-extended-glob):
15142         Add function declarations.
15143         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
15145 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
15147         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
15149         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
15151 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
15153         Change default CSS property face
15155         * lisp/textmodes/css-mode.el (css-property): Inherit from
15156         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
15157         distinguish CSS properties from variables.
15159 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
15161         Dired: Handle posix wildcards in directory part
15163         Allow Dired to handle calls like
15164         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
15165         the directory part of the file argument (Bug#27631).
15166         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
15167         (insert-directory-clean): New defun extracted from insert-directory.
15168         (insert-directory)
15169         * lisp/dired.el (dired-internal-noselect)
15170         (dired-insert-directory): Use the new predicate; when it's true,
15171         handle the directory wildcards with a shell call.
15172         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
15173         (eshell-ls-unload-hook): New defun.  Use it in
15174         eshell-ls-unload-hook instead of an anonymous function.
15175         (eshell-ls--dired)
15176         * lisp/ls-lisp.el (ls-lisp--dired):
15177         Advice dired to handle wildcards in the directory part with both
15178         eshell-ls and ls-lisp.
15179         * etc/NEWS: Announce it.
15180         * doc/emacs/dired.texi (Dired Enter): Update manual.
15181         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
15183 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
15185         * lisp/find-lisp.el: Enable lexical binding
15187         * lisp/find-dired.el: Enable lexical binding
15189 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15191         * lisp/kmacro.el: Use lexical binding.
15193 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15195         Use lexical-binding in dired-aux.el
15197         * lisp/dired.el: Use lexical binding.
15198         (dired-do-shell-command): Remove unused bindings.
15200 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
15202         * lisp/ido.el: Use lexical binding.
15204         * lisp/whitespace.el: Use lexical binding.
15206 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
15208         artist.el: Avoid error with keyboard command invocation
15210         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
15211         Call x-popup-menu with t instead of last-nonmenu-event as the
15212         value of the position argument; this allows invoking the
15213         command from the keyboard without raising an error (bug#27819).
15215 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
15217         Preserve point under 'dired-auto-revert-buffer' (third case)
15219         * lisp/files.el (find-file): Use pop-to-buffer-same-window
15220         instead of switch-to-buffer.  This preserves Dired window
15221         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
15223         * test/lisp/dired-tests.el (dired-test-bug27243-01)
15224         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
15225         The first two replace a previous test that combined them; that
15226         test intermittently fails in the Hydra build system, so maybe
15227         separating the two cases will help locate the point of
15228         failure.  The third test involves find-file but is here
15229         because it, like the others, is testing the effect of
15230         dired-auto-revert-buffer.
15232 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
15234         Do not unset user key remaps in dired-x
15236         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
15237         sets dired-x-hands-off-my-keys.  (Bug#27828)
15239 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15241         Improve documentation of 'occur'
15243         * doc/emacs/search.texi (Other Repeating Search):
15244         * lisp/replace.el (occur): Make the documentation of 'occur' be
15245         more accurate when matches overlap.  (Bug#27818)
15247 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15249         Minor copyedits of comments in faces.el
15251         * lisp/faces.el (face-font-family-alternatives): More info about
15252         requirements from "Monospace Serif".
15254 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
15256         Do not worry about paxctl on newer NetBSD
15258         Problem reported privately by Thomas Klausner.
15259         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
15260         on newer NetBSD platforms, where it is not needed.  Also use it to
15261         simplify Cygwin diagnostic.
15263 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
15265         Clarify documentation of ':inherit' face attribute
15267         * doc/lispref/display.texi (Face Attributes): Document the special
15268         treatment of 'unspecified' in the ':inherit' attribute.
15270 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15272         * lisp/password-cache.el (password-data): Use a hash-table
15274         * lisp/auth-source.el (auth-source-magic): Remove.
15275         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
15276         format of password-data.
15277         (auth-source-format-cache-entry): Just use a cons.
15279         (password-cache-remove, password-cache-add, password-reset)
15280         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
15282         (Bug#26699)
15284 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15286         * lisp/subr.el (define-symbol-prop): New function
15288         (symbol-file): Make it find symbol property definitions.
15290         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
15291         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
15292         (ert-describe-test): Adjust call to symbol-file accordingly.
15294 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15296         * lisp/subr.el (method-files): Move function to cl-generic.el
15298         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
15299         (cl--generic-method-files): New function, moved from subr.el.
15300         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
15301         * test/lisp/emacs-lisp/cl-generic-tests.el:
15302         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
15304 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
15306         Preserve this-command-keys across recursive-edit invocations
15308         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
15309         restore this-command-keys, to preserve it across recursive-edit.
15310         (Bug#27470)
15312 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
15314         Improve doc string of 'locate-dominating-file'
15316         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
15318 2017-07-28  Drew Adams  <drew.adams@oracle.com>
15320         New commands 'apropos-local-variable', 'apropos-local-value'
15322         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
15323         New functions.  (Bug#27424)
15325         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
15326         and 'apropos-local-value'.
15327         * etc/NEWS: Mention the new commands.
15329 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15331         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
15333         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
15335 2017-07-27  Alan Mackenzie  <acm@muc.de>
15337         Fix C++ class initializers not always being fontified at mode start.
15339         The problem here happened when an "outer list" of declarations moved beyond an
15340         "inner list" containing class initializers.  These weren't being checked for
15341         by the code.
15343         Also, fix places in c-get-fontification-context where point is undefined.
15345         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
15346         not-front-decl is set, test for class initializers.  Also, anchor point in
15347         places where it is moved and is otherwise undefined.
15349 2017-07-27  Alan Mackenzie  <acm@muc.de>
15351         Fix variables in C++ "for" statement not always being fontified.
15353         The error happened when there was a comma inside template delimiters.
15355         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
15356         statements, recognize template delimiters containing "," and "&".
15358 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
15360         Add watchdog process to tramp-test36-asynchronous-requests
15362         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
15363         New defun.
15364         (tramp-test36-asynchronous-requests): Use a watchdog process,
15365         listening for SIGUSR1.
15367 2017-07-27  Alan Mackenzie  <acm@muc.de>
15369         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
15371         If a declarator is so cut off, extend the fontification chunk to include it.
15373         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
15374         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
15376 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15378         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
15380         (smerge--refine-long-words): New var.
15381         (smerge--refine-chopup-region): Use it.
15383 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15385         * lisp/url/url-cookie.el: Use lexical-binding
15387         (url-cookie-host-can-set-p): Remove unused var `last'.
15388         Use string-suffix-p.
15389         (url-cookie-list): De morgan.
15390         (url-cookie-quit): Remove.
15391         (url-cookie-mode): Inherit from special-mode.
15392         (url-cookie-mode-map): Simplify accordingly.
15394 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15396         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
15398         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
15400 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15402         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
15404         Record this as the function's definition site if it's the first def.
15406 2017-07-26  Glenn Morris  <rgm@gnu.org>
15408         * doc/lispref/loading.texi (When to Autoload): New section.
15410 2017-07-26  Glenn Morris  <rgm@gnu.org>
15412         Stop using unibyte buffers for ert backtraces
15414         * lisp/emacs-lisp/ert.el
15415         (ert-results-pop-to-backtrace-for-test-at-point):
15416         Set multibyte true, not false.  This copies a
15417         debugger-setup-buffer change from 2009-08-30, and stops the
15418         "Backtrace for" header line containing ^X and ^Y.
15420 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
15422         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
15424         * lisp/cedet/semantic/symref/grep.el
15425         (semantic-symref-grep--line-re): Delete.
15426         (semantic-symref-parse-tool-output-one-line):
15427         Use regexp and group numbers from (grep-regexp-alist).
15429 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
15431         Fix cl-defmethod indentation
15433         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
15434         Declare (indent defun).  Fixes bug#23994.
15436 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
15438         Fix two customization types in frame.el
15440         * lisp/frame.el (window-divider-default-bottom-width)
15441         (window-divider-default-right-width): Fix customization types.
15443 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
15445         Dired: Support eshell-ls from the beginning if the user wants to
15447         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
15448         as well (Bug#27817).
15449         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
15451 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
15453         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
15455 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
15457         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
15459         Adjust to change in cl-generic-ensure-function.
15461 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
15463         ls-lisp: Add an unload function and enable lexical binding
15465         Enable lexical binding.
15466         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
15467         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
15469 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
15471         register-read-with-preview: Quit if user input C-g or ESC
15473         * lisp/register.el (register-read-with-preview):
15474         Quit if user input C-g or ESC (bug#27634).
15475         * doc/emacs/regs.texi (Registers): Update manual.
15476         * test/lisp/register-tests.el (register-test-bug27634): Add test.
15478 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
15480         Recognize MirBSD Korn shell rc file
15482         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
15484 2017-07-25  Glenn Morris  <rgm@gnu.org>
15486         * configure.ac: Be explicit about ImageMagick version in summary.
15488 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
15490         Properly align global lispsym
15492         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
15493         Lisp_Symbols inside struct.
15494         * src/alloc.c (sweep_symbols): Update use of lispsym.
15495         * src/lisp.h (builtin_lisp_symbol): Likewise.
15497 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15499         Do not use ImageMagick 7 and later
15501         Suggested by Glenn Morris (Bug#25967#15).
15502         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
15504 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
15506         * lisp/progmodes/perl-mode.el: Add support for indented here docs
15508         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
15509         Recognize the new <<~ syntax for indented here docs.
15510         (perl-syntax-propertize-special-constructs): Adjust search of the
15511         end of here docs accordingly.
15513         * test/manual/indent/perl.perl: Add test for indented here docs.
15515 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
15517         (loadhist-unload-element): Move ERT and cl-generic methods
15519         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
15520         and ert methods here.
15521         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
15523         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
15524         unload method for cl-defmethod.
15525         (cl-generic-ensure-function): Remove redundant `defalias'.
15527         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
15528         setting here...
15529         (ert-deftest): ...from here.
15530         (loadhist-unload-element): Define unload method for ert-deftest.
15532 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
15534         Fix Bug#27371
15536         * lisp/loadhist.el (loadhist-unload-element): Declare for
15537         different entry types of `load-history'.
15538         (loadhist--restore-autoload): New variable.
15539         (loadhist--unload-function): New defun.
15540         (unload-feature): Use `loadhist-unload-element'.  Recommended by
15541         Stefan Monnier.  (Bug#27371)
15543         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
15544         Check, that the `tramp-file-name' structure has been unloaded.
15546 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
15548         Ensure that we parse images right in shr.el
15550         * lisp/net/shr.el (shr-image-fetched): Go back to the
15551         beginning of the buffer before trying to parse the image
15552         fetched.
15554 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15556         Update .gitignore for Valgrind and no Automake
15558         * .gitignore: Remove .deps/ since we no longer use Automake.
15559         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
15561 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15563         Merge from gnulib
15565         This incorporates:
15566         2017-07-23 Rename module 'strftime' to 'nstrftime'
15567         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
15568         * build-aux/config.guess: Copy from gnulib.
15569         * lib/nstrftime.c: Rename from lib/strftime.c.
15570         * m4/nstrftime.m4: Rename from m4/strftime.m4.
15571         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15573 2017-07-23  Philipp Stephani  <phst@google.com>
15575         Add 'rx' pattern for pcase.
15577         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
15578         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
15580 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
15582         Use a named function for global minor mode turn-on argument
15584         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
15585         New function.
15586         (global-display-line-numbers-mode): Use it.
15588 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
15590         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
15592         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
15593         from 'src/emacs'.
15595         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
15596         launched outside of a macOS application bundle, change its
15597         activation policy from the default 'prohibited' to 'regular'.
15599 2017-07-23  Alan Mackenzie  <acm@muc.de>
15601         Convert CC Mode's c-found-types from an obarray to a hash table.
15603         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
15604         rather than an obarray.
15605         (c-copy-found-types): Remove.
15606         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
15607         the new hash table.
15608         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
15610 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
15612         Fix image/svg+xml display in shr
15614         * lisp/net/shr.el (shr-put-image): Display svg images as svg
15615         (bug#27799).  I suspect the previous change was checked in by
15616         accident in conjuction with some other svg changes.
15618 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
15620         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
15622 2017-07-23  Glenn Morris  <rgm@gnu.org>
15624         Don't automatically enable Gconf if Gsettings was found
15626         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
15627         Don't test for Gconf unless specifically requested.
15628         Gconf was deprecated in favor of Gsettings several years ago.
15630 2017-07-23  Glenn Morris  <rgm@gnu.org>
15632         * configure.ac (MODULES_SUFFIX): Always give it a value.
15634         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
15636 2017-07-23  Glenn Morris  <rgm@gnu.org>
15638         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
15640 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
15642         Add line numbers display to the Options menu
15644         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
15645         (menu-bar-display-line-numbers-mode): New defun.
15646         (menu-bar-showhide-line-numbers-menu): New defvar.
15647         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
15649 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
15651         Signal error for symbol names with strange quotes (Bug#2967)
15653         * src/lread.c (read1): Signal an error when a symbol starts with a
15654         non-escaped quote-like character.
15655         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
15656         test.
15657         * etc/NEWS: Announce change.
15659 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
15661         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
15663         It turns out that this change is not needed, and it leaves several
15664         command loops settings not done.
15666         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
15667         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
15669 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
15671         Add a minor mode interface for display-line-numbers
15673         * lisp/cus-start.el: Use the new display-line-numbers group.
15674         * lisp/display-line-numbers.el: New file.
15676         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
15677         belong to linum-mode.
15678         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
15679         * etc/NEWS: Document display-line-numbers-mode and its customization
15680         variables, and mention that display-line-numbers-width is
15681         buffer-local.
15683         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
15684         typo.
15686 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
15688         Support indented HERE-DOCs in cperl-mode
15690         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
15691         indented here-docs.  (Bug#27254) (Bug#27697)
15693 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15695         Document the support for "scrollBar" X resource
15697         * doc/emacs/xresources.texi (Table of Resources): Document the new
15698         'scrollBar' setting.
15699         * etc/NEWS: Document the new 'scrollBar' setting.
15701 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
15703         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
15705         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
15706         settings.
15708 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
15710         Update ld-script mode (bug#27629)
15712         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
15713         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
15714         numbers for PROVIDE/PROVIDE_HIDDEN commands.
15715         (ld-script-builtins): New builtin function LOG2CEIL added.
15717 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15719         Index 'rectangle' in the ELisp manual
15721         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
15722         (Bug#27541)
15724 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15726         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
15728 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
15730         Doc fixes for kmacro.el functions
15732         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
15733         (kmacro-end-and-call-macro): Don't use "permanent name", as that
15734         could be misinterpreted.  (Bug#27492)
15736 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
15738         ElDoc: add docstrings and minor refactoring
15740         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
15741         docstring.
15742         (turn-on-eldoc-mode): Fix capitalization.
15743         (eldoc--supported-p): Add docstring.
15744         (eldoc-schedule-timer): Add docstring and use
15745         'eldoc--supported-p'.
15746         (eldoc-message): Add docstring and make calling convention
15747         clearer.
15748         (eldoc--message-command-p):
15749         (eldoc-pre-command-refresh-echo-area):
15750         (eldoc-display-message-p):
15751         (eldoc-display-message-no-interference-p):
15752         (eldoc-print-current-symbol-info):
15753         (eldoc-docstring-format-sym-doc):
15754         (eldoc-add-command, eldoc-add-command-completions):
15755         (eldoc-remove-command, eldoc-remove-command-completions):
15756         Add docstring.  (Bug#27230)
15758 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
15760         Mention 'C-M-i' as key binding for 'ispell-complete-word'
15762         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
15763         can also be invoked by C-M-i.  (Bug#27349)
15765 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
15767         Fix the eww-search-words description in the Emacs manual
15769         * doc/emacs/search.texi (Word Search):
15770         Include the key binding for eww-search-words in the manual.
15771         Fix the spelling of the 'eww-search-words' command.
15773 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
15775         Introduce defcustom 'executable-prefix-env'
15777         * lisp/progmodes/executable.el (executable-prefix): Update the doc
15778         string.
15779         (executable-prefix-env): New defcustom.
15780         (executable-set-magic): Use executable-prefix-env.
15782         * etc/NEWS: Document the new variable.
15784 2017-07-22  Glenn Morris  <rgm@gnu.org>
15786         * test/lisp/ibuffer-tests.el: Delete temporary files.
15788 2017-07-21  Glenn Morris  <rgm@gnu.org>
15790         Further attempt to avoid hang in network-stream-tests
15792         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
15793         Limit the time we wait for the external process.
15795 2017-07-21  Glenn Morris  <rgm@gnu.org>
15797         Stop skipping many ibuffer tests by default
15799         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
15800         Rename so it sorts first.
15801         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
15802         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
15803         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
15804         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
15805         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
15806         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
15807         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
15809 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15811         Use lexical-binding in todo-mode.el
15813         Adjust code accordingly and make various minor improvements.
15815         * lisp/calendar/todo-mode.el: Enable lexical-binding.
15816         (dayname, monthname, day, month, year): Make forward defvars
15817         of these keywords from macros defined in calendar.el; wrap
15818         them in with-no-warnings.
15819         (todo-files, todo-files-function, todo-date-pattern)
15820         (todo-mode-line-function, todo-show, todo-forward-category)
15821         (todo-edit-item--header, todo-set-category-number)
15822         (todo-adjusted-category-label-length)
15823         (todo-total-item-counts, todo-filter-items)
15824         (todo-print-buffer-function, todo-convert-legacy-date-time)
15825         (todo-category-number, todo-category-completions)
15826         (todo-read-file-name, todo-read-category)
15827         (todo-validate-name, todo-read-date)
15828         (todo-set-show-current-file, todo-modes-set-1)
15829         (todo-modes-set-2, todo-modes-set-3, todo-mode):
15830         Use #' instead of ' to quote functions.
15831         (todo-files): Use \' instead of $ in regexp.
15832         (todo--files-type-list): New function.
15833         (todo-default-todo-file, todo-category-completions-files)
15834         (todo-filter-files, todo-multiple-filter-files)
15835         (todo-reevaluate-default-file-defcustom)
15836         (todo-reevaluate-category-completions-files-defcustom)
15837         (todo-reevaluate-filter-files-defcustom): Use it.
15838         (todo-show, todo-rename-file, todo-move-category)
15839         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
15840         (todo-item-undone, todo-unarchive-items, todo-search)
15841         (todo-filter-items, todo-filter-items-1, todo-find-item)
15842         (todo-category-select, todo-read-date)
15843         (todo-nondiary-marker-matcher, todo-date-string-matcher)
15844         (todo-diary-expired-matcher, todo-convert-legacy-files)
15845         (todo-read-category): Reformat to avoid code hiding behind a
15846         more deeply embedded element.
15847         (todo-forward-category, todo-set-category-number):
15848         Use 'funcall' instead of 'apply'.
15849         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
15850         (todo-edit-category-diary-inclusion)
15851         (todo-insert-sort-button, todo-insert-category-line)
15852         (todo-multiple-filter-files): Mark unused local variables.
15853         (todo-edit-item--header, todo-move-item, todo-print-buffer)
15854         (todo-edit-item--header, todo-move-item, todo-check-file)
15855         (todo-edit-item--next-key): Remove unused local variables.
15856         (todo-insert-sort-button, todo-insert-category-line):
15857         Use a closure instead of a backquoted lambda.
15858         (todo-update-categories-display, todo-print-buffer): Simplify code.
15859         (todo-print-buffer-function): Document calling convention.
15860         (todo-category-completions): Use cl-pushnew instead of add-to-list.
15861         (todo-mode-map, todo-archive-mode-map)
15862         (todo-categories-mode-map, todo-filtered-items-mode-map):
15863         Remove superfluous call of suppress-keymap, since it's already
15864         in the parent special-mode-map.
15866 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
15868         dired: Revert buffer when DIRNAME is a cons
15870         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
15871         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
15872         Update the comments.
15873         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
15875 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
15877         Handle when dired-directory is a cons in some Dired functions
15879         * lisp/dired-aux.el (dired-rename-subdir-1)
15880         * lisp/dired-x.el (dired-mark-omitted):
15881         Handle when dired-directory is a cons.
15883 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
15885         Make eshell-next-prompt more reliable (Bug#27405)
15887         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
15888         `eshell-prompt-regexp' (and `read-only' text-property if
15889         `eshell-highlight-prompt' is set) rather than trying to use
15890         `forward-paragraph'.
15891         (eshell-previous-prompt): Don't count prompt on current line.
15893 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
15895         Simplify recent gnutls.c changes
15897         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
15898         All uses replaced by calls to explicit_bzero; that’s clear enough.
15899         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
15900         coalescing duplicate actions.  There is no need to invoke
15901         SAFE_FREE before calling ‘error’.
15903 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
15905         Stylistic changes in tramp-cache.el
15907         * lisp/net/tramp-cache.el (tramp-get-file-property)
15908         (tramp-set-file-property): Use `bound-and-true-p'.  Add
15909         counter variables to `tramp-cache-unload-hook'.
15911 2017-07-20  Glenn Morris  <rgm@gnu.org>
15913         * admin/notes/hydra: Small updates.
15915 2017-07-20  Glenn Morris  <rgm@gnu.org>
15917         Make tramp unloading handle debug counter variables
15919         * lisp/net/tramp-cache.el (tramp-get-file-property)
15920         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
15922 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
15924         Fix hscrolling calculations when display-line-numbers is set
15926         * src/xdisp.c (move_it_in_display_line_to): Account for line
15927         numbers in hscrolled lines.  (Bug#27756)
15929 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
15931         Fix the bogus change made 13 years ago (bug#27084)
15933         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
15934         Fix the way to test if there is no visible header (bug#27084).
15936 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
15938         Use grep's --null option (Bug#6843)
15940         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
15941         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
15942         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
15943         constants, replacing `grep-regexp-alist'.
15944         (grep-regex-alist): Mark the variable obsolete, add a new function of
15945         the same name to replace it.
15946         (grep-compute-defaults): Compute default for
15947         `grep-use-null-filename-separator'.
15948         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
15949         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
15950         according to `grep-use-null-filename-separator'.
15951         * lisp/progmodes/xref.el (xref-collect-matches): Call
15952         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
15953         grep-regexp-alist match groups.
15954         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
15955         item under "Grep" heading as well.
15957 2017-07-19  Philipp Stephani  <phst@google.com>
15959         * src/gnutls.c (clear_storage): Define only if needed.
15961 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
15963         Adjust todo-quit to recent change in dired
15965         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
15966         bury-buffer to exit todo-mode.  This restores the desired behavior
15967         of not immediately returning to the exited todo-mode buffer on
15968         quitting another buffer, which a dired bug fix had changed (see
15969         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
15971 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
15973         Add test for bugs 7131, 27762
15975         Require 'ls-lisp' at top of the file.
15976         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
15977         New tests.
15978         (dired-test-bug27693): Delete Dired buffer at the end.
15980 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
15982         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
15984 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
15986         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
15988         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
15990 2017-07-18  Glenn Morris  <rgm@gnu.org>
15992         Use a more specific test for running on hydra.nixos.org
15994         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
15995         * test/Makefile.in (WRITE_LOG):
15996         * test/lisp/filenotify-tests.el:
15997         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
15998         (eieio-test-method-order-list-6):
15999         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
16000         (eieio-test-37-obsolete-name-in-constructor):
16001         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
16003 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
16005         Avoid infloop due to Eshell's "smart" redisplay
16007         * src/xdisp.c (pos_visible_p): Save and restore the window's
16008         mode-line and header-line height.  (Bug#27752)
16010 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
16012         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
16014 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
16016         Fix indentation when display-line-numbers is non-nil
16018         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
16019         to go one more tab stop to display a TAB.  (Bug#27743)
16021 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
16023         Don't use gtk_widget_get_scale_factor on old GTK3 versions
16025         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
16026         only present since GTK 3.10.
16028 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
16030         Let delete-selection-mode work with popup-menu commands (Bug#27569)
16032         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
16033         `this-command' set to the selected command.
16035 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
16037         Port gnutls.c to older (buggier?) GnuTLS
16039         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
16040         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
16041         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
16042         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
16043         perhaps hydra was using a modified GnuTLS.
16044         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
16045         is at the end of the list returned by gnutls_cipher_list,
16046         or that the earlier ciphers all have non-null names.
16048 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16050         Fix relocation with named cell referred to by a one-symbol formula.
16052         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
16053         work also with one symbol formulas.
16055         * test/lisp/ses-tests.el
16056         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
16057         test for renaming with relocating a one symbol formula.
16059 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16061         Fix symbol completion and document it.
16063         * doc/misc/ses.texi (Configuring what printer function
16064         applies): Add description of keys for completing local printer
16065         symbols and listing local printers in a help buffer.
16066         (Formulas): Add decription for key to list the named cell
16067         symbols in a help buffer.
16069         * lisp/ses.el (ses-completion-keys): New constant.
16070         (ses--completion-table): New defvar.
16071         (ses--list-orig-buffer): New defvar.
16072         (ses-mode-edit-map): Fixed for symbol completion, plus add
16073         help functions to list named cells or local printers.
16074         (ses-edit-cell-complete-symbol)
16075         (ses--edit-cell-completion-at-point-function): New defuns for
16076         completion during formula edition.
16077         (ses-edit-cell): Redefine dynamically edit keymap for
16078         completion keys to point at the right function.
16079         (ses-read-printer-complete-symbol)
16080         (ses--read-printer-completion-at-point-function): New defuns
16081         for completion during printer edition.
16082         (ses-read-printer): Redefine dynamically edit keymap for
16083         completion keys to point at the right function.
16084         (ses-list-local-printers): New defun.
16085         (ses-list-named-cells): New defun.
16087 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16089         Move comments around
16091 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16093         Make scaling work (?) on pre-GTK3 systems
16095         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
16096         (xg_get_scale): Use it on non-GTK3 systems.
16098 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16100         Always return the GDK scale
16102         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
16104 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16106         Remove usage of the GDK_SCALE variable
16108         * src/gtkutil.c (xg_get_gdk_scale): Remove.
16109         (xg_get_default_scrollbar_height)
16110         (xg_get_default_scrollbar_width): Pass in a frame to check for
16111         scaling.
16112         (xg_frame_set_char_size): Use the API for querying scale
16113         instead of looking at the GDK_SCALE variable.
16114         (xg_get_default_scrollbar_width): Ditto.
16115         (xg_get_default_scrollbar_height): Ditto.
16116         (xg_update_scrollbar_pos): Ditto.
16118         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
16119         frame to get the width.
16121 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
16123         Get positions of menus and tooltips right on HiDPI
16125         * src/gtkutil.c (xg_get_scale): New function.
16126         (xg_show_tooltip): Use it.
16128         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
16129         right place.
16131 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
16133         Allow user control on what starts and ends a paragraph for bidi
16135         * src/buffer.h (struct buffer): New members
16136         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
16137         * src/buffer.c (bset_bidi_paragraph_start_re)
16138         (bset_bidi_paragraph_separate_re): New setters/
16139         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
16140         bidi-paragraph-separate-re.
16141         (init_buffer_once): Init the values of bidi-paragraph-start-re and
16142         bidi-paragraph-separate-re.
16143         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
16144         New per-buffer variables.
16145         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
16146         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
16147         (bidi_move_to_visually_next): Handle correctly the case when the
16148         separator matches an empty string.  (Bug#27526)
16150         * doc/emacs/mule.texi (Bidirectional Editing):
16151         * doc/lispref/display.texi (Bidirectional Display): Document
16152         bidi-paragraph-start-re and bidi-paragraph-separate-re.
16154         * etc/NEWS: Mention bidi-paragraph-start-re and
16155         bidi-paragraph-separate-re.
16157 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
16159         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
16161 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
16163         alist-get: Add optional arg TESTFN
16165         If TESTFN is non-nil, then it is the predicate to lookup
16166         the alist.  Otherwise, use 'eq' (Bug#27584).
16167         * lisp/subr.el (alist-get): Add optional arg FULL.
16168         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
16169         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
16170         * doc/lispref/lists.texi (Association Lists): Update manual.
16171         * etc/NEWS: Announce the changes.
16172         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
16173         (test-map-elt-testfn): New tests.
16175 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
16177         Fix `tramp-test39-unload'
16179         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
16180         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
16181         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
16182         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
16183         variables and autoload functions; they are not removed.  Check
16184         also for `-function(s)'.
16186 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
16188         Preserve point under 'dired-auto-revert-buffer' (second case)
16190         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
16191         of switch-to-buffer.  This preserves Dired window point when
16192         dired-auto-revert-buffer is non-nil.  (Bug#27243)
16194         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
16196 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
16198         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
16200         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
16201         undefined to allow --with-gnutls=no builds to proceed.
16203 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16205         * src/gnutls.c: Restore some comments.
16207 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16209         Use memset, not bzero
16211         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
16212         of the (less-portable) bzero.
16214 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16216         Use explicit_bzero to clear GnuTLS keys
16218         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
16219         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
16220         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16221         * src/gnutls.c (clear_storage): New function.
16222         (gnutls_symmetric_aead): Use it instead of memset.
16224 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16226         Merge from gnulib
16228         This incorporates:
16229         2017-07-16 explicit_bzero: new module
16230         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
16231         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
16232         * m4/string_h.m4:
16233         Copy from Gnulib.
16234         * lib/gnulib.mk.in: Regenerate.
16236 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
16238         Fix vc-src-dir-status-files
16240         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
16241         copy-paste from b1a765b3 (bug#27641).
16243 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
16245         Fix mismatched parens
16247         * etc/NEWS.21: Remove excess parenthesis in code example
16249 2017-07-16  Alan Third  <alan@idiocy.org>
16251         Add missing declare-function for new function
16253         * lisp/frame.el: Add declare function for
16254         ns-mouse-absolute-pixel-position.
16256 2017-07-16  R. Bernstein  <rocky@gnu.org>
16258         Realgud for tango themes
16260 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
16262         Fix test when running from test/lisp/subr-tests.elc
16264         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
16265         assume a lambda expression will be `equal' to its quoted form.  That's
16266         not true if the lambda expression has been compiled.
16268 2017-07-15  Alan Third  <alan@idiocy.org>
16270         Fix some frame handling issues on NS
16272         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
16273         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
16274         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
16275         relationship if it's broken.
16277 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
16279         ls-lisp: Fix file size format
16281         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
16282         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
16283         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
16285 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16287         Avoid link errors with older versions of GnuTLS
16289         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
16290         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
16291         calls GnuTLS functions which might be unavailable in older
16292         versions of GnuTLS.
16294 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16296         Improve comments in faces.el
16298         * lisp/faces.el (face-font-family-alternatives): Improve
16299         commentary.
16301 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16303         Improve some GnuTL error messages
16305         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
16306         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
16308 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16310         Fix the Elisp manual wrt GnuTL cryptography
16312         * doc/lispref/elisp.texi (Top): Update the master menu.
16313         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
16314         avoid errors in makeinfo.
16316 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16318         Fix compilation of gnutls.c with older GnuTLS
16320         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
16321         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
16322         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
16324 2017-07-15  rocky  <rb@dustyfeet.com>
16326         Realgud for two more light themes
16328 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16330         Rearrange MS-Windows code that dynamically loads GnuTLS functions
16332         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
16333         of functions using the same preprocessing directives as in the code.
16335 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
16337         Fix the MS-Windows build broken in gnutls.c
16339         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
16340         loading code to after 'capabilities' has been calculated.  Remove
16341         redundant comments.
16343 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
16345         src/image.c (compute_image_size): Remove superfluous checks.
16347         * src/image.c (compute_image_size): Remove superfluous checks.
16349 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
16351         Make combinations of :width/:max-height image specs work reliably
16353         * doc/lispref/display.texi (ImageMagick Images): Document
16354         :width/:max-height combinations (etc) (bug #25583).
16356         * src/image.c (compute_image_size): Handle :width/:max-height
16357         (etc) combinations consistently (by letting "max" win and
16358         preserve ratio).
16360         * test/manual/image-size-tests.el (image-size-tests): Add
16361         tests for :width/:max-height (etc) combinations.
16363 2017-07-15  Glenn Morris  <rgm@gnu.org>
16365         Fix recent theme changes
16367         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
16368         Fix typos in recent changes.
16370 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16372         GnuTLS integer-overflow and style fixes
16374         This tweaks the recently-added GnuTLS improvements so that
16375         they avoid some integer-overflow problems and follow typical
16376         Emacs style a bit better.
16377         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
16378         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
16379         configure-time results are displayed.
16380         * src/fns.c (extract_data_from_object): Return char *, not char
16381         const *, since one gnutls caller wants a non-const pointer.  Use
16382         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
16383         instead of rolling our own code.  Prefer signed types to unsigned
16384         when either will do.  Report problems for lengths out of range,
16385         instead of silently mishandling them.
16386         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
16387         callers.  All callers of gnutls_sterror changed.
16388         (Fgnutls_boot): Check for integers out of range rather than
16389         silently truncating them.
16390         (gnutls_symmetric_aead): Check for integer overflow in size
16391         calculations.
16392         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
16393         Prefer signed to unsigned integers where either will do.
16394         (gnutls_symmetric_aead, gnutls_symmetric):
16395         Work even if ptrdiff_t is wider than ‘long’.
16396         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
16397         Check for integer overflow in algorithm selection.
16399 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
16401         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
16403 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16405         Fix the MS-Windows build due to added GnuTLS functions
16407         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
16408         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
16409         functions.  Add #define redirections for new functions.
16410         (gnutls_symmetric_aead): Fix format specs to be more portable when
16411         printing ptrdiff_t arguments.
16412         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
16413         wrapper.
16414         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
16416         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
16417         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
16418         gnutls-available-p, otherwise GnuTLS functions might not be loaded
16419         from the DLL on MS-Windows.
16421 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16423         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
16425         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
16426         Dig into advice wrappers to find the "real" signature.
16427         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
16428         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
16429         since bytecode functions are now handled in byte-compile--function-signature.
16431         * lisp/files.el (create-file-buffer, insert-directory):
16432         Remove workaround introduced for (bug#14860).
16434         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
16436         * lisp/help.el (help-function-arglist):
16437         Dig into advice wrappers to find the "real" signature.
16439 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
16441         GnuTLS HMAC and symmetric cipher support
16443             * etc/NEWS: Add news for new feature.
16445             * doc/lispref/text.texi (GnuTLS Cryptography): Add
16446             documentation.
16448             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
16449             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
16451             * src/fns.c (Fsecure_hash_algorithms): Add function to list
16452             supported `secure-hash' algorithms.
16453             (extract_data_from_object): Add data extraction function that
16454             can operate on buffers and strings.
16455             (secure_hash): Use it.
16456             (Fsecure_hash): Mention `secure-hash-algorithms'.
16458             * src/gnutls.h: Include gnutls/crypto.h.
16460             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
16461             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
16462             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
16463             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
16465             * test/lisp/net/gnutls-tests.el: Add tests.
16467 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16469         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
16471         It's also defined in cl-extra.el.
16473 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16475         Do not convert ij and IJ to compatibility chars
16477         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
16478         Problem reported by James Cloos (Bug#518#10).
16480 2017-07-14  Toon Claes  <toon@iotcl.com>
16482         Remove Turkish ligatures from Dutch input method
16484         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
16486 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16488         Improve stack-overflow heuristic on GNU/Linux
16490         Problem reported by Steve Kemp (Bug#27585).
16491         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
16492         by current_thread->stack_top.
16493         (record_in_backtrace): Set current_thread->stack_top.
16494         This is for when the Lisp interpreter calls itself.
16495         * src/lread.c (read1): Set current_thread->stack_top.
16496         This is for recursive s-expression reads.
16497         * src/print.c (print_object): Set current_thread->stack_top.
16498         This is for recursive s-expression printing.
16499         * src/thread.c (mark_one_thread): Get stack top first.
16500         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
16502 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16504         Remove duplicate cl--random-state definition
16506         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
16507         This variable is now defined in cl-extra.el (Bug#27617).
16509 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
16511         Adjust timer in tramp-test36-asynchronous-requests
16513         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
16514         Adjust timer if it takes too much time.
16516 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16518         Always display rmail progress report under user control
16520         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
16521         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
16523 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16525         Avoid byte-compilation warnings for advised functions
16527         * lisp/files.el (insert-directory, create-file-buffer): Add an
16528         advertised-calling-convention form to shut up byte-compilation
16529         warnings.  (Bug#14860)
16531 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16533         Add assertion related to display-line-numbers
16535         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
16536         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
16537         code.  (Bug#27668)
16539 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16541         Prevent display corruption when display-line-numbers is set
16543         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
16544         due to display-line-numbers, clear the window's desired glyph
16545         matrix before returning, as the following call to try_window will
16546         call display_line, which expects rows of the desired matrix
16547         cleared.  (Bug#27668)
16549 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
16551         Revert "Use fixed-pitch font for display-line-numbers"
16553         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
16554         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
16555         popular demand.  For relevant discussions, see
16557          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
16558          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
16560 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
16562         Merge from gnulib
16564         This incorporates:
16565         2017-07-13 Improve cross-compilation guesses for native Windows
16566         2017-07-11 More systematic m4 quoting and indentation
16567         2017-07-10 Make sure $host and $host_os are defined when used
16568         2017-07-03 stdioext: Port to OpenVMS
16569         2017-06-24 xalloc-oversized: port to icc
16570         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
16571         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
16572         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
16573         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
16574         Copy from Gnulib.
16576 2017-07-13  Alan Mackenzie  <acm@muc.de>
16578         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
16580         This fontification anomaly happened because after deleting the ">",
16581         c-forward-<>-arglist parses the preceding identifier as a putative type but
16582         stores it in c-found-types before it becomes clear it is not an unambiguous
16583         type.  c-forward-<>-arglist fails, leaving the spurious type id in
16584         c-found-types.  Fix this by "binding" c-found-types "to itself" in
16585         c-forward-<>-arglist, and restoring the original value when that function call
16586         fails.
16588         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
16589         (c-forward-<>-arglist): Record the original value of c-found-types at the
16590         beginning of the function, and restore it at the end on failure.
16592         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
16593         accurately.
16595 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16597         Add tests for SES, and fix one more cell renaming bug.
16599         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
16600         relocate value for named cells as they keep the same symbol.
16601         (ses-rename-cell): Set new cell name symbol to cell value --- do not
16602         rely on recalculating.  Push cells with updated data --- cell name,
16603         cell reference list, or cell formula --- to deferred write list.
16605         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
16607 2017-07-12  Alan Mackenzie  <acm@muc.de>
16609         Fix some bugs in c-defun-name.  This fixes bug #25623.
16611         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
16612         etc.
16614 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
16616         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
16618         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
16619         c-mode-base-map if possible.
16621 2017-07-12  Alan Mackenzie  <acm@muc.de>
16623         CC Mode: create and use c-set-keymap-parent.
16625         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
16627         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
16628         set-keymap-parents.
16629         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
16631 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
16633         Minor tweaks of new line number display variables
16635         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
16636         (Vdisplay_line_number_width): Rename to
16637         Vdisplay_line_numbers_width.
16638         (maybe_produce_line_number): Comply with above rename.
16639         * lisp/cus-start.el (standard):
16640         * lisp/frame.el (top-level):
16641         * etc/NEWS: Comply with renaming of
16642         `display-line-number-width' to `display-line-numbers-width'.
16644 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
16646         Avoid assertion violations in close_infile_unwind
16648         * src/lread.c (close_infile_unwind): A temporary band-aid solution
16649         for bug#27642: allow 'infile' be NULL.
16651 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
16653         Use fixed-pitch font for display-line-numbers
16655         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
16656         even if the default face uses a variable-pitch font.  Reported by
16657         James Cloos <cloos@jhcloos.com>.
16659 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
16661         Improve documentation of display-line-numbers
16663         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
16664         doc string.  Suggested by Alex <agrambot@gmail.com>.
16666 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
16668         Add an optional testfn parameter to assoc
16670         * src/fns.c (assoc): New optional testfn parameter used for comparison
16671         when provided.
16672         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
16673         'testfn' parameter.
16674         * src/buffer.c:
16675         * src/coding.c:
16676         * src/dbusbind.c:
16677         * src/font.c:
16678         * src/fontset.c:
16679         * src/gfilenotify.c:
16680         * src/image.c:
16681         * src/keymap.c:
16682         * src/process.c:
16683         * src/w32fns.c:
16684         * src/w32font.c:
16685         * src/w32notify.c:
16686         * src/w32term.c:
16687         * src/xdisp.c:
16688         * src/xfont.c: Add a third argument to Fassoc calls.
16689         * etc/NEWS:
16690         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
16692 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
16694         Use `with-demoted-errors' in Tramp
16696         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
16698         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
16700 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
16702         Add Quick Start Guide to Tramp manual
16704         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
16705         "MS Windows".
16706         (Quick Start Guide): New node.
16708         * doc/misc/trampver.texi:
16709         * lisp/net/trampver.el: Change version to "2.3.3-pre".
16711 2017-07-10  Glenn Morris  <rgm@gnu.org>
16713         Fix failing module tests on GNU/Linux
16715         * test/src/emacs-module-tests.el
16716         (module--test-assertions--load-non-live-object)
16717         (module--test-assertions--call-emacs-from-gc):
16718         Avoid test failures due to backtraces.
16720 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
16722         Fix core dump in substitute-object-in-subtree
16724         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
16725         would dump core, since the C code would recurse indefinitely through
16726         the infinite structure.  This patch adds an argument to the function,
16727         and renames it to lread--substitute-object-in-subtree as the function
16728         is not general-purpose and should not be relied on by outside code.
16729         See Bug#23660.
16730         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
16731         not Lisp_Object, so that callers need not cons unnecessarily.
16732         All callers changed.  Also, remove related #if-0 code that was
16733         “temporary” in the early 1990s and has not been compilable for
16734         some time.
16735         * src/lread.c (struct subst): New type, for substitution closure data.
16736         (seen_list): Remove this static var, as this info is now part of
16737         struct subst.  All uses removed.
16738         (Flread__substitute_object_in_subtree): Rename from
16739         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
16740         doesn’t dump core when called from the top level with an
16741         already-cyclic structure.  All callers changed.
16742         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
16743         (substitute_object_recurse): Take a single argument SUBST rather
16744         than a pair OBJECT and PLACEHOLDER, so that its address can be
16745         passed around as part of a closure; this avoids the need for an
16746         AUTO_CONS call.  All callers changed.  If the COMPLETED component
16747         is t, treat every subobject as potentially circular.
16748         (substitute_in_interval): Take a struct subst * rather than a
16749         Lisp_Object, for the closure data.  All callers changed.
16750         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
16751         New test, to check that the core dump does not reoccur.
16753 2017-07-10  Philipp Stephani  <phst@google.com>
16755         Minor simplification of module_free_global_ref
16757         * src/emacs-module.c (module_free_global_ref): Remove unused variable
16758         'hashcode'.  Inline variable 'value' that's only used once.
16760 2017-07-10  Philipp Stephani  <phst@google.com>
16762         Re-add a useful assertion
16764         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
16765         the reference count is zero.  This assertion was removed in commit
16766         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
16767         test performed by XFASTINT before, because the previous reference
16768         count could have been zero already in the case of a buggy
16769         implementation.  This assertion might have detected Bug#27587.
16771 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
16773         Fix bug in module_free_global_ref (Bug#27587)
16775         * src/emacs-module.c (module_free_global_ref): Actually remove entry
16776         from hash table.
16778 2017-07-09  Philipp Stephani  <phst@google.com>
16780         Further improve electric quote support for Markdown (Bug#24709)
16782         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
16783         values.  Therefore 'electric-quote-mode' recognized it as a
16784         programming mode.  Fix this by first checking whether the current
16785         major mode is derived from 'text-mode'.
16787         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
16788         'text-mode' as stronger signal than comment syntax.
16790         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
16791         (electric-quote-markdown-in-code): Adapt unit tests.
16793 2017-07-09  Philipp Stephani  <phst@google.com>
16795         Remove pointless code in 'electric-quote-mode'
16797         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
16798         pointless form.
16800 2017-07-09  Philipp Stephani  <phst@google.com>
16802         Refactor 'electric-quote-mode'
16804         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
16805         local variable 'start', which was misnamed and only used once.
16807 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
16809         Avoid crashes on MS-Windows starting 64-bit .NET executables
16811         * src/w32proc.c (w32_executable_type): Don't assume that the
16812         import directory in a DLL will always be non-NULL.  (Bug#27527)
16814 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
16816         Avoid compilation warning in files.el
16818         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
16819         warning due to its use in auto-save-visited-mode.
16821 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
16823         Improve indexing of VC-related stuff in the Emacs manual
16825         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
16826         entry.  (Bug#27627)
16828 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
16830         Speed up display of line numbers for very large buffers
16832         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
16833         using values cached by mode-line display of line numbers.
16834         (Bug#27622)
16836 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
16838         Define internal_border_parts for window systems only (Bug#27615)
16840         * src/keyboard.c: (internal_border_parts): Define only
16841         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
16843 2017-07-09  R. Bernstein  <rocky@gnu.org>
16845         Add realgud faces faces to whiteboard...
16847         Adjust wheatgrass to use underline for enabled/disabled breakpoints
16849 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
16851         Optimize UCS normalization tests
16853         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
16854         * test/lisp/international/ucs-normalize-tests.el
16855         (ucs-normalize-tests--parse-column): Use character instead of string
16856         of length 1 for terminator.  Convert return value into string since
16857         all callers need that form anyway.
16858         (ucs-normalize-tests--normalization-equal-p): Rename from
16859         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
16860         messing with narrowing.  Take string to compare against and insert it
16861         into buffer so that compare-buffer-substrings can be used instead of
16862         allocating a new string from buffer contents.
16863         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
16864         for comparing single character.
16865         (ucs-normalize-tests--rule1-holds-p)
16866         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
16867         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
16868         `='.
16870 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
16872         Update failing lines for UCS normalize tests
16874         * test/lisp/international/ucs-normalize-tests.el
16875         (ucs-normalize-tests--failing-lines-part2): Update for new
16876         admin/unidata/NormalizationTest.txt version.
16878 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
16880         Semi-automate the procedure for updating UCS normalize test bad lines
16882         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
16883         commentary describing a manual procedure for producing the updated
16884         failing lines, it did not actually work.  Replace it with pointer to
16885         new function which prints the updated values.
16886         (ucs-normalize-tests--rule1-holds-p): Renamed from
16887         ucs-normalize-tests--invariants-hold-p.
16888         (ucs-normalize-tests--rule2-holds-p): Renamed from
16889         ucs-normalize-tests--invariants-rule2-hold-p.
16890         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
16891         ucs-normalize-tests--invariants-failing-for-part.
16892         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
16893         ucs-normalize-tests--invariants-failing-for-lines.
16894         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
16895         (ucs-normalize-part2): Set it.
16896         (ucs-normalize-part1): Always run through to end of test before
16897         checking for failures.
16898         (ucs-normalize-tests--insert-failing-lines)
16899         (ucs-normalize-check-failing-lines): New functions, used to update
16900         the *--failing-lines-part* variables.
16902 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16904         * lisp/cus-start.el (standard): Spelling fix.
16906 2017-07-08  Philipp Stephani  <phst@google.com>
16908         Module assertions: check for garbage collections
16910         It's technically possible to write a user pointer finalizer that calls
16911         into Emacs module functions.  This would be disastrous because it
16912         would allow arbitrary Lisp code to run during garbage collection.
16913         Therefore extend the module assertions to check for this case.
16915         * src/emacs-module.c (module_assert_thread): Also check whether a
16916         garbage collection is in progress.
16918         * test/data/emacs-module/mod-test.c (invalid_finalizer)
16919         (Fmod_test_invalid_finalizer): New test module functions.
16920         (emacs_module_init): Register new test function.
16922         * test/src/emacs-module-tests.el (module--test-assertion)
16923         (module--with-temp-directory): New helper macros.
16924         (module--test-assertions--load-non-live-object): Rename existing
16925         unit test, use helper macros.
16926         (module--test-assertions--call-emacs-from-gc): New unit test.
16928 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
16930         Capitalize the menu entry for display-line-numbers
16932         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
16933         for display-line-numbers.  Suggested by Martin Rudalics
16934         <rudalics@gmx.at>.
16936 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
16938         Update Unicode data and files to Unicode 10.0
16940         * admin/notes/unicode:
16941         * admin/unidata/README:
16942         * admin/unidata/BidiBrackets.txt:
16943         * admin/unidata/BidiMirroring.txt:
16944         * admin/unidata/Blocks.txt:
16945         * admin/unidata/IVD_Sequences.txt:
16946         * admin/unidata/NormalizationTest.txt:
16947         * admin/unidata/SpecialCasing.txt:
16948         * admin/unidata/UnicodeData.txt:
16949         * lisp/international/characters.el:
16950         * lisp/international/fontset.el (script-representative-chars):
16951         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
16953 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
16955         Support '=' in Scheme and Lisp tags in 'etags'
16957         * lib-src/etags.c (get_lispy_tag): New function.
16958         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
16959         * test/manual/etags/CTAGS.good:
16960         * test/manual/etags/ETAGS.good_1:
16961         * test/manual/etags/ETAGS.good_2:
16962         * test/manual/etags/ETAGS.good_3:
16963         * test/manual/etags/ETAGS.good_4:
16964         * test/manual/etags/ETAGS.good_5:
16965         * test/manual/etags/ETAGS.good_6:
16966         * test/manual/etags/Makefile:
16967         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
16968         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
16970 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
16972         Avoid compiler warnings in xdisp.c debugging code
16974         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
16975         Use pD directives for ptrdiff_t values instead of pI, to avoid
16976         compilation warnings on 64-bit hosts.  (Bug#27597)
16978 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
16980         Commentary enhancement in frame.el
16982         * lisp/frame.el: Explain how to test whether a variable needs to
16983         be added to the list of those which are watched for buffer
16984         redisplay.
16986 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
16988         Support display of line numbers natively
16990         This merges branch 'line-numbers'.
16991         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
16992         function.
16993         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
16994         * src/dispextern.h (struct it): New members pt_lnum, lnum,
16995         lnum_bytepos, lnum_width, and lnum_pixel_width.
16996         * src/indent.c (line_number_display_width): New function,
16997         refactored from line-number width calculations in vertical-motion.
16998         (Fvertical_motion): Call line_number_display_width when the width
16999         of line-number display is needed.
17000         (Fline_number_display_width): New defun.
17001         (syms_of_indent): Defsubr it.
17002         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
17003         the width used up by line numbers by looking near the window-start
17004         point.  If window-start is outside of the accessible portion,
17005         temporarily widen the buffer.
17006         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
17007         space taken by the line-number display.
17008         * src/xdisp.c (display_count_lines_logically)
17009         (display_count_lines_visually, maybe_produce_line_number)
17010         (should_produce_line_number, row_text_area_empty): New functions.
17011         (try_window_reusing_current_matrix): Don't use this method when
17012         display-line-numbers is in effect.
17013         (try_window_id, try_cursor_movement): Disable these optimizations
17014         when the line-number-current-line face is different from
17015         line-number face and for relative line numbers.
17016         (try_window_id, redisplay_window, try_cursor_movement): For
17017         visual line-number display, disable the same redisplay
17018         optimizations as for relative.
17019         (x_produce_glyphs): Adjust tab stops for the horizontal
17020         space taken by the line-number display.
17021         (hscroll_window_tree): Adjust hscroll calculations to line-number
17022         display.
17023         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
17024         math.h; all users changed.
17025         (set_cursor_from_row): Fix calculation of cursor X coordinate in
17026         R2L rows with display-produced glyphs at the beginning.
17027         (display_line): Use should_produce_line_number to determine
17028         whether a line number should be produced for each glyph row, and
17029         maybe_produce_line_number to produce line numbers.
17030         Don't display line numbers in the minibuffer and in tooltip
17031         frames.
17032         Call row_text_area_empty to verify that a glyph
17033         row's text area is devoid of any glyphs that came from a buffer or
17034         a string.  This fixes a bug with empty-lines indication
17035         disappearing when line numbers or line-prefix are displayed.
17036         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
17037         <display-line-number-width>: New buffer-local variables.
17038         <display-line-numbers-current-absolute>: New variable.
17040         * lisp/cus-start.el (standard): Provide customization forms for
17041         display-line-numbers and its sub-features.
17042         * lisp/faces.el (line-number, line-number-current-line): New faces.
17043         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
17044         display-line-numbers-current-absolute, and
17045         display-line-number-width to the list of variables that should
17046         trigger redisplay of the current buffer.
17047         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
17048         turn display-line-numbers on and off.
17049         (toggle-display-line-numbers): New function.
17050         * lisp/simple.el (last--line-number-width): New internal variable.
17051         (line-move-visual): Use it to adjust temporary-goal-column when
17052         line-number display changes its width.
17054         * doc/emacs/basic.texi (Position Info): Add cross-reference to
17055         "Display Custom", for line-number display.
17056         * doc/emacs/custom.texi (Init Rebinding):
17057         * doc/emacs/modes.texi (Minor Modes): Remove references to
17058         linum-mode.
17059         * doc/emacs/display.texi (Display Custom): Describe the
17060         line-number display.
17061         * doc/lispref/display.texi (Size of Displayed Text): Document
17062         line-number-display-width.
17064         * etc/NEWS: Document display-line-numbers and its customizations.
17066 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17068         Fix more ungetc bugs with encoding errors
17070         * src/lread.c (infile): New variable, replacing ...
17071         (instream): ... this.  All uses changed.
17072         (readbyte_from_stdio): New function, which deals with lookahead.
17073         (readbyte_from_file, Fget_file_char): Use it.
17074         (Fget_file_char): When misused, signal an error instead of
17075         relying on undefined behavior.
17076         (close_infile_unwind): New function.
17077         (Fload): Use it.
17078         (readevalloop): 2nd arg is now struct infile *, not FILE *.
17079         All callers changed.
17080         (read1): Handle lookahead when copying doc strings with
17081         encoding errors.
17083 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17085         Avoid ungetc when loading charset maps from files
17087         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
17088         replacing the old EOF.  All callers changed.  This avoids the
17089         need to call ungetc.
17091 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17093         Fix ungetc bug when reading an encoding error
17095         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
17096         error when reading an encoding error from a file, e.g., a symbol
17097         in an .elc file whose name is "\360\220\200\360".
17099 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17101         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
17103         * lisp/window.el (display-buffer--special-action): Use a closure.
17105 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17107         Add new todo-mode.el tests
17109         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
17110         Declare an Edebug spec.  Restore pre-test-run state of test files.
17111         (todo-test--show, todo-test--move-item)
17112         (todo-test--insert-item): New functions.
17113         (todo-test-get-archive): Remove, as subsumed by
17114         todo-test--show.  Adjust all callers.
17115         (todo-test--is-current-buffer): Rename from
17116         todo-test-is-current-buffer and adjust uses.
17117         (todo-test-item-highlighting): Use todo-test--show.
17118         (todo-test-revert-buffer01, todo-test-revert-buffer02)
17119         (todo-test-raise-lower-priority)
17120         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
17121         (todo-test-move-item02, todo-test-move-item03)
17122         (todo-test-move-item04, todo-test-move-item05)
17123         (todo-test-toggle-item-header01)
17124         (todo-test-toggle-item-header02)
17125         (todo-test-toggle-item-header03)
17126         (todo-test-toggle-item-header04)
17127         (todo-test-toggle-item-header05)
17128         (todo-test-toggle-item-header06)
17129         (todo-test-toggle-item-header07): New tests.
17131         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
17132         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
17133         Modify to accommodate new tests.
17135 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17137         todo-mode.el: Fix handling of hidden item headers (bug#27609)
17139         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
17140         (todo-toggle-item-header): Use it.  Make this command a noop
17141         if the file has no items.
17142         (todo-move-item, todo-item-done): Instead of concatenating the
17143         items to move into one string, make a list of them to
17144         facilitate handling hidden headers.  Adjust insertion accordingly.
17145         (todo-archive-done-item): Handle hidden headers in archive file.
17146         (todo-unarchive-items): Handle hidden headers in todo file.
17147         (todo-backward-item): Use todo--item-headers-hidden and handle
17148         moving backward work when item date-time headers are hidden.
17149         (todo-remove-item): Delete date-time header overlay.
17150         (todo-get-overlay, todo-insert-with-overlays): Make them work
17151         with hidden date-time headers.
17152         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
17154 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
17156         Fix several todo-mode bugs found while debugging bug#27609
17158         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
17159         current category only once.
17160         (todo-mark-category): Update number of marked items to avoid
17161         spurious duplication in todo-categories-with-marks alist and
17162         corruption of the todo-categories alist.  Handle empty line
17163         when there are no todo items and done items are shown.
17164         (todo-set-item-priority): Make noop if called from
17165         todo-raise-item-priority or todo-lower-item-priority when
17166         point is on a done todo item or an empty line.
17167         (todo-move-item): Use markers instead of integer positions to
17168         correctly handle deleting the now moved items from the source
17169         category (without markers an infinite loop arises when moving
17170         marked item to a preceding category).
17171         (todo-unarchive-items): Put point on the (first) restored done
17172         item, instead of leaving it at the end of the done items
17173         separator string.
17174         (todo-revert-buffer): Ensure buffer remains read-only after
17175         reverting.
17177 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
17179         Exclude blank columns from value of line-number-display-width
17181         * src/indent.c (Fline_number_display_width): Don't add 2 to the
17182         number of columns we return, to make this consistent with
17183         display-line-number-width.
17185 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
17187         Fix vertical-motion across the place where line-number width changes
17189         * src/indent.c (line_number_display_width): New function,
17190         refactored from line-number width calculations in vertical-motion.
17191         (Fvertical_motion): Call line_number_display_width when the width
17192         of line-number display is needed.
17193         (Fline_number_display_width): New defun.
17194         (syms_of_indent): Defsubr it.
17196         * doc/lispref/display.texi (Size of Displayed Text): Document
17197         line-number-display-width.
17199         * etc/NEWS: Mention line-number-display-width.
17201         * lisp/simple.el (last--line-number-width): New internal variable.
17202         (line-move-visual): Use it to adjust temporary-goal-column when
17203         line-number display changes its width.
17205 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
17207         Remove Vwindow_text_change_functions and related code
17209         Vwindow_text_change_functions had been provided for implementing
17210         line numbers but apparently was never functional or in use.
17212         * src/xdisp.c (redisplay_window): Remove handling of
17213         Vwindow_text_change_functions.
17214         (syms_of_xdisp): Remove Qwindow_text_change_functions.
17215         (Vwindow_text_change_functions): Remove variable.
17216         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
17217         `window-text-change-functions'.
17219 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
17221         Convert more uses of looking-at to following-char
17223         More followup to Karl Fogel's commit a84da83c1.
17224         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
17225         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
17226         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
17227         * lisp/proced.el (proced-toggle-marks):
17228         * lisp/progmodes/f90.el (f90-indent-line):
17229         * lisp/ses.el (ses-load):
17230         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
17231         char comparisons using following-char.
17233 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
17235         Don't skip epg tests (Bug#23561)
17237         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
17238         parameter, since we supply the passphrase via pinentry-program for all
17239         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
17240         program (Bug#23619)").
17241         (epg-tests-program-alist-for-passphrase-callback): Remove.
17243 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
17245         Implement line numbers that disregard narrowing
17247         * src/xdisp.c (display_count_lines_logically): New function,
17248         counts line numbers disregarding narrowing.  Suggested by Andy
17249         Moreton <andrewjmoreton@gmail.com>.
17250         (maybe_produce_line_number): Call display_count_lines_logically
17251         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
17252         display-line-numbers-widen.
17253         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
17254         variable.
17256         * lisp/cus-start.el (standard): Provide a customization form for
17257         display-line-numbers-widen.
17258         * lisp/frame.el: Add display-line-numbers-widen,
17259         display-line-numbers-current-absolute, and
17260         display-line-number-width to the list of variables that should
17261         trigger redisplay of the current buffer.
17263         * doc/emacs/display.texi (Display Custom): Document
17264         display-line-numbers-widen.
17266 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17268         Fix lisp-comment-indent for single-semicolon case
17270         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
17271         open paren if we're looking at multiple comment characters.
17272         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
17273         (lisp-comment-indent-2): New tests.
17275 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17277         Spelling fixes
17279         * lisp/org/org-table.el (org-table-sort-lines):
17280         Fix misspelling in prompt.
17281         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
17282         Fix misspelling in call to org-element-lineage.
17284 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17286         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
17288         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
17289         line's code ends in open paren, set comment indentation exactly to
17290         column following it.
17291         (lisp-mode-variables): Set `comment-indent-function' to
17292         `lisp-comment-indent'.
17294 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
17296         Allow comment-indent-functions to specify exact indentation (Bug#385)
17298         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
17299         integers as indicating a range of acceptable indentation.
17300         (comment-indent): Don't apply `comment-inline-offset',
17301         `comment-choose-indent' already does that.
17302         (comment-indent-function):
17303         * doc/emacs/programs.texi (Options for Comments): Document new
17304         acceptable return values.
17305         * etc/NEWS: Announce it.
17307 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17309         Check for integer overflow in xbm images
17311         * src/image.c (XBM_TK_OVERFLOW): New constant.
17312         (xbm_scan): Check for integer overflow instead of relying on
17313         undefined behavior.  Check that octal digits are actually octal.
17315 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17317         Convert hex digits more systematically
17319         This makes the code a bit smaller and presumably faster, as
17320         it substitutes a single lookup for conditional jumps.
17321         * src/character.c (hexdigit): New constant.
17322         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
17323         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
17324         (hexdigit): New decl.
17325         (char_hexdigit): New inline function.
17326         * src/charset.c: Do not include c-ctype.h.
17327         * src/charset.c (read_hex):
17328         * src/editfns.c (styled_format):
17329         * src/image.c (xbm_scan):
17330         * src/lread.c (read_escape):
17331         * src/regex.c (ISXDIGIT) [emacs]:
17332         Use char_hexdigit insted of doing it by hand.
17334 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17336         Don’t use -Woverride-init
17338         I have some further changes in mind that would also need to
17339         disable the -Woverride-init warnings.  In practice these warnings
17340         seem to be more trouble than they’re worth, so disable them in the
17341         cc command line.
17342         * configure.ac: Disable -Woverride-init here ...
17343         * src/bytecode.c: ... rather than here.
17345 2017-07-05  Glenn Morris  <rgm@gnu.org>
17347         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
17349         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
17351 2017-07-05  Glenn Morris  <rgm@gnu.org>
17353         Small fix for bug-reference.el
17355         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
17356         Autoload safety property.  (Bug#27481)
17358 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
17360         Suppress timers in Tramp
17362         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
17364         * test/lisp/net/tramp-tests.el
17365         (tramp-test36-asynchronous-requests): Trigger timers.
17366         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
17367         Set `default-directory' to a trustworthy value.
17369 2017-07-05  rocky  <rb@dustyfeet.com>
17371         Add realgud face definitions
17373         Add realgud faces to tdsh-dark-theme
17375 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17377         * lisp/progmodes/cc-awk.el: Mark unused args
17379         * lisp/progmodes/cc-bytecomp.el: Mark unused args
17381 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17383         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
17385         ... before first use
17387 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17389         * lisp/progmodes/cc-vars.el: Mark unused args
17391 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17393         * lisp/progmodes/cc-langs.el: Mark unused args
17395         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
17396         unambiguous-prefix-ops.
17398 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17400         * lisp/progmodes/cc-engine.el: Mark unused args
17402         (c-beginning-of-statement-1, c-guess-basic-syntax):
17403         Remove unused var c-in-literal-cache.
17404         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
17405         (c-append-to-state-cache): Remove unused var `bra+1s'.
17406         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
17407         (c-invalidate-state-cache-1): Remove unused var `pa'.
17408         (c-forward-decl-or-cast-1): Change comments so they don't look like
17409         outline headers.
17410         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
17411         Declare before first use.
17412         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
17413         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
17415 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17417         * lisp/progmodes/cc-cmds.el: Remove unused vars
17419         (c-syntactic-context): Declare as dynbound.
17420         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
17422 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17424         * lisp/progmodes/cc-guess.el: Remove unused var
17426         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
17427         and computed variable `guessed-syntactic-symbols'.
17429 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17431         * lisp/progmodes/cc-align.el: Mark unused arguments
17433 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
17435         * lisp/progmodes/cc-mode.el: Mark unused arguments
17437         (c-parse-quotes-before-change, c-parse-quotes-after-change):
17438         Remove unused vars.
17440 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
17442         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
17444         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
17445         and `ffap-url-unwrap-remote'.
17447 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
17449         Fix infloop in uncomment-region-default (Bug#27112)
17451         When `comment-continue' has only blanks, `comment-padright' produces a
17452         regexp that matches the empty string, so `uncomment-region-default'
17453         will loop infinitely.
17454         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
17455         has nonblank characters.
17457 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
17459         Fix display of current line number in visual mode
17461         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
17462         of current line when line-number-current-line face was customized.
17463         Reported by Filipe Silva <filipe.silva@gmail.com>.
17465 2017-07-03  Philipp Stephani  <phst@google.com>
17467         Use hook instead of face list to inhibit electric quoting
17469         This is more flexible and doesn't couple electric quoting to font
17470         locking.
17471         Give that 'electric-quote-code-faces' was just introduced, remove it
17472         without formal deprecation.
17474         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
17475         hook variable.
17476         (electric-quote-post-self-insert-function): Run the hook.  Remove
17477         use of old 'electric-quote-code-faces' variable.
17479         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
17480         (electric-quote-markdown-in-code): Adapt unit tests.
17482 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
17484         Offer non-aligned indentation in lists in js-mode (Bug#27503)
17486         * lisp/progmodes/js.el (js--proper-indentation):
17487         New customization option 'js-indent-align-list-continuation'.
17488         Affects argument lists as well as arrays and object properties.
17489         * test/manual/indent/js-indent-align-list-continuation-nil.js:
17490         Test the change.
17492 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
17494         Avoid errors in vertical-motion when buffer is narrowed
17496         * src/indent.c (Fvertical_motion): If need to start from
17497         window-start, and it is outside of the accessible portion,
17498         temporarily widen the buffer.  This avoids errors in evil-mode.
17499         Reported by James Nguyen <james@jojojames.com>.
17501 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
17503         (Re-)activate remote tests of filenotify-tests.el
17505         * test/lisp/filenotify-tests.el
17506         (file-notify-test-remote-temporary-file-directory):
17507         Declare default host for mock method.  Offer home directory
17508         for mock method if it doesn't exist.
17509         (file-notify-test09-watched-file-in-watched-dir-remote):
17510         Remove, it doesn't work reliably.
17512 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
17514         Reset ansi escape context before printing eshell prompt (Bug#27407)
17516         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
17517         `ansi-color-context-region'.
17519 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
17521         Let ansi-color overlay hooks work in eshell (Bug#27407)
17523         * lisp/ansi-color.el (ansi-color-make-extent): Add
17524         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
17525         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
17526         `inhibit-modification-hooks' to nil while inserting the string.
17528 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
17530         Fix and simplify ansi escape detection (Bug#21381)
17532         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
17533         Remove.
17534         (ansi-color-control-seq-regexp): New constant, matches all escape
17535         sequences.
17536         (ansi-color-filter-apply, ansi-color-apply)
17537         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
17538         of matching color sequences separately from ignored sequences.
17539         Differentiate color sequences simply by checking the last character.
17541 2017-07-03  Damien Cassou  <damien@cassou.me>
17543         Add absolute optional parameter to line-number-at-pos (Bug#26417)
17545         * lisp/simple.el (line-number-at-pos): Add a second optional
17546           argument 'absolute'.
17547         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
17549 2017-07-03  R. Bernstein  <rocky@gnu.org>
17551         Add realgud faces
17553 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
17555         Fix tramp-tests.el for hydra
17557         * test/Makefile.in: Remove instrumentation for tramp-tests.
17559         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
17560         Remove instrumentation.  Wrap with a timeout.  Give hydra
17561         another timer value.  Set `default-directory' in timer.
17563 2017-07-03  Bastien  <bzg@gnu.org>
17565         Merge branch 'master' into scratch/org-mode-merge
17567         Merge branch 'master' into scratch/org-mode-merge
17569 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
17571         dired-do-shell-command: Fix check for wildcards
17573         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
17574         and '`?' i.e., keep the whitespaces.
17575         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
17577 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
17579         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
17581         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
17582         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
17583         split out from `shr-copy-url'.
17584         (shr-copy-url): Only copy the url, don't fetch it.
17585         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
17586         has the same behavior as the old `shr-copy-url'.
17587         * etc/NEWS: Announce changes.
17589 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
17591         Make eww-search-words prompt for query if nothing selected
17593         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
17594         user for a search query if the region is inactive or if the region is
17595         just whitespace.
17597 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
17599         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
17601         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
17602         * lisp/help-fns.el (describe-variable): No need to let-bind
17603         `cl-print-compiled-button' to t anymore.
17605 2017-07-02  Philipp Stephani  <phst@google.com>
17607         Electric quotes: Improve support for Markdown mode (Bug#24709)
17609         Introduce a new user option 'electric-quote-context-sensitive'.  If
17610         non-nil, have ' insert an opening quote if sensible.
17612         Also introduce a new variable 'electric-quote-code-faces'.  Major
17613         modes such as 'markdown-mode' can add faces to this list to treat text
17614         as inline code and disable electric quoting.
17616         * lisp/electric.el (electric-quote-context-sensitive): New user
17617         option.
17618         (electric-quote-code-faces): New variable.
17619         (electric-quote-post-self-insert-function): Treat ' as ` if
17620         desired and applicable; disable electric quoting for given faces.
17622         * test/lisp/electric-tests.el (electric-quote-opening-single)
17623         (electric-quote-closing-single, electric-quote-opening-double)
17624         (electric-quote-closing-double)
17625         (electric-quote-context-sensitive-backtick)
17626         (electric-quote-context-sensitive-bob-single)
17627         (electric-quote-context-sensitive-bob-double)
17628         (electric-quote-context-sensitive-bol-single)
17629         (electric-quote-context-sensitive-bol-double)
17630         (electric-quote-context-sensitive-after-space-single)
17631         (electric-quote-context-sensitive-after-space-double)
17632         (electric-quote-context-sensitive-after-letter-single)
17633         (electric-quote-context-sensitive-after-letter-double)
17634         (electric-quote-context-sensitive-after-paren-single)
17635         (electric-quote-context-sensitive-after-paren-double)
17636         (electric-quote-markdown-in-text)
17637         (electric-quote-markdown-in-code): New unit tests.
17639 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
17641         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
17643 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
17645         Avoid off-by-one errors in column C-n/C-p calculations
17647         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
17648         the width used up by line numbers by looking near the window-start
17649         point.
17651 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
17653         Ask confirmation for all suspicious wildcards
17655         * lisp/dired-aux.el (dired-do-shell-command): Check that all
17656         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
17658 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
17660         Extend dired-do-shell-command substitutions
17662         Substitute "`?`" inside command with the current file name.
17663         See details in:
17664         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
17665         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
17666         Mark as obsolete.
17667         (dired-isolated-string-re): New defun.
17668         (dired--star-or-qmark-p): New predicate.
17669         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
17670         with the current file name.
17671         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
17673 2017-07-02  Alan Mackenzie  <acm@muc.de>
17675         Fix bug in yesterday's CC Mode commit.
17677         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
17678         search has succeded before using the match data.
17679         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
17680         Specify that the position of the extremity of the head or tail is in the
17681         match data.
17683 2017-07-02  Philipp Stephani  <phst@google.com>
17685         Remove FIXME comments about sentinel values
17687         These FIXMEs can't be addressed because they would require breaking
17688         changes to the module API.  Furthermore, other module functions don't
17689         return sentinel values as well, so users generally have to call
17690         non_local_exit_check anyway.
17692         * src/emacs-module.c (module_set_user_ptr)
17693         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
17694         FIXME comments.
17696 2017-07-02  Philipp Stephani  <phst@google.com>
17698         Adapt Lisp reference to reader changes
17700         The reader now warns about some unescaped character literals, but
17701         still allows them for compatibility reasons.  Slightly adapt the
17702         manual to forbid them officially.
17704         * doc/lispref/objects.texi (Basic Char Syntax): Document that
17705         backslashes are now required before some characters.
17707 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
17709         Fix Bug#27502
17711         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
17712         (find-file-hook): Use it.  (Bug#27502)
17713         (auto-revert-remove-current-buffer): New defun.
17714         (auto-revert-mode, auto-revert-buffers): Use it.
17716 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
17718         Let test summary go through even if some logs were not generated
17720         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
17721         for existence of log files before reading.
17723 2017-07-01  Philipp Stephani  <phst@google.com>
17725         * src/module-env-25.h (copy_string_contents): Fix comment.
17727 2017-07-01  Philipp Stephani  <phst@google.com>
17729         Also mark module init function as noexcept if possible
17731         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
17732         possible.
17734 2017-07-01  Philipp Stephani  <phst@google.com>
17736         Improve C++98 compatibility
17738         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
17739         C++98 doesn't allow trailing commas in enumerations.
17741 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
17743         Minor copyedits of manuals regarding bidi conformance
17745         * doc/emacs/mule.texi (Bidirectional Editing):
17746         * doc/lispref/display.texi (Bidirectional Display): Update the
17747         bidi conformance text.
17749 2017-07-01  Alan Mackenzie  <acm@muc.de>
17751         Make C++ digit separators work.  Amend the handling of single quotes generally
17753         Single quotes, even in strings and comments, are now marked with the
17754         "punctuation" syntax-table property, except where they are validly bounding a
17755         character literal.  They are font locked with font-lock-warning-face except
17756         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
17758         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
17759         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
17760         functions/macros.
17762         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
17763         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
17765         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
17766         c-before-after-change-digit-quote from wherever it occurs.  Insert
17767         c-parse-quotes-before-change into the entries for the languages where it is
17768         needed.
17769         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
17770         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
17771         the languages which need it.
17772         (c-has-quoted-numbers): New lang-defconst/-defvar.
17774         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
17775         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
17776         (c-maybe-quoted-number): New defconsts.
17777         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
17778         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
17779         (c-parse-quotes-after-change): New functions.
17781 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
17783         Ignore mouse-movement for describe-key-briefly (Bug#12204)
17785         * lisp/help.el (help-read-key-sequence): Add optional argument ot
17786         ignore `mouse-movement' events.
17787         (describe-key-briefly): Use it.
17788         * doc/emacs/help.texi (Key Help):
17789         * etc/NEWS: Mention that mouse movement is ignored.
17791 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
17793         Refactor key describing commands
17795         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
17796         functions, extracted from `describe-key' and `describe-key-briefly'.
17797         (describe-key, describe-key-briefly): Use them.
17799 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
17801         Improve display of tabs with line numbers
17803         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
17804         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
17806 2017-07-01  Alan Third  <alan@idiocy.org>
17808         Fix threads on NS (bug#25265)
17810         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
17811         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
17812         src/nsterm.m (ns_select): Call thread_select from within ns_select.
17813         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
17814         (ns_send_appdefined): Don't wait for main thread when sending app
17815         defined event.
17816         src/process.c (wait_reading_process_output): Call thread_select from
17817         within ns_select.
17818         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
17819         its event loop using ns_run_loop_break.
17821 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
17823         Avoid slow redisplay under 'visual' mode of line numbers
17825         * src/xdisp.c (display_count_lines_visually): Avoid very slow
17826         redisplay when this function is invoked very far from point.
17827         Reported by Alex <agrambot@gmail.com>.
17829 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
17831         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
17833 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17835         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
17837         (cl--random-state, cl--random-time): Move from cl-lib.el.
17838         (cl-random): Use struct accessors.
17839         (cl-random-state-p): Remove, provided by the defstruct.
17840         (cl-make-random-state): Rewrite to struct constructor.
17842 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17844         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
17846 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17848         Improve documentation of faces related to display-line-numbers
17850         * lisp/faces.el (line-number, line-number-current-line): Warn
17851         against using non-monospaced fonts.
17853 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17855         Fix relative-number display with non-nil display-line-number-width
17857         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
17858         value of display-line-number-width as acceptable.
17859         Handle the case of 'relative' with display-line-number-width
17860         non-nil and smaller than the absolute line number requires.
17861         Reported by Alex <agrambot@gmail.com>.
17863 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
17865         Release Tramp 2.3.2
17867         * doc/misc/tramp.texi (Android shell setup): Show default file name.
17868         Structure section.
17870         * doc/misc/trampver.texi:
17871         * lisp/net/trampver.el: Change version to "2.3.2".
17873         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
17874         Offer home directory for mock method if it doesn't exist.
17876 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17878         Add documentation for display-line-numbers
17880         * doc/emacs/custom.texi (Init Rebinding):
17881         * doc/emacs/modes.texi (Minor Modes): Remove references to
17882         linum-mode.
17883         * doc/emacs/display.texi (Display Custom): Describe the
17884         line-number display.
17885         (Optional Mode Line): Fix the index entry to not conflict with
17886         that in "Display Custom".
17887         * doc/emacs/basic.texi (Position Info): Add cross-reference to
17888         "Display Custom", for line-number display.
17890         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
17891         display-line-numbers-disable in the doc string.
17893         * lisp/cus-start.el (standard): Fix lst change.
17895 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17897         Support displaying zero as the number of the current line
17899         * src/xdisp.c (syms_of_xdisp)
17900         <display-line-numbers-current-absolute>: New variable.
17901         <display-line-numbers>: Doc fix.
17902         (maybe_produce_line_number): Support nil value of
17903         display-line-numbers-current-absolute.
17905         * lisp/cus-start.el (standard): Add customization form for
17906         display-line-numbers-current-absolute.
17908         * etc/NEWS: Document recently introduced features.
17910 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17912         Speed up the visual-mode relative line numbers
17914         * src/xdisp.c (display_count_lines_visually): Introduce a
17915         shortcut: if a relative line number was already calculated for
17916         this iterator object, just increase it instead of the
17917         expensive call to move_it_to.  Argument list changed to pass a
17918         pointer to the iterator object.
17919         (maybe_produce_line_number): Adjust for change in signature of
17920         display_count_lines_visually.  Record the relative line number and
17921         the corresponding byte position in the iterator object also in the
17922         'visual' mode.
17924 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17926         Fix hscrolling with line numbers on TTY frames
17928         * src/xdisp.c (hscroll_window_tree): Correct the X offset
17929         calculations on TTY frames.
17930         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
17931         a kludge using it->lnum_width.
17933 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
17935         Fix TAB display when the line-number face uses a smaller/larger font
17937         * src/dispextern.h (struct it): New member lnum_pixel_width.
17938         * src/xdisp.c (maybe_produce_line_number): Compute the width of
17939         the line-number display in pixels.
17940         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
17941         that used it->lnum_width and made assumptions about pixel width.
17943 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17945         Escape NUL bytes in X selections (Bug#6991)
17947         * lisp/term/w32-win.el (w32--set-selection):
17948         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
17949         "\0".
17950         * doc/emacs/killing.texi: Document new behavior.
17951         * etc/NEWS (times): Announce it.
17953 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17955         Hide byte code in backtraces (Bug#6991)
17957         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
17958         defaulting to `cl-print'.
17959         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
17960         `prin1'.
17961         * etc/NEWS: Announce it.
17963 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17965         Don't redundantly cl-print arglist in function docstring again
17967         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
17968         part of docstring.
17969         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
17970         test accordingly.
17972 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17974         Escape control characters in backtraces (Bug#6991)
17976         * src/print.c (syms_of_print): Add new variable,
17977         print-escape-control-characters.
17978         (print_object): Print control characters with octal escape codes when
17979         print-escape-control-characters is true.
17980         * lisp/subr.el (backtrace):
17981         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
17982         `print-escape-control-characters' to t.
17984 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
17986         Improve ert backtrace recording
17988         Change ert to use the new `backtrace-frames' function instead of
17989         collecting frames one by one with `backtrace-frame'.  Additionally,
17990         collect frames starting from `signal' instead the somewhat arbitrary
17991         "6 from the bottom".  Skipping 6 frames would skip the expression that
17992         actually caused the signal that triggered the debugger.  Possibly 6
17993         was chosen because in the case of a failed test, the triggering frame
17994         is an `ert-fail' call, which is not so interesting.  But in case of a
17995         test throwing an error, this drops the `error' call which is too much.
17997         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
17998         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
17999         code from `debugger-make-xrefs'.
18000         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
18001         `debugger-insert-backtrace'.
18002         (ert--run-test-debugger): Record the backtrace frames starting from
18003         the instigating `signal' call.
18004         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
18005         DO-XREFS parameter.
18006         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
18007         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
18008         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
18009         the backtrace list instead of comparing its string representation.
18010         Expect `signal' to be the first frame.
18012 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
18014         Operate on frame list instead of printed backtrace
18016         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
18017         prints the given backtrace frames.
18018         (debugger-setup-buffer): Use it instead of editing the backtrace
18019         buffer text.
18021 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
18023         Minor fixes
18025         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
18026         line numbers to be displayed in empty lines beyond ZV.
18027         (x_produce_glyphs): Start fixing TAB display in truncated lines.
18029 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
18031         Improve timer handling when Tramp accepts output
18033         * lisp/net/tramp-compat.el: Avoid compiler warning.
18035         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
18036         Remove lock machinery.
18038         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
18039         (tramp-file-name-handler): Add lock machinery from
18040         `tramp-sh-file-name-handler'.  Allow timers to run.
18041         (tramp-accept-process-output): Remove nasty workaround.
18042         Suppress timers.
18044         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
18045         Suppress run in tests.
18046         (tramp--instrument-test-case-p): New defvar.
18047         (tramp--instrument-test-case): Use it in order to allow nested calls.
18048         (tramp--test-message, tramp--test-backtrace): New defsubst,
18049         will be used for occasional test instrumentation.
18050         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
18051         (tramp-test28-shell-command)
18052         (tramp--test-shell-command-to-string-asynchronously): Suppress
18053         nasty messages.  Don't overwrite sentinel.
18054         (tramp-test36-asynchronous-requests): Rewrite major parts.
18055         Expect :passed.
18057 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
18059         * lisp/url/url-history.el: Use lexical-binding
18061         (url-completion-function): Mark as obsolete.
18062         Mark unused args accordingly.
18064 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18066         Don't assume url structs are vectors (Bug#27333)
18068         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
18069         instead of `vectorp'.
18071 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
18073         Replace with dolist some uses of while
18075         * lisp/calc/calc-units.el (calc-permanent-units):
18076         (math-compare-unit-names, math-simplify-units-quotient):
18077         (math-build-units-table-buffer): Use dolist to replace extra bindings
18078         and some while loops.
18080 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18082         Make tcl-auto-fill-mode obsolete (Bug#10772)
18084         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
18085         * etc/NEWS: Announce it.
18087 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
18089         Don't read eshell/which output from *Help* buffer (Bug#26894)
18091         * lisp/help-fns.el (help-fns--analyse-function)
18092         (help-fns-function-description-header): New functions, extracted from
18093         describe-function-1.
18094         (describe-function-1): Use them.
18095         * lisp/eshell/esh-cmd.el (eshell/which): Use
18096         `help-fns-function-description-header' instead of
18097         `describe-function-1'.
18099 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
18101         Support default-text-properties
18103         * src/xdisp.c (should_produce_line_number): Call get-char-property
18104         at ZV as well, to support default-text-properties.
18106 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
18108         Avoid segfaults when some display vector is an empty string
18110         * src/xdisp.c (next_element_from_display_vector): Don't try
18111         accessing the dpvec[] array if its size is zero.  (Bug#27504)
18113 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
18115         Initial support for visually-relative line numbers
18117         Works very slowly.
18119         * src/xdisp.c (display_count_lines_visually): New function.
18120         (maybe_produce_line_number): Support 'visual' mode of line-number
18121         display.
18122         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
18123         also when glyph_row is NULL.  This is important for move_it_*
18124         functions.
18125         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
18126         (try_window_id, redisplay_window, try_cursor_movement): For
18127         'visual' line-number display, disable the same redisplay
18128         optimizations as for 'relative'.
18130         * lisp/cus-start.el (standard): Add new value for the
18131         customization form of display-line-numbers.
18133 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
18135         Update IT's metrics while simulating display
18137         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
18138         also when glyph_row is NULL.  This is important for move_it_*
18139         functions.
18141 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
18143         Fix bug in handling GnuPG's TRUST_MARGINAL status
18145         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
18146         to `good'.
18148 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18150         Prefer `when' instead of 1-branch `if'
18152         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
18153         in local variable ok.
18154         Use `when' instead of 1-branch `if'.
18156 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18158         Use #' instead of (function ...)
18160         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
18161         (dired-mark-confirm, dired-query, dired-byte-compile)
18162         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
18163         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
18164         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
18165         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
18166         (dired-do-copy-regexp, dired-do-hardlink-regexp)
18167         (dired-do-symlink-regexp, dired-create-files-non-directory)
18168         (dired-upcase, dired-downcase)
18170         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
18171         (dired-internal-do-deletions, dired-internal-do-deletions):
18172         Prefer #' instead of (function ...).
18174 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
18176         Don't quote lambda forms
18178         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
18179         (dired-mark, dired-desktop-buffer-misc-data)
18181         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
18182         (dired-create-files-non-directory, dired-insert-subdir-validate)
18183         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
18185 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
18187         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
18189         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
18190         and `brackets-after-id'.
18191         (c-font-lock-objc-methods): Mark unused args.
18193 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18195         Omit null-pointer test in intervals.h FRAME
18197         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
18198         (INTERVAL_LAST_POS): Omit unnecessary parens.
18199         (LENGTH): Omit test for null pointer.  The argument is never null.
18200         The unnecessary test causes GCC 7.1.0 to assume that the argument
18201         might be null, and therefore to issue false alarms when the
18202         argument is dereferenced in other expressions.
18204 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18206         Parenthesize frame.h macro definitions
18208         * src/frame.h (FRAME_TOOL_BAR_POSITION)
18209         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
18210         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
18211         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
18212         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
18213         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
18214         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
18215         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
18216         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
18217         to allow arbitrary expression arguments.
18219 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18221         Port recent frame changes to GCC 7
18223         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
18224         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
18225         might return null.  This also avoids a run-time test.
18227 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18229         Minor aesthetic fix of last change.
18231 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18233         Allow to disable display of line numbers beyond EOB
18235         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
18236         function.
18237         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
18238         * src/xdisp.c (should_produce_line_number): When at ZV, call
18239         disable_line_numbers_overlay_at_eob to determine whether line
18240         numbers should be displayed beyond ZV.
18242 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
18244         Fix Android 6/7 problems in Tramp
18246         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
18247         (tramp-adb-handle-directory-files-and-attributes)
18248         (tramp-adb-handle-file-name-all-completions): Insert "."  and
18249         ".." only when needed.
18250         (tramp-adb-get-ls-command): Force one column output for toybox.
18252 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
18254         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
18256 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
18258         Fix line number display for overlay/display strings with newlines
18260         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
18261         producing space glyphs instead of a line number to include the
18262         case of display strings and overlays.
18264 2017-06-25  Alan Mackenzie  <acm@muc.de>
18266         Make CC Mode load cl-lib rather than cl in Emacs 26.
18268         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
18269         variable.
18271         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
18272         (c--cl-library): New variable.
18273         (Top level): Amend the form which requires library cl or cl-lib.
18274         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
18275         (c--delete-duplicate): Amend to use c--cl-library instead of
18276         c--mapcan-status.
18278         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
18279         (c-back-over-compound-identifier): Remove unused local variables.
18281         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
18282         local variable.
18284         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
18285         of c--mapcan-status.
18287         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
18288         silence a compiler warning.
18290 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
18292         Provide additional support for child frames
18294         Provide mouse dragging and resizing of frames.  Allow resizing
18295         frames proportionally.  Provide additional functionality for
18296         child frames.  Minor bug fixes.
18298         * lisp/frame.el (frame-border-width, frame-pixel-width)
18299         (frame-pixel-height): Alias to `frame-internal-border-width',
18300         `frame-native-width' and `frame-native-height'.
18301         (frame-inner-width, frame-inner-height, frame-outer-width)
18302         (frame-outer-height): New functions.
18303         * lisp/minibuffer.el (completion-auto-help): Fix typo.
18304         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
18305         (mouse-drag-header-line): Allow moving a frame by dragging the
18306         mode line of its bottommost window (on a minibuffer-less frame)
18307         or the header line of its topmost window.
18308         (mouse-drag-vertical-line): Mention argument in doc-string.
18309         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
18310         (mouse-drag-top-left-corner, mouse-drag-top-edge)
18311         (mouse-drag-top-right-corner, mouse-drag-right-edge)
18312         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
18313         (mouse-drag-bottom-left-corner): New functions for resizing a
18314         frame by dragging its internal border together with
18315         corresponding key bindings.
18316         * lisp/tooltip.el (tooltip-frame-parameters): Add
18317         'no-special-glyphs' to default parameters and update version
18318         tag.
18319         * lisp/window.el (frame-auto-hide-function): Add choice to make
18320         frame invisible and update version tag.
18321         (window--delete): Handle 'auto-hide-function' frame parameter.
18322         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
18323         'no-accept-focus' frame parameters.
18324         (display-buffer--action-function-custom-type): Add
18325         `display-buffer-in-child-frame'.
18326         (display-buffer): Mention `display-buffer-in-child-frame' in
18327         doc-string.
18328         (display-buffer-in-child-frame): New action function for
18329         `display-buffer'.
18330         (window--sanitize-margin): Return zero when MARGIN cannot be
18331         sanitized.
18332         (fit-frame-to-buffer): Major rewrite to handle child frames and
18333         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
18334         frame parameters.
18335         (window-largest-empty-rectangle--maximums-1)
18336         (window-largest-empty-rectangle--maximums)
18337         (window-largest-empty-rectangle--disjoint-maximums)
18338         (window-largest-empty-rectangle): New functions.
18340         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
18341         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
18342         provided by corresponding functions window_wants_modeline and
18343         window_wants_header_line in window.c.  Adjust users.
18344         * src/dispnew.c (adjust_glyph_matrix)
18345         (buffer_posn_from_coords): Use window_wants_modeline and
18346         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18347         WINDOW_WANTS_HEADER_LINE_P.
18348         * src/frame.c (keep_ratio): New function.
18349         (adjust_frame_size): Call keep_ratio for each of F's child
18350         frames.
18351         (make_frame): Initialize no_special_glyphs slot.
18352         (frame_internal_border_part): New function.
18353         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
18354         to Fframe_native_width, Fframe_native_height mand
18355         Fframe_internal_border_width.
18356         (frame_parm_table): Add Qno_special_glyphs entry.
18357         (frame_float_type): New enumeration type.
18358         (frame_float): New function to handle frame size and position
18359         ratios.
18360         (x_set_frame_parameters): Handle size and position ratios.
18361         (x_set_no_special_glyphs): New function
18362         (x_figure_window_size): Handle size and position ratios.
18363         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
18364         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
18365         Qheight_only, Qleft_only and Qtop_only.
18366         * src/frame.h (internal_border_part): New enumeration type.
18367         (struct frame): New slot no_special_glyphs.
18368         (FRAME_NO_SPECIAL_GLYPHS): New macro.
18369         * src/gtkutil.c (xg_frame_restack): Return immediately for
18370         GTK versions before 2.18.0.
18371         * src/keyboard.c (internal_border_parts): New array constant.
18372         (make_lispy_position): For frames with border dragging enabled
18373         return internal border part.
18374         (syms_of_keyboard): New symbols Qdrag_internal_border,
18375         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
18376         Qright_edge, Qbottom_right_corner, Qbottom_edge and
18377         Qbottom_left_corner.
18378         * src/minibuf.c (read_minibuf_unwind): When exiting the
18379         minibuffer deal with frames that have the 'minibuffer-exit'
18380         parameter set.
18381         (syms_of_minibuf): New symbol Qminibuffer_exit.
18382         * src/nsfns.m (frame_parm_handler): Add entry for
18383         x_set_no_special_glyphs.
18384         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18385         Intitialize new cursor types for dragging frame borders.
18386         * src/nsterm.h (struct ns_output): Add new cursor types for
18387         dragging frame borders.
18388         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
18389         x_set_no_special_glyphs.
18390         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18391         Intitialize new cursor types for dragging frame borders.
18392         * src/w32term.h (struct w32_output): Add new cursor types for
18393         dragging frame borders.
18394         * src/window.c (coordinates_in_window)
18395         (Fwindow_line_height, window_internal_height): Use
18396         window_wants_modeline and window_wants_header_line instead of
18397         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
18398         (Fwindow_lines_pixel_dimensions): New function.
18399         (window_parameter): New function.
18400         (Fwindow_parameter): Call window_parameter.
18401         (window_wants_mode_line, window_wants_header_line): New
18402         functions replacing the macros WINDOW_WANTS_MODELINE_P and
18403         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
18404         (syms_of_window): New symbols Qmode_line_format and
18405         Qheader_line_format.
18406         * src/window.h: Reorganize and re-comment macros.  Use
18407         window_wants_modeline and window_wants_header_line instead of
18408         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
18409         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
18410         (WINDOW_BUFFER): New macro.
18411         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
18412         * src/xdisp.c (window_text_bottom_y, window_box_height)
18413         (window_box, start_display)
18414         (compute_window_start_on_continuation_line)
18415         (try_cursor_movement, redisplay_window)
18416         (try_window_reusing_current_matrix, try_window_id)
18417         (display_line, expose_window): Use window_wants_modeline and
18418         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18419         WINDOW_WANTS_HEADER_LINE_P.
18420         (pos_visible_p, display_mode_lines): Respect W's
18421         'mode-line-format' and 'header-line-format' window parameters.
18422         (init_iterator): Use window_wants_modeline and
18423         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
18424         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
18425         no_special_glyphs value.
18426         (note_mouse_highlight): Set frame border cursors when on
18427         internal border.
18428         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
18429         drawing of window dividers.
18430         * src/xfns.c (mouse_cursor): Add entries for border parts.
18431         (mouse_cursor_types): Add entries for cursor types to drag
18432         frame borders.
18433         (INSTALL_CURSOR): Add entries for new cursor types to drag
18434         frame borders.
18435         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
18436         (x_frame_parm_handlers): Add entry for
18437         x_set_no_special_glyphs.
18438         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
18439         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
18440         (Vx_window_right_edge_shape)
18441         (Vx_window_bottom_right_corner_shape)
18442         (Vx_window_bottom_edge_shape)
18443         (Vx_window_bottom_left_corner_shape): New variables.
18444         (x_frame_restack): Call xg_frame_restack only for GTK versions
18445         starting with 2.18.0.
18446         * src/xterm.c (x_free_frame_resources): Remove new cursors for
18447         dragging frame borders.
18448         * src/xterm.h (struct x_output): Add new cursor types for
18449         dragging frame borders.
18451         * doc/lispref/display.texi (Size of Displayed Text): Document
18452         `window-lines-pixel-dimensions'.
18453         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
18454         Parameters".
18455         * doc/lispref/frames.texi (Frame Size): Replace
18456         frame-pixel-width/-height by frame-native-width/-height.  Add
18457         frame-inner-width/-height and frame-outer-width/-height docs.
18458         (Position Parameters): Describe specifying position as ratios.
18459         Clarify remark about positions relative to bottom/ridge display
18460         edge.
18461         (Size Parameters): Describe specifying sizes as ratios.
18462         Describe 'fit-frame-to-buffer-margins' and
18463         'fit-frame-to-buffer-sizes' parameters.
18464         (Layout Parameters): Describe 'no-special-glyphs' parameter.
18465         (Frame Interaction Parameters): Describe 'auto-hide-function',
18466         'minibuffer-exit' and 'keep-ratio' parameters.
18467         (Mouse Dragging Parameters): New section describing
18468         'drag-internal-border', 'drag-with-header-line',
18469         'drag-with-mode-line', 'snap-width', 'top-visible' and
18470         'bottom-visible' parameters.
18471         (Management Parameters): Mention that `override-redirect' has
18472         no effect on MS Windows.
18473         (Font and Color Parameters): Mention child frames for `alpha'
18474         parameter.
18475         (Child Frames): Rewrite section with description and cross
18476         references to new frame parameters added.
18477         * doc/lispref/modes.texi (Mode Line Basics): Mention
18478         'mode-line-format' and 'header-line-format' window parameters.
18479         * doc/lispref/windows.texi (Resizing Windows): Mention effect
18480         of `fit-frame-to-buffer-margins' for child frames.
18481         (Display Action Functions): New action function
18482         `display-buffer-in-child-frame'.
18483         (Quitting Windows): Mention `make-frame-invisible' as optional
18484         value of `frame-auto-hide-function' and `auto-hide-function'
18485         frame paameter.
18486         (Coordinates and Windows): Describe new function
18487         `window-largest-empty-rectangle'.
18488         (Window Parameters): Describe new parameters 'mode-line-format'
18489         and 'header-line-format'.  Index all window parameters described
18490         in this section.
18492 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18494         Adjust lm-verify to accept current notices
18496         Problem reported by Mike Kupfer in:
18497         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
18498         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
18499         Do not require later lines in a copyright notice to have more
18500         indentation than earlier lines.
18502 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18504         Minor change in NEWS.
18506         Improve documentation in NEWS.
18508 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18510         Move additional hscrolling code into a suitable 'if'
18512         * src/xdisp.c (hscroll_window_tree): Make additional calculations
18513         regarding glyphs produced for line numbers conditional on
18514         line-number display.
18516 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18518         Partial fix of hscroll of truncated lines with line numbers
18520         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
18521         hscroll calculations to line-number display.
18522         * src/term.c (produce_glyphs): Adjust tab stop to window's
18523         hscroll.  These two changes fix horizontal scrolling when line
18524         numbers are displayed.  But there's still a bug: the horizontal
18525         shift of lines that begin with a TAB is different from the rest.
18526         * src/xdisp.c (move_it_in_display_line_to): Call
18527         should_produce_line_number to determine whether a line number
18528         should be produced for this screen line.
18530 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
18532         Don't change byte-compile-delete-errors at runtime (Bug#27340)
18534         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
18535         time.
18537 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18539         Allow Lisp program to disable line-number display for specific lines
18541         * etc/NEWS: Update the documentation.
18543         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
18544         symbol.
18545         (should_produce_line_number): New function.
18546         (display_line): Use should_produce_line_number to determine
18547         whether a line number should be produced for each glyph row.
18549 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18551         * lisp/net/html2text.el: Move to obsolete/.
18553 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18555         Support a separate face for displaying the current line's number
18557         * lisp/faces.el (line-number-current-line): New face.
18559         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
18560         symbol.
18561         (try_window_id, try_cursor_movement): Disable these optimizations
18562         when the line-number-current-line face is different from
18563         line-number face.
18564         (maybe_produce_line_number): Display the current line in the
18565         line-number-current-line face, if it's different from line-number.
18567 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18569         Change display of current line in relative mode
18571         * src/xdisp.c (maybe_produce_line_number): In relative mode
18572         display the current line number as its absolute value, not as zero.
18574 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18576         Rename display-line-width
18578         * etc/NEWS:
18579         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
18580         * lisp/cus-start.el: Rename display-line-width to
18581         display-line-number-width.
18583 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18585         Fix tab stops when line numbers are displayed
18587         * src/xdisp.c (x_produce_glyphs):
18588         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
18589         space taken by the line-number display.
18591 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18593         Fix crashes on TTY frames due to negative lnum_width.
18595         Don't display line numbers in the minibuffer and in tooltip frames.
18597 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18599         Fix problems with line-number updates in Follow mode
18601         * src/xdisp.c (redisplay_window): If forced window-start requires
18602         to move a window's point, and the window is under relative
18603         line-number display, force another round of redisplay to update
18604         the relative line numbers.  This fixes follow-mode "redisplay" of
18605         its window group.
18607         * lisp/frame.el: Add display-line-numbers to the list of variables
18608         that should trigger redisplay of the current buffer.
18610 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
18612         Fix display of line numbers with fonts larger than the default
18614         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
18615         IT, not in IT->glyph_row, since the latter gets overwritten in
18616         display_line.  Fixes display of line numbers when the font used
18617         for them is larger than that of the default face.
18619 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
18621         Fix background color beyond EOB and cursor display
18623         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
18624         for background of the blank glyphs in the line-number area which
18625         are drawn beyond EOB.
18626         (display_line): Reset the glyph row's displays_text_p flag only on
18627         empty lines that don't display line numbers.  This fixes cursor
18628         display beyond EOB.  Fix the bidi information in the glyphs
18629         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
18630         produced for line numbers.
18632 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
18634         Fix display of indicate-empty-lines when line numbers are displayed
18636         * src/xdisp.c (row_text_area_empty): New function.
18637         (display_line): Call row_text_area_empty to verify that a glyph
18638         row's text area is devoid of any glyphs that came from a buffer or
18639         a string.  This fixes a bug with empty-lines indication
18640         disappearing when line numbers or line-prefix are displayed.
18641         (display_line): Delete the argument FORCE; all callers changed.
18642         Remove the condition for actually producing the glyphs for the
18643         line number, as even if the number didn't change we need to
18644         produce empty space.
18646 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18648         Fix symbol relocation when the relocated cell is renamed.
18650         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
18651         hashmap has been instantiated before getting data from it.  When
18652         editing several spreadsheets, and you have spreadsheet #1 with a
18653         cell named `foo', and no renamed cell in spreadsheet #2, then if
18654         you make a formula with `foo' in spreadsheet #2, not doing this
18655         check will make an error.
18656         (ses-cell-set-formula): Robustify versus incorrect cell references
18657         given in the user provided formula.  An explicit error message is
18658         provided after the action when the user gives an incorrect cell
18659         reference, but the formula edition is not changed.  This means that
18660         if the incorrect reference is to a cell that is created someday,
18661         then this new cell will not have the edited cell in its reference
18662         list.  Fixing this can still be done by editing again the first
18663         cell formula.
18664         (ses-relocate-symbol): Do not create symbol of referred-to cell
18665         when this is a renamed cell.
18667 2017-06-23  Rasmus  <rasmus@gmx.us>
18669         Synchronize with the "emacs-sync" branch from Org
18671 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18673         Remove getc_unlocked configure-time check
18675         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
18676         does this for us.
18678 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18680         Use unlocked stdio more systematically
18682         This can improve performance significantly on stdio-bottlenecked code.
18683         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
18684         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
18685         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
18686         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
18687         * lib-src/profile.c, lib-src/update-game-score.c:
18688         Include unlocked-io.h instead of stdio.h, since these programs are
18689         single-threaded.
18690         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
18691         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
18692         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
18693         * src/lread.c, src/term.c:
18694         Include sysstdio.h, possibly instead of stdio.h, to define
18695         the unlocked functions if the system does not provide them.
18696         * src/charset.c, src/lread.c (getc_unlocked):
18697         Remove, since sysstdio.h now defines it if needed.
18698         * src/cm.c (cmputc, cmcheckmagic):
18699         * src/dispnew.c (update_frame, update_frame_with_menu)
18700         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
18701         * src/emacs.c (main, Fdump_emacs):
18702         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
18703         * src/image.c (slurp_file, png_read_from_file, png_load_body)
18704         (our_stdio_fill_input_buffer):
18705         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
18706         * src/lread.c (readbyte_from_file):
18707         * src/minibuf.c (read_minibuf_noninteractive):
18708         * src/print.c (printchar_to_stream, strout)
18709         (Fredirect_debugging_output):
18710         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
18711         (procfs_get_total_memory):
18712         * src/term.c (tty_ring_bell, tty_send_additional_strings)
18713         (tty_set_terminal_modes, tty_reset_terminal_modes)
18714         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
18715         (tty_write_glyphs_with_face, tty_insert_glyphs)
18716         (tty_menu_activate):
18717         * src/xfaces.c (Fx_load_color_file):
18718         Use unlocked stdio when it should be safe.
18719         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
18720         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
18721         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
18722         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
18724 2017-06-22  Glenn Morris  <rgm@gnu.org>
18726         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
18728 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
18730         unidata: don’t check special casing in unidata-check  (bug#26656)
18732         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
18733         casing mapping of characters since that mapping is not constructed from
18734         the unidata.txt file.
18735         Also, check for integer decoder and cons char earlier so that less
18736         unnecessary processing is performed.
18738 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18740         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
18742         Avoid string-to-multibyte and string-as-unibyte.
18743         Don't make *Help* unibyte just because the char was in a unibyte buffer.
18745 2017-06-22  Rasmus  <rasmus@gmx.us>
18747         Add Org schemas.xml contents to Emacs schemas.xml
18749         Entries from the Org version of schemas.xml have been added to
18750         the Emacs version of schemas.xml.
18752 2017-06-22  Rasmus  <rasmus@gmx.us>
18754         Update Org to v9.0.9
18756         Please see etc/ORG-NEWS for details.
18758 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18760         Do not hard code A1 cell reference, as it may be renamed.
18762         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
18764 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
18766         Fix make_hash_table calls in lread.c
18768         * src/lread.c (readevalloop, read_internal_start): Fix
18769         make_hash_table calls to make build succeed.
18771 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18773         Merge several Lisp reader speedups.
18775 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18777         Create less garbage to collect while reading symbols.
18779         * src/lread.c (read1): When interning a symbol, only create a new
18780         string object for the name if we're going to use it for a new symbol
18781         object.
18783 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18785         Replace read_objects assoc list with two hash tables.
18787         For larger input files with lots of shared data structures, an
18788         association list is too slow.
18790         * src/lread.c (read_objects_map, read_objects_completed): New
18791         variables, replacing read_objects.
18792         (readevalloop): Initialize them with hash tables before starting a
18793         top-level read, if they're not already empty hash tables, and reset
18794         them to Qnil afterwards if something was added to the hash tables.
18795         (read_internal_start): Likewise.
18796         (read1): Store first the placeholder and later the newly read object
18797         into read_objects_map under the specified object number.  If the new
18798         object can contain a reference to itself, store it in
18799         read_objects_completed.
18800         (substitute_objects_recurse): Check read_objects_completed instead of
18801         read_objects for the known possibly-recursive objects.
18802         (syms_of_lread): Update initializations.
18804 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18806         Use getc_unlocked.
18808         * configure.ac: Check for getc_unlocked.
18809         * src/charset.c (read_hex, load_charset_map_from_file): Use
18810         getc_unlocked instead of getc.
18811         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
18812         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
18813         getc_unlocked): Likewise.
18815 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18817         Reduce lread substitutions.
18819         * src/lread.c (read1): After reading an object using the "#n=" syntax,
18820         if the read object is a cons cell, instead of recursively substituting
18821         the placeholder with the new object, mutate the placeholder cons cell
18822         itself to have the correct car and cdr values.
18824 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
18826         Short-circuit substitutions for some simple types.
18828         Values that don't contain other values cannot be circular, so checking
18829         for circular objects is a waste of cycles.
18831         * src/lread.c (substitute_object_recurse): If the subtree being
18832         examined is a symbol, number, or property-less string, just return
18833         it.
18835 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18837         Limit style_format to MAX_ALLOCA
18839         * src/editfns.c (styled_format): Subtract initial buffer size
18840         from sa_avail, since it is nontrivial.
18842 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18844         Limit bidi_find_bracket_pairs to MAX_ALLOCA
18846         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
18847         Shrink it to allow for the two struct bidi_it objects in
18848         the same frame.
18849         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
18850         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
18852 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18854         Limit insert-file-contents to MAX_ALLOCA
18856         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
18857         MAX_ALLOCA bytes in a single stack array.
18859 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18861         Remove malloc_find_address relic
18863         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
18864         Omit unnecessary initialization.
18866 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18868         Fix temacs hybrid_malloc core dump
18870         Without this patch, ./temacs would dump core sometimes on Fedora
18871         25 x86-64.  The problem was that the hybrid allocator assumed that
18872         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
18873         assumption is not true on Fedora, because the standard memory
18874         allocator calls gdefault_morecore, which means its blocks are
18875         interleaved with our blocks.  Usually the code happened to work,
18876         because our data structures agreed with the glibc data structures,
18877         but this was merely luck due to a shared pedigree, and as glibc
18878         mutates our luck has run out.
18879         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
18880         Remove; no longer needed.
18881         (BLOCK): Use unsigned division, as that does the right thing near zero.
18882         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
18883         (_realloc_internal_nolock):
18884         Big blocks now have type -1, not 0, as 0 now means the block is
18885         not ours.
18886         (morecore_nolock): Omit now-unnecessary casts to size_t.
18887         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
18888         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
18889         avoid calling the wrong free or realloc function in some cases.
18891 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
18893         Make gnus-article-date-user work
18895         * lisp/gnus/gnus-art.el (article-date-ut):
18896         Work for unfolded multi-line Date header.
18897         (article-transform-date):
18898         Refactor; add header name if it is missing in user-defined date line.
18899         (article-date-user): Fix name of date type.
18901 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
18903         Keep order of completion candidates (Bug#25995, Bug#24676)
18905         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
18906         (completion-pcm--all-completions): Use nreverse to undo the reversing
18907         caused by using push in the loop.
18909 2017-06-21  Glenn Morris  <rgm@gnu.org>
18911         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
18913 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
18915         Mark prolog indent variables as safe (bug#27369)
18917         * lisp/progmodes/prolog.el (prolog-indent-width)
18918         (prolog-left-indent-regexp, prolog-paren-indent-p)
18919         (prolog-paren-indent): Add :safe property.
18921 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
18923         Remove `:options' from `css-electric-keys'
18925         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
18926         since it just duplicates the default value.
18928 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18930         Fix crash when built by GNU Gold linker on x86
18932         Problem reported by Andrés Musetti (Bug#27248).
18933         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
18934         (emacsFrameClass): Now a function (which initializes the
18935         superclass) instead of a variable.  All uses changed.
18937 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18939         Simplify autogen.sh version checking
18941         * autogen.sh (get_version): Simplify and make more reliable
18942         by using expr rather than echo | sed.  Check exit status of program.
18943         Run program in subshell in case it cannot be executed.
18944         (check_version): Check exit status of command rather than its output.
18945         Check return status of get_version.
18947 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
18949         Delete old Date header in a simple way
18951         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
18952         when searching the old Date header boundary in order to delete it.
18954 2017-06-20  Bastien  <bzg@gnu.org>
18956         Revert "Don't bind org-agenda key to an anonymous function"
18958         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
18960 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
18962         Bind enable-local-variables to nil globally (fix dbe3e41)
18964         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
18965         Bind enable-local-variables to nil globally instead of making it
18966         buffer-local; remove let-bind of local-enable-local-variables.
18967         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
18969 2017-06-20  Glenn Morris  <rgm@gnu.org>
18971         kill-matching-buffers to optionally not confirm
18973         * lisp/files.el (kill-matching-buffers):
18974         Add option to not confirm killing.  (Bug#27286)
18976 2017-06-20  Glenn Morris  <rgm@gnu.org>
18978         * lisp/files.el (local-enable-local-variables): Doc fix.
18980 2017-06-20  Glenn Morris  <rgm@gnu.org>
18982         autogen.sh: try to check for tool being present but broken
18984         * autogen.sh (get_version): Check return status of "--version".
18985         (check_version): Try to distinguish between a missing tool
18986         and a broken one.  (Bug#27288)
18988 2017-06-19  Glenn Morris  <rgm@gnu.org>
18990         Avoid a custom-variable-type error (bug#27363)
18992         * lisp/cus-edit.el (custom-variable-type):
18993         Avoid an error due to plist-put becoming stricter of late.
18995 2017-06-19  Glenn Morris  <rgm@gnu.org>
18997         Don't put deleted packages in the trash (bug#14967)
18999         * lisp/emacs-lisp/package.el (package-delete):
19000         Don't pay attention to delete-by-moving-to-trash.
19002 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
19004         Revert "Add current-line in simple.el"
19006         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
19008 2017-06-19  Damien Cassou  <damien@cassou.me>
19010         Add current-line in simple.el
19012         * lisp/simple.el (current-line): New function.
19013         * test/lisp/simple-tests.el: Add tests for current-line.
19015 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
19017         Don't try to eval local variables in Gnus article
19019         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
19021 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19023         Fix emacs-module.h cleaning
19025         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
19026         (bootstrap-clean): Remove emacs-module.h.
19028 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
19030         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
19031         in regex.
19033 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19035         * lib/gettext.h: Merge from gnulib.
19037 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19039         Merge from gnulib
19041         This (and my previous patch) incorporate:
19042         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
19043         2017-06-15 gettext-h: Update comment
19044         * lib/diffseq.h: Copy from gnulib.
19046 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
19048         * test/Makefile.in: Don't suppress test failure for single tests.
19050 2017-06-17  Philipp Stephani  <phst@google.com>
19052         emacs-module.h: Create emacs_env_26
19054         This was part of the original design of the module
19055         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
19056         but I didn't take it into account when adding the should_quit
19057         function.
19059         Instead of duplicating the environment fields or using the C
19060         preprocessor, use configure to build emacs-module.h.
19062         * configure.ac: Expand emacs-module.h template.
19064 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
19066         Improve documentation of replace-buffer-contents
19068         * etc/NEWS (replace-buffer-contents): Fix formatting.
19070         * src/editfns.c (Freplace_buffer_contents): Doc fix.
19072 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
19074         Finish up native display of line numbers
19076         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
19077         the number, for R2L rows.  Increment 'g' in the loop even if
19078         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
19079         line-number glyphs if it is non-zero.
19080         (move_it_in_display_line_to): Account for the space taken by the
19081         line-number glyphs.  Call maybe_produce_line_number with 2nd
19082         argument non-zero.
19083         (set_cursor_from_row): Fix calculation of cursor X coordinate in
19084         R2L rows with display-produced glyphs at the beginning.
19085         (syms_of_xdisp) <line-number>: New face symbol.
19086         <relative, display-line-width>: New symbols.
19087         (maybe_produce_line_number): Use the line-number face for
19088         displaying line numbers.  Support relative line-number display.
19089         Support user-defined width for displaying line numbers.
19090         (try_cursor_movement, try_window_id): Disable these optimizations
19091         when displaying relative line numbers.
19092         * src/dispextern.h (struct it): New member 'pt_lnum'.
19094         * lisp/faces.el (line-number): New face.
19095         * lisp/cus-start.el (standard): Provide customization forms for
19096         display-line-numbers and display-line-width.
19097         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
19098         turn display-line-numbers on and off.
19100         * etc/NEWS: Document the new feature.
19102 2017-06-17  Philipp Stephani  <phst@google.com>
19104         Allow local variables section to begin with a square bracket
19106         Fixes Bug#27391.
19108         * lisp/international/mule.el (find-auto-coding): Fix regular
19109         expression for "Local Variables" section.
19111         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
19112         Add unit test.
19114 2017-06-17  Philipp Stephani  <phst@google.com>
19116         Remove unnecessary point motion
19118         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
19119         motion.
19121 2017-06-17  Philipp Stephani  <phst@google.com>
19123         Add command to replace buffer contents
19125         Add a new command 'replace-buffer-contents' that uses the Myers diff
19126         algorithm to non-destructively replace the accessible portion of the
19127         current buffer.  The Myers algorithm is implemented in Gnulib.
19129         * src/editfns.c (Freplace_buffer_contents): New command.
19130         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
19131         (syms_of_editfns): Define new command.
19133         * test/src/editfns-tests.el (replace-buffer-contents-1)
19134         (replace-buffer-contents-2): New unit tests.
19136         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
19138         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
19140 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
19142         * lisp/international/characters.el: Update list of zero and full
19143         width characters according to Unicode 9.0.0.
19145 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
19147         Complete CSS property values less eagerly (Bug#27392)
19149         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
19150         eager by looking for a colon after the property which values are being
19151         completed for.
19153         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
19154         Add a test case ensuring that properties that are prefixes of other
19155         properties don't hinder further completion.
19157 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
19159         Handle integer indices for eshell variables (Bug#26055)
19161         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
19162         if it's been marked as one, just like `eshell-lisp-command' does.
19164 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
19166         Don't bind org-agenda key to an anonymous function
19168         * lisp/org/org-agenda.el: Bind "g" to named command.
19169         (org-agenda-redo-all): New command.  Extend the previous functionality
19170         through a prefix argument.
19172 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
19174         Add test for the fix in the parent commit
19176         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
19177         New test, for the fix in the parent commit.
19179 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
19181         primitive-undo: Update only the currently valid markers
19183         * lisp/simple.el (primitive-undo):
19184         Update only the currently valid markers (bug#25599).
19186 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
19188         Initial version of native display of line numbers
19190         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
19191         buffer-local variable.
19192         Include <math.h>.
19193         (maybe_produce_line_number): New function.
19194         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
19195         (try_window_reusing_current_matrix): Don't use this method when
19196         display-line-numbers is in effect.
19197         * src/dispextern.h (struct it): New members 'lnum'.
19199 2017-06-16  Philipp Stephani  <phst@google.com>
19201         Correctly detect URLs surrounded by parentheses in comments
19203         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
19204         Make parentheses match work inside comments.
19206         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
19207         unit test.
19209 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
19211         Fix load-path issue when it contains remote directories
19213         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
19214         (tramp-use-absolute-autoload-file-names): New defun.  Call it
19215         after loading tramp.el.
19217         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
19218         New test.
19219         (tramp-test39-unload): Rename.
19221 2017-06-16  Alan Mackenzie  <acm@muc.de>
19223         Ensure C++ initializer lists don't get fontified.
19225         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
19226         compiler warning.
19228         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
19229         clause to handle C++ member initialization lists.
19230         (c-font-lock-single-decl): New function, extracted from
19231         c-font-lock-declarations.
19232         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
19233         code.
19234         (c-font-lock-cut-off-declarators): Make more rigorous by calling
19235         c-get-fontification-context, c-forward-decl-or-cast-1, and
19236         c-font-lock-single-decl in place of rather approximate code.
19238 2017-06-16  Alan Mackenzie  <acm@muc.de>
19240         Fix hang in CC Mode when ":" is typed after identifier at EOB.
19242         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
19243         confusing ":" and EOB.
19245 2017-06-15  Alan Mackenzie  <acm@muc.de>
19247         Create a toggle between block and line comments in CC Mode.
19249         Also (unrelated change) initialize the modes' keymaps at each loading.
19251         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
19252         on the modeline.
19253         (c-block-comment-flag): New variable.
19254         (c-toggle-comment-style): New function.
19256         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
19257         (c-line-comment-starter): Make them c-lang-defvars.
19258         (c-block-comment-is-default): New c-lang-defvar.
19259         (comment-start, comment-end): Make the default values dependent on
19260         c-block-comment-is-default.
19262         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
19263         (c-basic-common-init): Initialize c-block-comment-flag.
19264         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
19265         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
19266         mode is loaded rather than just once per Emacs session.
19268         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
19269         style.
19270         (Minor Modes): Define comment style.  Describe how comment style influences
19271         the information displayed on the modeline.  Document c-toggle-comment-style.
19272         (FAQ): Add a question about toggling the comment style.
19274 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19276         Pacify clang without munging C source
19278         * configure.ac (WARN_CFLAGS): With Clang, use
19279         -Wno-tautological-compare regardless of --enable-gcc-warnings.
19280         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
19281         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
19282         change which I hope is no longer needed.
19283         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
19284         some older non-POSIX hosts.
19286 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19288         No need to complicate make-docfile.c for Clang
19290         * lib-src/make-docfile.c (put_filename): Undo recent change.
19291         The Clang false alarm occurs only with CFLAGS=-save-temps and
19292         we needn’t worry about pacifying unusual compiler configurations.
19294 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19296         Port './configure CC=clang' to Fedora 25
19298         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
19299         standard function like MagickRelinquishMemory does not link.
19301 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19303         Don’t worry about __STDC_VERSION__ in emacs-module
19305         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
19306         we’ve found that some compilers do not define this symbol even
19307         when they work well enough.  If necessary features like stdbool.h
19308         are missing the compiler will complain eventually anyway.
19310 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19312         Port cleanup check to Oracle Studio 12.5
19314         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
19315         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
19316         #if this time.
19318 2017-06-14  Bastien  <bzg@gnu.org>
19320         Fix misformatted changelog entry
19322 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
19324         Avoid compiler warning in image.c on MS-Windows
19326         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
19327         compilation warning under -Warray-bounds by temporarily disabling
19328         the -Warray-bounds option.
19330 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
19332         Fix Bug#27315
19334         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
19335         New defvar.
19336         (top): Use it.
19338         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
19339         Check for connected, not for connectable.  (Bug#27315)
19340         (tramp-process-actions):
19341         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
19342         Use `tramp-cache-read-persistent-data'.
19344         * test/lisp/net/tramp-tests.el (top): Set also
19345         `tramp-cache-read-persistent-data'.
19347 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
19349         Give a fixed default value for icomplete-prospects-height (Bug#26939)
19351         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
19352         (icomplete-prospects-length): Remove.
19353         * etc/NEWS: Announce removal.
19355 2017-06-14  Philipp Stephani  <phst@google.com>
19357         Remove some tautological comparisons involving rlim_t
19359         Clang on macOS warns about these with -Wtautological-compare.  POSIX
19360         guarantees that rlim_t is
19361         unsigned (cf.
19362         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
19363         so these resource limits can never be negative.
19365         * src/emacs.c (main): Remove tautological comparisons.
19367 2017-06-14  Philipp Stephani  <phst@google.com>
19369         Use --module-assertions if modules are available
19371         Using --module-assertions helps us find bugs in the test module.  But
19372         we can use it only if Emacs was compiled with module support.
19374         * test/Makefile.in (MODULES_EMACSOPT): New variable.
19375         (emacs): Use it.
19377 2017-06-14  Philipp Stephani  <phst@google.com>
19379         Define --module-assertions only of modules are available
19381         Fixes Bug#27352.
19383         * src/emacs.c (usage_message, standard_args): Define
19384         --module-assertions only if Emacs has been compiled with module
19385         support.
19387 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
19389         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
19391         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
19392         No need to restore window config for WDD and WDW commands.
19394 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
19396         lisp/net/soap-client.el: Bump version to 3.1.3
19398         * lisp/net/soap-client.el: Bump version to 3.1.3.
19399         (soap-name-p): Fix checkdoc issue.
19401 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
19403         Fix an HTTP encoding error in soap-client.el
19405         * lisp/net/soap-client.el (soap-invoke-internal): Make
19406         SOAPAction header a UTF-8 encoded string.
19408 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19410         Port cleanup attribute to Oracle Studio 12.5
19412         * INSTALL (--with-modules): List cleanup attribute as prereq.
19413         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
19414         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
19415         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
19416         __has_attribute only inside preprocessor expressions.  The C
19417         compiler should check the cleanup attribute in the next line anyway.
19418         (module_reset_handlerlist): Remove an unnecessary ‘const’
19419         that causes Oracle Studio 12.5 to refuse to compile.
19421 2017-06-14  Glenn Morris  <rgm@gnu.org>
19423         Fix running tests in without-modules builds
19425         * test/Makefile.in (EMACSOPT): Remove option that is only defined
19426         with-modules.  emacs-module-tests.el passes it where needed.
19428 2017-06-13  Glenn Morris  <rgm@gnu.org>
19430         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
19432 2017-06-13  Philipp Stephani  <phst@google.com>
19434         Inline test module Makefile into main test Makefile
19436         The test/data/emacs-module/Makefile only built a single target, and
19437         inlining it into test/Makefile simplifies dependency tracking and
19438         reduces code duplication.
19440         * configure.ac: Don't build test/data/emacs-module/Makefile.
19442         * Makefile.in ($(test_module)): Inline compilation.
19443         (clean): Also clean test module outputs.
19445 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
19447         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
19449 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
19451         Minor tweaks in Tramp manual
19453         * doc/misc/trampver.texi: Add prefixwithspace flag.
19455         * doc/misc/tramp.texi (Password handling): Harmonize example.
19456         (File name completion): Use prefixwithspace flag.
19457         (Frequently Asked Questions): Explain `tramp-histfile-override'.
19459 2017-06-13  Philipp Stephani  <phst@google.com>
19461         Silence two Clang warnings by introducing additional local variables
19463         * lib/strftime.c (libc_hidden_def):
19464         * lib-src/make-docfile.c (put_filename): Introduce local variables to
19465         silence Clang warnings.
19467 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
19469         Fix wrong indentation after string literal (Bug#27306)
19471         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
19472         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
19473         * test/lisp/emacs-lisp/lisp-mode-tests.el
19474         (lisp-indent-region-after-string-literal): New test.
19476 2017-06-13  Philipp Stephani  <phst@google.com>
19478         Fix version checks for emacs-module.h
19480         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
19481         don't need it at all.
19483 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
19485         Buttonize #<bytecode> part of printed functions (Bug#25226)
19487         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
19488         (cl-print-compiled-button): New variable.
19489         (help-byte-code): New button type, calls `disassemble' in its action.
19490         (cl-print-object): Use it if `cl-print-compiled-button' is
19491         non-nil.
19493 2017-06-12  Philipp Stephani  <phst@google.com>
19495         Print module structure sizes when initializing test module
19497         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
19498         compile-time and runtime sizes of module structures to ease debugging
19500 2017-06-12  Glenn Morris  <rgm@gnu.org>
19502         Small portability fix for emacs-module.h (bug#27346)
19504         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
19505         Avoid 'error: missing binary operator before token "("'.
19507 2017-06-12  Glenn Morris  <rgm@gnu.org>
19509         Give a more informative failure in module assertion test
19511         * test/src/emacs-module-tests.el (module--test-assertions):
19512         Rephrase final check to give a more informative failure.
19514 2017-06-12  Philipp Stephani  <phst@google.com>
19516         Fix off-by-one error
19518         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
19519         off-by-one error.
19521 2017-06-12  Glenn Morris  <rgm@gnu.org>
19523         Clean up after module assertion tests
19525         * test/src/emacs-module-tests.el (module--test-assertions):
19526         Use a temporary directory to contain any core dumps.
19528 2017-06-12  Glenn Morris  <rgm@gnu.org>
19530         Small improvement for module assertion test
19532         * test/src/emacs-module-tests.el (module--test-assertions):
19533         Don't rely on the precise form of an "Abort" message.
19535 2017-06-12  Glenn Morris  <rgm@gnu.org>
19537         Improve previous test/data/emacs-module/Makefile change
19539         * test/data/emacs-module/Makefile.in (clean):
19540         Avoid doing unpleasant things if run in a build without modules.
19542 2017-06-12  Glenn Morris  <rgm@gnu.org>
19544         Small improvements for test/data/emacs-module/Makefile
19546         * test/data/emacs-module/Makefile.in (%.o):
19547         Fix emacs-module dependency.
19548         (SECONDARY): Stop make automatically deleting *.o.
19549         (clean): New rule.
19551 2017-06-12  Glenn Morris  <rgm@gnu.org>
19553         * make-dist: Skip some more generated files in test/.
19555 2017-06-12  Alan Third  <alan@idiocy.org>
19557         Note how fullscreen differs on the NS port
19559         doc/lispref/frames.texi (Size Parameters):
19560         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
19561         hides the tool-bar and menu-bar in fullscreen.
19563 2017-06-12  Alan Third  <alan@idiocy.org>
19565         Add no-focus-on-map to NS build (bug#25408)
19567         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
19568         (x-create-frame): Check for no-focus-on-map.
19569         * src/nsterm.h (x_set_no_focus_on_map): New function.
19570         * src/nsterm.m (x_set_no_focus_on_map): New function.
19571         (ns_raise_frame): Add parameter for specifying whether to focus the
19572         frame.
19573         (ns_frame_raise_lower):
19574         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
19576 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19578         _Noreturn not noreturn
19580         _Noreturn is more portable to non-C11 platforms.  See:
19581         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
19582         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
19583         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
19585 2017-06-12  Glenn Morris  <rgm@gnu.org>
19587         Update make-dist for recent test/ changes
19589         * make-dist: No longer distribute test/data/emacs-module/Makefile.
19591 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
19593         Handle port and domain in Tramp's password cache
19595         * doc/misc/tramp.texi (Password handling): Explain port and
19596         domain handling in authinfo.
19598         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
19599         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
19600         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
19601         (tramp-maybe-open-connection):
19602         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
19603         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
19604         (tramp-smb-maybe-open-connection): Handle also domain and port.
19606 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
19608         Avoid compilation warnings with pre-C99 libc
19610         * src/emacs-module.c (module_free_global_ref)
19611         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
19612         instead of C99 't' format descriptor.
19614 2017-06-12  Philipp Stephani  <phst@google.com>
19616         Flush all output streams before aborting
19618         Maybe the stdout buffer still contains something interesting that
19619         should be flushed.
19621         * src/emacs-module.c (module_abort): Flush all output streams before
19622         aborting.
19624 2017-06-12  Philipp Stephani  <phst@google.com>
19626         Remove an assertion that doesn't test Emacs invariants
19628         * src/emacs-module.c (module_copy_string_contents): Remove an
19629         assertion that doesn't test Emacs invariants.
19631 2017-06-12  Philipp Stephani  <phst@google.com>
19633         Test module: add necessary version checks
19635         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
19636         version checks.
19638 2017-06-12  Philipp Stephani  <phst@google.com>
19640         Use additional CFLAGS from configure
19642 2017-06-12  Philipp Stephani  <phst@google.com>
19644         Use Autoconf to generate the test module Makefile
19646         This makes it easier to pass compilation flags around.
19648         * configure.ac: Also build test module Makefile.
19650         * test/data/emacs-module/Makefile.in: New makefile template.
19652         * test/Makefile.in ($(test_module)): No longer necessary to pass
19653         @MODULES_SUFFIX@ around.
19655         * .gitignore: Test module Makefile can now be ignored.
19657 2017-06-12  Philipp Stephani  <phst@google.com>
19659         Also compile test module as C11
19661         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
19663 2017-06-12  Philipp Stephani  <phst@google.com>
19665         Implement module assertions for users
19667         Add a new command-line option '-module-assertions' that users can
19668         enable developing or debugging a module.  If this option is present,
19669         Emacs performs additional checks to verify that modules fulfill their
19670         requirements.  These checks are expensive and crash Emacs if modules
19671         are invalid, so disable them by default.
19673         This is a command-line option instead of an ordinary variable because
19674         changing it while Emacs is running would cause data structure
19675         imbalances.
19677         * src/emacs.c (main): New command line option '-module-assertions'.
19679         * src/emacs-module.c (module_assert_main_thread)
19680         (module_assert_runtime, module_assert_env, module_assert_value):
19681         New functions to assert module requirements.
19682         (syms_of_module): New uninterned variable 'module-runtimes'.
19683         (init_module_assertions, in_main_thread, module_abort): New helper
19684         functions.
19685         (initialize_environment): Initialize value list.  If assertions are
19686         enabled, use a heap-allocated environment object.
19687         (finalize_environment): Add assertion that environment list is never
19688         empty.
19689         (finalize_runtime_unwind): Pop module runtime object stack.
19690         (value_to_lisp): Assert that the value is valid.
19691         (lisp_to_value): Record new value if assertions are enabled.
19692         (mark_modules): Mark allocated object list.
19693         (MODULE_FUNCTION_BEGIN_NO_CATCH)
19694         (module_non_local_exit_check, module_non_local_exit_clear)
19695         (module_non_local_exit_get, module_non_local_exit_signal)
19696         (module_non_local_exit_throw): Assert thread and environment.
19697         (module_get_environment): Assert thread and runtime.
19698         (module_make_function, module_funcall, module_intern)
19699         (module_funcall, module_make_integer, module_make_float)
19700         (module_make_string, module_make_user_ptr, module_vec_get)
19701         (funcall_module, Fmodule_load): Adapt callers.
19702         (module_make_global_ref): If assertions are enabled, use the global
19703         environment to store global values.
19704         (module_free_global_ref): Remove value from global value list.
19706         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
19707         modules.
19709         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
19710         (Fmod_test_invalid_load): New functions to test module assertions.
19711         (emacs_module_init): Bind the new functions.
19713         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
19714         the Emacs binary file.
19715         (mod-test-file): New constant for the test module file name.
19716         (module--test-assertions): New unit test.
19718 2017-06-12  Philipp Stephani  <phst@google.com>
19720         emacs-module: Use __attribute__((nonnull))
19722         Annotate all parameters with __attribute__((nonnull)) that may not be
19723         NULL.
19725 2017-06-12  Philipp Stephani  <phst@google.com>
19727         Explicitly require C11 or C++11 in emacs-module.h
19729         We already implicitly require them by including stdbool.h.  Just make
19730         the error message a bit clearer, and remove an unnecessary version
19731         comparison.
19733 2017-06-12  Philipp Stephani  <phst@google.com>
19735         Add missing 'require' forms to prevent compiler warnings.
19737         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
19738         requirements.
19740 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19742         Merge from gnulib
19744         This incorporates:
19745         2017-06-11 getopt-posix: port to glibc 2.25.90
19746         2017-06-04 same-inode: port better to VMS 8.2 and later
19747         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
19748         * m4/sys_types_h.m4: Copy from gnulib.
19750 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19752         Remove Lisp_Misc_Float
19754         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
19755         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
19756         unused for two decades; if we ever want to change floats to be a
19757         misc type we can bring it back then.
19759 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19761         Make two symbols private to emacs-module.c
19763         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
19764         Move from here ...
19765         * src/emacs-module.c: ... to here.
19767 2017-06-12  Glenn Morris  <rgm@gnu.org>
19769         Merge from origin/emacs-25
19771         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
19773 2017-06-12  Glenn Morris  <rgm@gnu.org>
19775         Merge from origin/emacs-25
19777         e80f6a210b0 Describe problems with Microsoft Intellipoint
19778         a73ec1edb07 More accurate documentation of the ':box' face attribute
19780 2017-06-12  Glenn Morris  <rgm@gnu.org>
19782         Merge from origin/emacs-25
19784         eaa00584ceb Improve documentation of 'gnutls-verify-error'
19785         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
19786         741daec617e ; Describe the problem with ksh when resizing shell window
19788 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
19790         Some further improvements for tramp-gvfs.el
19792         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
19793         (tramp-gvfs-get-file-attributes)
19794         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
19795         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
19796         Show question also in batch mode.  Cache result.
19798         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
19799         Support completion for host names and ports.
19801 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
19803         Fix highlighting of CSS selectors with double hyphens
19805         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
19806         highlighting of selectors that contain double hyphens.  They would be
19807         mistaken for a variable.
19809 2017-06-11  Philipp Stephani  <phst@google.com>
19811         Support threads in modules
19813         Rather than checking for the main thread, check for the current
19814         thread.
19816         * src/emacs-module.c (check_thread): New function.
19817         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
19818         (module_non_local_exit_check, module_non_local_exit_clear)
19819         (module_non_local_exit_get, module_non_local_exit_signal)
19820         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
19822 2017-06-11  Philipp Stephani  <phst@google.com>
19824         Allow non-local exits in module initializers
19826         Previously signals, throws, and quits from module initialization
19827         functions were ignored.  These function aren't special, and better
19828         errors can be reported using signals than with the initialization
19829         return code, so allow non-local exits.
19831         * src/emacs-module.c (module_signal_or_throw): New helper function.
19832         (Fmodule_load, funcall_module): Use it.
19833         (Fmodule_load): Also allow quitting.
19835 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
19837         Let eshell/sudo handle absolute command names (Bug#27167)
19839         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
19840         absolute paths into relative ones.
19842 2017-06-10  Alan Third  <alan@idiocy.org>
19844         Don't wait for toolbar in NS native fullscreen
19846         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
19847         function when in fullscreen.
19849 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
19851         Fix the placement of GTK menus on multi-monitor systems
19853         menu_position_func did not properly use the current monitor's
19854         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
19856         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
19857         (frame-monitor-workarea): New functions.
19859         * src/xmenu.c (menu_position_func): Take into account the workarea of
19860         the monitor that contains the mouse.  (Bug#23568)
19862 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19864         Clarify documentation of 'face-spec-set'
19866         * lisp/faces.el (face-spec-set): Clarify the description of
19867         SPEC-TYPE in the doc string.
19869         * doc/lispref/display.texi (Defining Faces): Clarify the
19870         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
19872 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
19874         Fix domain port and handling in tramp-gvfs.el
19876         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
19877         Return nil if BYTE-ARRAY is nil.
19878         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
19879         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
19880         Fix domain and port handling.
19882         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
19883         Ignore errors.
19885 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19887         Improve documentation of 'face-spec-set-2'
19889         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
19890         to 'face-attrs'.
19891         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
19893 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19895         Fix handling of Python/Guile commands with arguments in gdb-mi.el
19897         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
19898         variable.
19899         (gdb-control-commands-regexp): Use it.
19900         (gdb-send): Don't increment gdb-control-level if the command
19901         matches gdb-python-guile-commands-regexp and has non-empty
19902         arguments.  Reported by David Boles <boles@ieee.org> in
19903         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
19905 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
19907         Preserve point in Dired windows under 'dired-auto-revert-buffer'
19909         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
19910         is non-nil, bind switch-to-buffer-preserve-window-point to nil
19911         while calling find-file.  (Bug#27243)
19913 2017-06-09  Philipp Stephani  <phst@google.com>
19915         Give test files a -tests.el suffix
19917         Rename a couple of test files that have the same name as the library
19918         they test.  This harmonizes the naming pattern and makes it possible
19919         to have the tests directories in the load path.
19921 2017-06-09  Philipp Stephani  <phst@google.com>
19923         Fix another compiler warning on macOS
19925         * src/image.c (x_query_frame_background_color): Don't define if we
19926         have NextStep but no image support.
19928 2017-06-09  Philipp Stephani  <phst@google.com>
19930         Add garbage collection support for module environments
19932         * src/emacs-module.c (mark_modules): New function.
19933         (initialize_environment): Properly initialize Lisp objects.
19934         * src/alloc.c (garbage_collect_1): Call it.
19936 2017-06-08  Glenn Morris  <rgm@gnu.org>
19938         Make autogen.sh report relevant environment variables
19940         * autogen.sh (check_version):
19941         Indicate if using an environment variable.
19943 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
19945         Split variable macro env from function env
19947         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
19948         (cl-symbol-macrolet): Instead of adding each binding directly into the
19949         main environment with a special key format, put all symbol macro
19950         bindings into a single entry in the main environment under
19951         `:cl-symbol-macros'.
19952         (cl--sm-macroexpand): Look up symbol bindings in the
19953         `:cl-symbol-macros' entry of the environment.
19955 2017-06-07  Glenn Morris  <rgm@gnu.org>
19957         * make-dist: Directory modules/mod-test no longer exists.
19959 2017-06-07  Glenn Morris  <rgm@gnu.org>
19961         More authors.el updates
19963         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
19964         (authors-renamed-files-alist): Additions.
19966 2017-06-07  Glenn Morris  <rgm@gnu.org>
19968         * make-dist: Check a release has a ChangeLog with a release notice.
19970         * make-dist: Use existing ChangeLog if present.
19972 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
19974         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
19976 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
19978         (url-cookie-host-can-set-p): Protect against zero-length domains
19980         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
19981         against zero-length domains.
19983         Backtrace of a real-world site that triggers a bug:
19985         Debugger entered--Lisp error: (args-out-of-range "" 0)
19986           url-cookie-host-can-set-p("www.washingtonpost.com" "")
19987           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
19988           01-January-1970 00:00:00 GMT; path=/; domain=")
19989           url-http-handle-cookies()
19991 2017-06-06  Glenn Morris  <rgm@gnu.org>
19993         More authors.el updates
19995         * admin/authors.el (authors-obsolete-files-regexps)
19996         (authors-valid-file-names, authors-renamed-files-alist)
19997         (authors-renamed-files-regexps): Additions.
19999 2017-06-06  Glenn Morris  <rgm@gnu.org>
20001         More small authors.el updates
20003         * admin/authors.el (authors-aliases): Fix recent addition.
20004         (authors-obsolete-files-regexps, authors-no-scan-regexps)
20005         (authors-ignored-files, authors-valid-file-names)
20006         (authors-renamed-files-alist): Additions.
20008 2017-06-06  Glenn Morris  <rgm@gnu.org>
20010         Make authors.el report names that were ignored
20012         * admin/authors.el (authors-ignored-names): New.
20013         (authors-canonical-author-name): Add file and position arguments.
20014         Record ignored authors.
20015         (authors-scan-change-log, authors-scan-el):
20016         Pass file and position to authors-canonical-author-name.
20017         (authors): Also print authors that were ignored.
20019 2017-06-06  Glenn Morris  <rgm@gnu.org>
20021         * admin/authors.el (authors-aliases): Additions.
20023 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
20025         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
20027 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
20029         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
20031 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20033         Enable ElDoc messages after the newline command
20035         * lisp/emacs-lisp/eldoc.el:
20036         Add "newline" to the eldoc-add-command-completions call (bug#27228).
20038 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20040         Enable eldoc-mode explicitly inside read--expression
20042         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
20044 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
20046         Fix check for package-unsigned-archives during retrieval
20048         * lisp/emacs-lisp/package.el (package--download-one-archive):
20049         Fix check for package-unsigned-archives.
20051 2017-06-05  Noah Friedman  <friedman@splode.com>
20053         Merge etc/emacs-buffer.gdb from emacs-25 to master.
20055 2017-06-05  Philipp Stephani  <phst@google.com>
20057         Fix undefined behavior in mapbacktrace
20059         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
20061 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
20063         Fix emacs-module-tests on MS-Windows
20065         * src/print.c (print_vectorlike): Make sure module function's
20066         address prints with a leading "0x".  This fixes emacs-module-tests
20067         on MS-Windows.  Fix whitespace.
20068         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
20069         commentary.
20071 2017-06-05  Philipp Stephani  <phst@google.com>
20073         Use unwind protection to clean up data structures in modules
20075         Reuse existing functionality and simplify the code a bit.
20077         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
20078         runtime object.
20079         (funcall_module): Use unwind protection to clean up environment
20080         object.
20081         (finalize_environment): Simplify signature.
20082         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
20084 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
20086         Some minor tweaks in tramp-tests.el
20088         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
20089         Let it pass for all gfvs based methods.
20090         (tramp-test24-file-name-completion): Run method and host
20091         completion for all syntaxes only when expensive tests are enabled.
20092         Do not check host completion for gvfs based methods.
20093         (tramp--test-gvfs-p): Add optional METHOD argument.
20094         (tramp--test-afp-or-smb-p): Remove.
20096 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
20098         Fix error in Tramp rsync method
20100         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
20101         Otherwise, `tramp-test10-write-region' could fail.
20103 2017-06-05  Philipp Stephani  <phst@google.com>
20105         Inline module_has_cleanup
20107         This constant is only used once, and we fail compilation anyway if
20108         it's false.
20110         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
20112 2017-06-05  Philipp Stephani  <phst@google.com>
20114         Add missing dependency to test module source file
20116 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20118         Omit space that broke ‘make check’
20120         * src/print.c (print_vectorlike): Omit stray space.
20122 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20124         Remove easserts etc. from emacs-module.c
20126         Most of these seem to run afoul of the comment "Do NOT use
20127         'eassert' for checking validity of user code in the module."
20128         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
20129         (module_non_local_exit_check, module_non_local_exit_clear)
20130         (module_non_local_exit_get, module_non_local_exit_signal)
20131         (module_non_local_exit_throw, module_make_string):
20132         Remove unnecessary easserts that pointers are nonnull.
20133         Hardware checks this for us nowadays, and the checks
20134         just clutter up the code.
20135         (module_extract_integer): Remove unnecessary verify that
20136         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
20137         The C standard guarantees this.
20138         (module_copy_string_contents): Remove unnecessary eassert
20139         that Lisp strings are null-terminated.
20140         (module_function_arity): Remove unnecessary easserts that
20141         function arities are in range.
20143 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20145         Remove unnecessary checking in emacs-module.c
20147         * src/emacs-module.c (module_copy_string_contents):
20148         Remove checking, as string lengths are always nonnegative and less
20149         than STRING_BYTES_BOUND, and this is checked elsewhere.
20150         (module_make_string): Check length against STRING_BYTES_BOUND, a
20151         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
20152         assume that an out-of-range integer is nonnegative.
20154 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20156         SCHARS and STRING_BYTES are nonnegative
20158         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
20159         the hopes that this will optimize a bit better.  Also, check this
20160         at runtime if ENABLE_CHECKING.
20161         * src/lisp.h (SCHARS, STRING_BYTES):
20162         eassume that these functions return nonnegative values.
20163         (STRING_SET_CHARS) [ENABLE_CHECKING]:
20164         eassert that newsize is nonnegative.
20166 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
20168         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
20170 2017-06-04  Philipp Stephani  <phst@google.com>
20172         Remove an unused error symbol
20174         * src/emacs-module.c (syms_of_module): Remove unused error symbol
20175         'invalid-module-call'.
20177 2017-06-04  Philipp Stephani  <phst@google.com>
20179         Support quitting in modules
20181         The idea is that modules should call env->should_quit from time to
20182         time and return as quickly as possible if it returns true.
20184         * src/emacs-module.c (module_should_quit): New module function.
20185         (initialize_environment): Use it.
20186         (funcall_module): Process potential pending quit.
20188         * src/eval.c (maybe_quit): Add reference to module_should_quit.
20190 2017-06-04  Philipp Stephani  <phst@google.com>
20192         Use more specific errors for module load failure
20194         * src/emacs-module.c (syms_of_module): Add more specific error
20195         symbols.
20196         (Fmodule_load): Use them.
20198 2017-06-04  Philipp Stephani  <phst@google.com>
20200         Remove an unneeded assertion
20202         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
20203         assertion.  If this assertion triggers, we raise an error anyway.
20205 2017-06-04  Philipp Stephani  <phst@google.com>
20207         Guard against signed integer overflows
20209         * src/emacs-module.c (module_extract_integer)
20210         (module_copy_string_contents, module_make_string): Guard against
20211         signed integer overflows.
20213 2017-06-04  Philipp Stephani  <phst@google.com>
20215         Add a couple more assertions to the module code
20217         These can help module authors debug crashes.
20219         * src/emacs-module.c (module_non_local_exit_check)
20220         (module_non_local_exit_clear, module_non_local_exit_get)
20221         (module_non_local_exit_signal, module_non_local_exit_throw)
20222         (module_copy_string_contents, module_make_string)
20223         (funcall_module, initialize_environment): Add assertions
20225 2017-06-04  Philipp Stephani  <phst@google.com>
20227         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
20229         In particular, alias violations are likely for the return values of
20230         dlsym(3), which get cast around arbitrarily.
20232         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
20234 2017-06-04  Philipp Stephani  <phst@google.com>
20236         Simplify interface of dynlib_attr.
20238         Instead of returning bool, set the argument pointers to NULL if the
20239         information is not available.
20241         * src/dynlib.c (dynlib_addr): Don't return bool.
20243 2017-06-04  Philipp Stephani  <phst@google.com>
20245         Rationalize environment lifetime management functions
20247         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
20248         (finalize_environment): Add parameter for public part of the
20249         environment, like 'initialize_environment'.  Add assertions.
20251 2017-06-04  Philipp Stephani  <phst@google.com>
20253         Rework printing of module functions
20255         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
20256         other types.
20258         * src/print.c (print_vectorlike): Add code to print module functions.
20260         * src/emacs-module.c (funcall_module): Stop calling
20261         'module_format_fun_env'.  Now that module functions are first-class
20262         objects, they can be added to signal data directly.
20263         (module_handle_signal): Remove now-unused function
20264         'module_format_fun_env'.
20266         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
20268         * src/eval.c (funcall_lambda): Adapt call to changed signature of
20269         'funcall_module'.
20271 2017-06-04  Philipp Stephani  <phst@google.com>
20273         Define helper macro to reduce code duplication
20275         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
20276         macro.
20277         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
20278         Use it.
20280 2017-06-04  Philipp Stephani  <phst@google.com>
20282         Remove two FIXMEs that can't be fixed
20284 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
20286         Avoid slow startup in daemon mode when global-linum-mode is on
20288         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
20289         non-client frame of a daemon session.  (Bug#27210)
20291 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
20293         Fix eldoc bug with curved quote
20295         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
20296         Substitute quotes in documentation before returning it (Bug#27159).
20298 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
20300         Tune ‘format’ after recent fix
20302         * doc/lispref/strings.texi (Formatting Strings):
20303         * src/editfns.c (Fformat): Format field numbers no longer need
20304         to be unique, reverting the previous doc change since that has
20305         now been fixed.  Also, document that %% should not have modifiers.
20306         * src/editfns.c (styled_format): Improve performance.  Remove
20307         the need for the new prepass over the format string, by using
20308         a typically-more-generous bound for the info array size.
20309         Initialize the info array lazily.  Move string inspection to
20310         the same area to help caching.  Avoid the need for a
20311         converted_to_string bitfield by using EQ.  Cache arg in a
20312         local and avoid some potential aliasing issues to help the
20313         compiler.  Info array is now 0-origin, not 1-origin.
20315 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
20317         Improve of file-local-name use in vc-git-checkin
20319         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
20320         when calling git commit.
20322 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
20324         Support a new CSS indentation style
20326         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
20327         immediately followed by a newline.
20329         * test/manual/indent/css-mode.css: Add test for the change above.
20331         * test/manual/indent/scss-mode.scss: Ditto.
20333 2017-06-03  Philipp Stephani  <phst@google.com>
20335         Fix a bug when using format field numbers
20337         Previously styled_format overwrite the argument vector.  This is no
20338         longer possible because there might be more than one specification per
20339         argument.  Use the existing auxiliary info array instead.
20341         * src/editfns.c (styled_format): Record arguments in the info
20342         structure instead of overwriting them.
20343         * test/src/editfns-tests.el (format-with-field): Add unit test.
20345 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20347         Document uniqueness limitation of ‘format’
20349         * doc/lispref/strings.texi (Formatting Strings):
20350         * src/editfns.c (Fformat):
20351         Document that field numbers should be unique within a format.
20353 2017-06-03  Glenn Morris  <rgm@gnu.org>
20355         Small rmailmm fix (bug#27203)
20357         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
20358         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
20360 2017-06-03  Glenn Morris  <rgm@gnu.org>
20362         * admin/authors.el (authors-aliases): Addition.
20364 2017-06-03  Glenn Morris  <rgm@gnu.org>
20366         Add watch for password back to inferior python comint filter
20368         It was removed along with other items for speed (bug#16875),
20369         but doesn't seem to have been causing an issue, and it's useful to
20370         have it there (bug#27154).
20371         * lisp/progmodes/python.el (inferior-python-mode):
20372         Add comint-watch-for-password-prompt to comint-output-filter-functions.
20374 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
20376         Use completing-read-default in tmm-prompt
20378         tmm uses completing-read, but customizes its behavior so much
20379         that any alternative completing-read-function will almost
20380         certainly break it.  For example, both ido-ubiquitous and ivy have
20381         special code to deactivate themselves for tmm.
20382         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
20383         completing-read.  (Bug#27193)
20385 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
20387         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
20389 2017-06-02  Glenn Morris  <rgm@gnu.org>
20391         Fix with-todo-test
20393         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
20394         HOME should be a directory, not a file.  Delete it when finished.
20396 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
20398         Update TUTORIAL.it
20400         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
20402 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
20404         Fix cursor position in Dired buffers after dired-sort-toggle
20406         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
20407         even if the frame is marked as garbaged.  (Bug#27187)
20409 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
20411         Update TUTORIAL.he
20413         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
20415 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
20417         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
20419 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20421         Limit format fields to more POSIX-like spec
20423         * doc/lispref/strings.texi (Formatting Strings):
20424         Don’t allow mixing numbered with unnumbered format specs.
20425         * src/editfns.c (styled_format): Don’t bother checking for field 0,
20426         since it doesn’t crash and the behavior is not specified.
20427         * test/src/editfns-tests.el (format-with-field): Adjust tests to
20428         match current doc.  Add more tests for out-of-range fields.
20430 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20432         Improve performance by avoiding strtoumax
20434         This made (string-to-number "10") 20% faster on my old desktop,
20435         an AMD Phenom II X4 910e running Fedora 25 x86-64.
20436         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
20437         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20438         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
20439         * m4/strtoumax.m4: Remove.
20440         * src/editfns.c (str2num): New function.
20441         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
20442         instead of uintmax_t.  Check for integer overflow.
20443         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
20444         Move to private scope and make them enums.
20445         (string_to_number): Compute integer value directly during
20446         first pass instead of revisiting it with strtoumax later.
20448 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20450         Minor improvements to format field numbers
20452         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
20453         No need for a special diagnostic for field numbers greater than
20454         PTRDIFF_MAX.  Reword diagnostic for field 0.
20455         * test/src/editfns-tests.el (format-with-field): Adjust to match.
20457 2017-06-02  Philipp Stephani  <phst@google.com>
20459         Implement field numbers in format strings
20461         A field number explicitly specifies the argument to be formatted.
20462         This is especially important for potential localization work, since
20463         grammars of various languages dictate different word orders.
20465         * src/editfns.c (Fformat): Update documentation.
20466         (styled_format): Implement field numbers.
20468         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
20470         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
20472         * test/src/editfns-tests.el (format-with-field): New unit test.
20474 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
20476         Limit scope of local overriding-terminal-local-map
20478         The function `binding' may call isearch-done, which globally sets
20479         overriding-terminal-local-map to nil (Bug#23007).
20480         * lisp/isearch.el (isearch-mouse-2): Don't bind
20481         overriding-terminal-local-map around the call to `binding'.
20483 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
20485         Correct and isolate the todo-mode test environment
20487         This avoids having to set todo-mode variables globally in the test
20488         file and prevents any exisiting user todo-mode files from influencing
20489         the tests.
20491         * test/lisp/calendar/todo-mode-tests.el:
20492         (with-todo-test): New macro.
20493         (todo-test-todo-quit01, todo-test-todo-quit02)
20494         (todo-test-item-highlighting): Use it.
20496 2017-06-01  Alan Third  <alan@idiocy.org>
20498         Fix build errors on macOS 10.6 (bug#27059)
20500         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
20502 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20504         Improve testing of octal and hex display of raw bytes
20506         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
20507         (test-redisplay-5): Add a test with a large codepoint.
20509 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
20511         Add customizable to display raw bytes as hex
20513         * src/xdisp.c (get_next_display_element): Dispatch used format string
20514         for unprintables based on new display-raw-bytes-as-hex variable.
20515         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
20517         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
20519         * doc/emacs/display.texi: Document the new variable.
20520         * etc/NEWS: Mention display-raw-bytes-as-hex.
20522         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
20523         (test-redisplay-5): New tests.
20524         (test-redisplay): Call test-redisplay-5.
20526 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20528         Revert "Add customizable to display raw bytes as hex"
20530         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
20532 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20534         Add customizable to display raw bytes as hex
20536         * src/xdisp.c (get_next_display_element): Dispatch used format string
20537         for unprintables based on new display-raw-bytes-as-hex variable.
20538         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
20540         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
20542         * doc/emacs/display.texi: Document the new variable.
20543         * etc/NEWS: Mention display-raw-bytes-as-hex.
20545         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
20546         (test-redisplay-5): New tests.
20547         (test-redisplay): Call test-redisplay-5.
20549 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
20551         Fix linum under text-scaling when leuven-theme is used
20553         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
20554         inherit from 'default' and 'shadow', so that margins are enlarged
20555         as expected under text-scaling.
20557 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20559         Free cwd when no longer needed
20561         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
20563 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
20565         Fix memory leak of cwd string in emacsclient (Bug#26628)
20567         * lib-src/emacsclient.c (main): emacsclient retrieves the current
20568         working directory using get_current_dir_name which returns a newly
20569         allocated string.  Make sure this string is freed before exiting.
20571 2017-06-01  Glenn Morris  <rgm@gnu.org>
20573         Quieten compilation of some test files
20575         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
20576         * test/src/data-tests.el (binding-test-set-constant-t)
20577         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
20578         (binding-test-set-constant-nil): Silence compiler.
20579         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
20581 2017-06-01  Glenn Morris  <rgm@gnu.org>
20583         Use true names for invocation- and source-directory
20585         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
20586         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
20588 2017-06-01  Glenn Morris  <rgm@gnu.org>
20590         Avoid elisp-mode test failures when source dir has multiple names
20592         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
20593         Use the true name of the directory.
20595 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20597         Fix bug with "%%" in error format
20599         * src/doprnt.c (doprnt): Format "%%" correctly.
20600         Problem reported by Philipp Stephani in:
20601         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
20603 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20605         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
20607 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
20609         Revert mml-generate-mime-1 (bug#27141)
20611         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
20612         with slight modernizations (bug#27141).
20614 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
20616         Fix Bug#27108
20618         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
20619         in order to avoid Tramp password requests during Emacs
20620         startup.  (Bug#27108)
20622 2017-05-31  Glenn Morris  <rgm@gnu.org>
20624         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
20626 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
20628         Document current-line hscrolling in ELisp manual
20630         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
20631         new mode of auto-hscrolling only the current line.
20633 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
20635         Support lower bound on hscrolling when only current line scrolls
20637         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
20638         mode of auto-hscrolling only the current line.
20640         * src/xdisp.c (init_iterator): When hscrolling only the
20641         current line, apply the window's min_hscroll here, so that
20642         non-current lines will be hscrolled by that minimum.
20643         Suggested by Stephen Berman <stephen.berman@gmx.net>.
20644         (hscroll_window_tree): Account for window's min_hscroll when
20645         deciding whether to recompute the hscroll.
20646         (display_line): Subtract window's min_hscroll from x_incr, as that
20647         was already accounted for in init_iterator.  (Bug#27008)
20649 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
20651         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
20653         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
20654         (cl-print-object): When `print-circle' is nil, bind it to a list of
20655         objects that are currently printing to avoid printing the same object
20656         endlessly.
20657         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
20659 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
20661         Further simplify test/Makefile, optionally load elc tests
20663         * test/Makefile.in: Use make's error ignoring feature instead of
20664         suppressing test errors with shell.  Compile test files in the main
20665         make invocation instead of a recursive 'make' call.  Optionally load
20666         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
20667         Remove obsolete commentary.
20669 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
20671         Avoid inflooping in redisplay due to Spacemacs and linum-mode
20673         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
20674         retries when a frame becomes garbaged as result of redisplaying
20675         it.  (Bug#27115)
20677 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
20679         * src/editfns.c (decode-time): Fix docstring.
20681 2017-05-31  Glenn Morris  <rgm@gnu.org>
20683         * admin/update_autogen: Remove bzr support.
20685 2017-05-31  Glenn Morris  <rgm@gnu.org>
20687         Avoid subr test failure when source dir has multiple names
20689         * test/lisp/subr-tests.el (subr-tests--this-file):
20690         Use the true name of the file.  The following test does a string
20691         comparison of this value with that from method-files, which uses
20692         load-history, which contains true names.
20694 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
20696         Extract eldoc--supported-p
20698         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
20699         (turn-on-eldoc-mode, eldoc-mode): Use it.
20700         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
20702 2017-05-30  Glenn Morris  <rgm@gnu.org>
20704         Make "make check" less verbose by default
20706         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
20707         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
20708         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
20709         New, copied from lisp/Makefile.in.
20710         (%.elc, %.log): Simplify and quieten.
20712 2017-05-30  Alan Mackenzie  <acm@muc.de>
20714         Mode line "%q" construct: Just use one number when both would be the same.
20716         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
20718 2017-05-30  Alan Mackenzie  <acm@muc.de>
20720         Merge branch 'master' of /home/acm/emacs/emacs.git/master
20722 2017-05-30  Alan Mackenzie  <acm@muc.de>
20724         c-defun-name: Return fully qualified method names when wanted in C++, etc.
20726         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
20727         c-back-over-compound-identifier in place of c-backward-token-2 near the end
20728         of the function.
20730 2017-05-30  Glenn Morris  <rgm@gnu.org>
20732         Reduce scope of recent test/Makefile HOME change
20734         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
20736 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20738         Skip .#* temporaries when finding sources
20740         Without this patch, ‘make check’ can fail with the diagnostic
20741         ‘invalid syntax in conditional’ if there is an Emacs temporary
20742         file whose name starts with ‘.#’, because the ‘#’ is treated as
20743         the start of a Make comment.
20744         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
20745         * test/Makefile.in (ELFILES):
20746         Skip files starting with ‘.’, so that the .#* files do not cause
20747         trouble.  (We cannot easily skip just files starting with ‘.#’,
20748         since ‘#’ starts a Make comment!)
20750 2017-05-30  Alan Mackenzie  <acm@muc.de>
20752         Merge branch 'master' of /home/acm/emacs/emacs.git/master
20754 2017-05-30  Alan Mackenzie  <acm@muc.de>
20756         Fix the mouse help/key map on the "%p" part of the mode line.
20758         * lisp/bindings.el (mode-line-percent-position): give it a
20759         `risky-local-variable' property.
20760         (mode-line-position): correct the quoting on the mode-line-percent-position
20761         part of the variable, allowing the properties to be properly recognized.
20763 2017-05-30  Alan Mackenzie  <acm@muc.de>
20765         Fix the mouse help/key map on the "%p" part of the mode line.
20767         * lisp/bindings.el (mode-line-percent-position): give it a
20768         `risky-local-variable' property.
20769         (mode-line-position): correct the quoting on the mode-line-percent-position
20770         part of the variable, allowing the properties to be properly recognized.
20772 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20774         Merge from gnulib
20776         * build-aux/config.guess: Copy from gnulib.
20777         * lib/gnulib.mk.in: Regenerate.
20779 2017-05-30  Glenn Morris  <rgm@gnu.org>
20781         Stop make check interacting with HOME
20783         * test/Makefile.in (HOME): Export a non-existent value.
20785 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20787         Update .gitattributes to match sources better
20789         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
20790         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
20791         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
20792         Add config.guess and config.sub as shell files.
20794 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
20796         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
20798         * doc/emacs/cmdargs.texi (Initial Options):
20799         * doc/lispref/os.texi (Startup Summary):
20800         * etc/NEWS:
20801         * etc/emacs.service:
20802         * src/emacs.c (main):
20803         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
20804         '--bg-daemon'.
20806 2017-05-30  Glenn Morris  <rgm@gnu.org>
20808         todo-mode: don't assume an ordering of tests
20810         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
20811         (todo-test-item-highlighting): Avoid prompting for input file.
20813 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20815         Improve .gdbinit Lisp value pretty-printing
20817         * src/.gdbinit (to_string): Use an unsigned representation for
20818         Lisp values, as requested by Eli Zaretskii (Bug#27098).
20819         Also, use "make_number(N)" for Lisp integers.
20821 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
20823         Turn global-eldoc-mode into a globalized minor mode
20825         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
20826         Turn into globalized mode (bug#19853).
20827         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
20828         (eldoc-mode): Only show the message when called interactively.
20830 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
20832         Use regexp matching instead of checking exit status
20834         * lisp/progmodes/xref.el (xref-collect-matches):
20835         See if the output buffer contents look like Grep output
20836         instead of checking exit status (bug#23451).
20838 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
20840         Add initial tests for todo-mode.el
20842         *test/lisp/calendar/todo-mode-tests.el:
20843         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
20844         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
20846         * .gitattributes: Ignore trailing whitespace in todo-mode test
20847         data files, since it is part of the todo-mode file format.
20849 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
20851         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
20853         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
20854         replacing an anonymous function for the sake of `describe-variable'.
20855         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
20856         and remove boundp test of this variable, so its value is available on
20857         invoking `todo-toggle-item-highlighting'.
20859 2017-05-29  Alan Third  <alan@idiocy.org>
20861         Fix build error on macOS 10.6
20863         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
20864         CGPoint.
20866 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
20868         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
20870         * lisp/progmodes/python.el (python-indent--calculate-indentation):
20871         Increase indent by `python-indent-offset' after
20872         `:after-backslash-assignment-continuation'.
20874 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
20876         Add suggestion to docstring
20878         * lisp/subr.el (interactive-p): Mention commandp, as this is often
20879           what users are actually looking for.
20881 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
20883         Ensure button-get works in any buffer
20885         * lisp/button.el (button-get): Previously we assumed that button-get
20886           was called in the buffer containing the button.  In other buffers,
20887           button-get always returned nil.  Fix this by passing the relevant
20888           buffer from the marker.
20890 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
20892         Signal error if find-grep returns a nonzero status
20894         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
20895         if find-grep returns a nonzero status (bug#23451).  Remove the
20896         comment: even if some output is present, a non-zero status
20897         means something went wrong and it can't be relied upon.
20899 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
20901         Make sure exiting todo-mode buffer buries it (bug#27121)
20903         This failed due to commit ea3ae33b from 2013-05-16, which prevented
20904         quitting todo-mode buffer after visiting todo-archive buffer from
20905         making the archive buffer current again.  Avoid this now by simply
20906         killing the archive buffer, since there's no need to keep it a live
20907         buffer.  Consequently, quitting a todo-mode buffer can now use
20908         bury-buffer without an argument, which ensures that is will not
20909         becomes current on quitting the buffer that replaced it in the window.
20911         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
20912         buffer instead of burying it.  This now allows exiting the
20913         todo-mode buffer by bury-buffer without an argument, so do that.
20915 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
20917         Some tweaks, almost all for Tramp adb method
20919         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
20920         Use `make-tramp-file-name'.
20921         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
20922         (tramp-adb-maybe-open-connection): Set "prompt" property.
20923         (tramp-adb-wait-for-output): Use it.
20925         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
20926         (tramp-dump-connection-properties): Check also that there are
20927         properties to be saved.  Don't save "started" property of
20928         "ftp" method.
20930         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
20931         Use `make-tramp-file-name'.
20933         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
20934         Host could be empty.
20935         (tramp-file-name-port-or-default): New defun.
20936         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
20937         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
20938         (tramp-call-process, tramp-call-process-region):
20939         Use `make-tramp-file-name'.
20941         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
20942         Revert change from 2017-05-24.
20943         (tramp-test05-expand-file-name-relative): Let it also pass for
20944         "adb" method.
20946 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
20948         Fix Tramp for Android 7
20950         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
20951         Username part of prompt is empty on Android 7.
20952         (tramp-adb-ls-toolbox-regexp):
20953         Ignore addition links column on Android 7.
20954         (tramp-adb-get-ls-command):
20955         Dont use --color=none when using toybox (Android 7).  It's not
20956         possible to disable coloring explicitly for toybox ls.
20958 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
20960         Fix cl-indent for `loop' with :keywords (Bug#15543)
20962         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
20963         ":keywords".
20965 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20967         Depromiscuify inotify with IN_MASK_ADD
20969         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
20970         mask.  This simplifies the code and restores the ability to
20971         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
20972         in some cases (Bug#26973).
20973         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
20974         (Finotify_add_watch): Use IN_MASK_ADD instead.
20976 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20978         Restore inotify onlydir support
20980         There was no need to remove it in the 2017-03-26 inotify change,
20981         as it is like IN_DONT_FOLLOW and does not affect other watchers
20982         for the same file.
20983         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
20984         (syms_of_inotify): Bring back onlydir.
20986 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20988         Simplify computation of inotify mask
20990         * src/inotify.c (add_watch): Accept uint32_t imask instead
20991         of Lisp_Object aspect.  Caller changed.
20992         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
20993         simplify the code.
20995 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
20997         Improve the documentation of filesets
20999         * doc/emacs/files.texi (Filesets): Fix the description of
21000         fileset-init's effect on the menu bar.  (Bug#27015)
21002 2017-05-27  Philipp Stephani  <phst@google.com>
21004         Don't attempt to recover from undefined behavior in some cases
21006         These functions can only be run in batch mode and exit Emacs on
21007         return, so nothing can be recovered.  Disable unsafe recover
21008         mechanisms so that we get real failures and good stack traces on
21009         fatal signals.
21011         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
21012         (batch-byte-recompile-directory):
21013         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
21014         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
21015         from undefined behavior.
21017 2017-05-27  Philipp Stephani  <phst@google.com>
21019         Avoid another compiler warning on macOS
21021         When configured with --without-ns, HAVE_NS is not defined on macOS,
21022         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
21023         by using the pre-defined __APPLE__ preprocessor macro.
21025         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
21027 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
21029         Fix ruler-mode text-scaling issues
21031         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
21032         for computing scaled text width.
21033         (ruler-mode-text-scaled-window-hscroll)
21034         (ruler-mode-text-scaled-window-width): Compute text scaled
21035         `window-width' value.
21036         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
21037         (ruler-mode-ruler): Change `window-hscroll' into
21038         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
21039         into `ruler-mode-text-scaled-window-width'.
21041 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
21043         Minor doc and doc-string fixes (Bug#27091)
21045         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
21047         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
21048         (Display Margins): Mention that `set-window-buffer' may override
21049         settings made by `set-window-fringes', `set-window-scroll-bars'
21050         and `set-window-margins'.
21051         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
21052         `set-window-buffer'.
21054 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21056         Avoid args-out-of-range errors on fringe clicks after "C-h k"
21058         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
21059         message is already shorter than NCHARS.  (Bug#27040)
21061 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
21063         Fix GUD "Stop" display when running pdb
21065         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
21066         when GUD mode is 'pdb'.  (Bug#27024)
21068 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
21070         Support drag and drop of region by mouse (Bug#26725)
21072         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
21073         and drop region by mouse.
21074         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
21075         when start-event is on region.
21076         (mouse-drag-and-drop-region): New function, moves the region by
21077         (mouse-drag-and-drop-region): New defcustom.
21078         * etc/NEWS: Mention mouse-drag-and-drop-region.
21080 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
21082         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
21084 2017-05-27  Alan Third  <alan@idiocy.org>
21086         Check if instancetype supported in ObjC
21088         * configure.ac: Add check for instancetype.
21089         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
21091 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
21093         Mark keywordp as a safe, error-free function
21095         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
21096           side-effect-and-error-free-fns.
21098 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21100         * src/inotify.c: Add FIXME comments.
21102 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
21104         Fix Bug#26973
21106         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
21107         and CLOSE events on order do let other processes also reading
21108         from their descriptors.  (Bug#26973).
21110 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
21112         Remove Emacs 23 compat code from Tramp
21114         * doc/misc/tramp.texi (Remote processes): Don't mention
21115         Emacs 24 explicitly.
21116         (Frequently Asked Questions): Remove Emacs 23 from
21117         compatibility list.
21119         * lisp/net/tramp.el:
21120         * lisp/net/tramp-adb.el:
21121         * lisp/net/tramp-cache.el:
21122         * lisp/net/tramp-gvfs.el:
21123         * lisp/net/tramp-sh.el:
21124         * lisp/net/tramp-smb.el: Replace compat function calls.
21126         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
21127         (tramp-compat-condition-case-unless-debug)
21128         (tramp-compat-copy-file, tramp-compat-copy-directory)
21129         (tramp-compat-delete-file, tramp-compat-delete-directory)
21130         (tramp-compat-process-live-p): Remove them.
21132         * lisp/net/trampver.el: Make version check fit for Emacs 24.
21134 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
21136         Work for application/x-tar-gz and image/svg+xml
21138         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
21139         ;; of bug#27078 in the Emacs bug list using Gnus.
21141         * lisp/gnus/mm-archive.el (mm-archive-decoders):
21142         Add a decoder for application/x-tar-gz.
21143         (mm-dissect-archive): Error out if a decoder is not found.
21145         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
21147 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
21149         test-calc-23889: Skip test on 32-bit platforms
21151         This test fails on some 32-bit platforms as mentioned in
21152         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
21153         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
21154         the Lisp integer is not big enough.
21156 2017-05-25  Alan Third  <alan@idiocy.org>
21158         Fix NS tooltips showing in the wrong place (bug#27053)
21160         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
21161         last recorded position.
21163 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21165         lisp/net/soap-client.el: Bump version to 3.1.2
21167         * lisp/net/soap-client.el: Bump version to 3.1.2.
21169 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21171         Fix soap-inspect.el doc strings
21173         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
21174         string.
21175         (soap-inspect-xs-attribute-group): Likewise.
21177 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21179         Fix two soap-client.el byte compilation warnings
21181         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
21182         (soap-fetch-xml-from-url): Remove special declaration of
21183         url-http-response-status.
21184         (soap-invoke-internal): Likewise.
21186 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21188         lisp/net/soap-client.el: Require cl-lib version 0.6.1
21190         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
21192 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21193             Stefan Monnier  <monnier@iro.umontreal.ca>
21195         lisp/net/soap-client.el: Shorten some long lines
21197         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
21198         unnecessary progn.
21199         (soap-xs-add-union): Wrap long line.
21201 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
21202             Stefan Monnier  <monnier@iro.umontreal.ca>
21204         Remove cl dependency in soap-client.el and soap-inspect.el
21206         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
21207         with cl-case, destructuring-bind with cl-destructuring-bind and
21208         loop with cl-loop.
21210         * lisp/net/soap-client.el: Replace cl library with cl-lib,
21211         defstruct with cl-defstruct, assert with cl-assert, case with
21212         cl-case, ecase with cl-ecase, loop with cl-loop and
21213         destructuring-bind with cl-destructuring-bind.
21215 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
21217         Switch Tramp to cl-lib
21219         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
21221         * lisp/net/tramp-ftp.el: Don't require cl.
21223         * lisp/net/tramp-gvfs.el: Don't require cl.
21224         (tramp-gvfs-handler-mounted-unmounted)
21225         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
21227         * lisp/net/tramp-sh.el: Don't require cl.
21228         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
21229         (tramp-sh-gvfs-monitor-dir-process-filter)
21230         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
21232         * lisp/net/tramp-smb.el: Don't require cl.
21233         (tramp-smb-read-file-entry): Use `cl-*' macros.
21235         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
21236         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
21237         (tramp-parse-passwd, tramp-parse-etc-group)
21238         (tramp-parse-putty): Use `cl-*' macros.
21240 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21242         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
21244 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21246         Port ATTRIBUTE_MAY_ALIAS to recent icc
21248         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
21249         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
21250         “warning #2621: attribute "__may_alias__" does not apply here”
21251         for constructs like ‘struct sockaddr *sa = (whatever);
21252         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
21253         = (struct sockaddr_in *) sa;’.
21255 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21257         Merge from gnulib
21259         This incorporates:
21260         2017-05-25 port to recent icc
21261         * lib/intprops.h: Copy from gnulib.
21263 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21265         Fix Tramp for python.el
21267         * lisp/net/tramp.el (tramp-get-connection-process): Check,
21268         that VEC is a `tramp-file-name' structure.
21270 2017-05-24  Alan Third  <alan@idiocy.org>
21272         Raise version of macOS we define instancetype for (bug#27059)
21274         * src/nsterm.m: Increase supported version number.
21276 2017-05-24  Alan Third  <alan@idiocy.org>
21278         Define new types on macOS 10.6 (bug#27041)
21280         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
21281         correct NSUInteger instead of int.
21283 2017-05-24  Glenn Morris  <rgm@gnu.org>
21285         Don't autoload new dns-mode command
21287         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
21288         Remove autoload cookie.
21290 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21292         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
21294         (sxhash_vector): Make it work on pseudo vectors as well.
21295         (sxhash): Treat records like vectors.
21297 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21299         Adapt tramp-tests.el according to new defstruct
21301         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
21302         Fix test according to new defstruct.
21303         (tramp-test29-environment-variables-and-port-numbers):
21304         Expect it now as passed.  Cleanup at the end.
21306 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
21308         Introduce a defstruct `tramp-file-name' as central data structure.
21310         This solves also Bug#27009.
21312         * lisp/net/tramp.el (tramp-current-domain)
21313         (tramp-current-port): New defvars.
21314         (tramp-file-name): New defstruct.
21315         (tramp-file-name-user-domain, tramp-file-name-host-port)
21316         (tramp-file-name-equal-p): New defuns.
21317         (tramp-file-name-p, tramp-file-name-method)
21318         (tramp-file-name-user, tramp-file-name-host)
21319         (tramp-file-name-localname, tramp-file-name-hop)
21320         (tramp-file-name-real-user, tramp-file-name-domain)
21321         (tramp-file-name-real-host, tramp-file-name-port):
21322         Remove defuns.  They are provided by the defstruct, or not
21323         needed anymore.
21324         (tramp-dissect-file-name, tramp-buffer-name)
21325         (tramp-make-tramp-file-name, tramp-get-buffer)
21326         (tramp-set-connection-local-variables)
21327         (tramp-debug-buffer-name, tramp-message)
21328         (tramp-error-with-buffer, with-parsed-tramp-file-name)
21329         (tramp-completion-dissect-file-name1)
21330         (tramp-handle-file-name-as-directory)
21331         (tramp-handle-file-name-directory)
21332         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
21333         (tramp-handle-find-backup-file-name)
21334         (tramp-handle-insert-file-contents, tramp-process-actions)
21335         (tramp-check-cached-permissions, tramp-local-host-p)
21336         (tramp-get-remote-tmpdir, tramp-call-process)
21337         (tramp-call-process-region, tramp-read-passwd)
21338         (tramp-clear-passwd):
21339         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
21340         (tramp-adb-handle-expand-file-name)
21341         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
21342         (tramp-adb-handle-process-file)
21343         (tramp-adb-maybe-open-connection):
21344         * lisp/net/tramp-cache.el (tramp-get-hash-table)
21345         (tramp-get-file-property, tramp-set-file-property)
21346         (tramp-flush-file-property, tramp-flush-directory-property)
21347         (tramp-get-connection-property)
21348         (tramp-set-connection-property, tramp-connection-property-p)
21349         (tramp-flush-connection-property, tramp-cache-print)
21350         (tramp-list-connections, tramp-dump-connection-properties)
21351         (tramp-parse-connection-properties):
21352         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
21353         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
21354         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
21355         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
21356         (tramp-gvfs-handler-mounted-unmounted)
21357         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
21358         (tramp-gvfs-get-remote-gid)
21359         (tramp-gvfs-maybe-open-connection):
21360         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
21361         (tramp-do-copy-or-rename-file-out-of-band)
21362         (tramp-sh-handle-expand-file-name)
21363         (tramp-sh-handle-start-file-process)
21364         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
21365         (tramp-maybe-open-connection)
21366         (tramp-make-copy-program-file-name, tramp-get-remote-path)
21367         (tramp-get-inline-coding):
21368         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
21369         (tramp-smb-handle-expand-file-name)
21370         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
21371         (tramp-smb-handle-set-file-acl)
21372         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
21374 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
21376         Fix and improve UI of scroll bar menu (bug#27047)
21378         In addition, since the Emacs manual writes "scroll bar", "tool
21379         bar" and "menu bar", use this convention in the Show/Hide menues
21380         and tooltips as well.
21382         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
21383         pressing a radio button in the menu actually show that it was
21384         pressed.  Replace the two radio buttons to turn the horizontal
21385         scroll bar on and off with a single check-box toggle and add a
21386         separator between this and the vertical scroll bar radio
21387         buttons.  Use conventional spelling.
21388         (menu-bar-horizontal-scroll-bar)
21389         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
21390         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
21391         (menu-bar-mode): Use conventional spelling.
21393 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
21395         Remove string-as-unibyte
21397         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
21398         (canlock-make-cancel-key): No need to use string-as-unibyte.
21400 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
21402         Fix concatenation of "^" with diff-file-junk-re
21404         This regexp contains "\\|", thus a concatenation
21405         of "^" with it just matches the beginning of line for the
21406         first alternative in diff-file-junk-re.
21407         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
21408         diff-file-junk-re wrapped in a shy group.
21410 2017-05-24  Glenn Morris  <rgm@gnu.org>
21412         Suppress intermittent test failure on hydra
21414         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
21415         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
21417 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
21419         New dns-mode command for IPv6 address conversion
21421         This converts IPv6 addresses to a format suitable for
21422         reverse lookup zone files.  (Bug#26820)
21423         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
21424         Add dns-mode-ipv6-to-nibbles.
21425         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
21426         New functions.
21427         * test/lisp/dns-mode-tests.el: New file.
21429 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
21431         Protect *Backtrace* from being killed (Bug#26650)
21433         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
21434         `kill-buffer-hook'.
21436 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
21438         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
21440         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
21441         (lisp-mode-variables): Use it.
21443 2017-05-23  Philipp Stephani  <phst@google.com>
21445         vc-hg.el: Silence byte compiler warning
21447         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
21449 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21451         Don't warn about missing brances on macOS
21453         On macOS, removing -Wmissing-braces is not enough; the warning has to
21454         be disabled explicitly.
21456 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
21458         Don't treat ' as a string delimiter in RPM spec files
21460         ' is commonly used as an apostrophe in the prose sections of spec
21461         files, which was erroneously highlighted as strings. See for example
21462         http://kmymoney2.sourceforge.net/phb/rpm-example.html
21464         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
21465           punctuation in RPM spec files.
21467 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21469         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
21471         (common-lisp-indent-function-1): Remove unused var `last-point`.
21472         (lisp-indent-error-function): Move defvar before first use.
21474 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21476         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
21478         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
21480         * lisp/net/shr.el: Use cl-lib instead of cl.
21482 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21484         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
21486         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
21487         (binding-test-makunbound, data-tests-varalias-watchers)
21488         (data-tests-local-variable-watchers): Silence compiler warnings.
21490 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21492         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
21494 2017-05-23  Alan Third  <alan@idiocy.org>
21496         Fix GNUstep build
21498         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
21499         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
21500         GNUstep and old versions of macOS.
21501         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
21502         works in cocoa, not GNUstep.
21504 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
21506         Add test for Bug#27009 in tramp-tests.el
21508         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
21509         Check `tramp-file-name-real-host' for being a local host.
21511         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
21513         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
21514         Declare default host for mock method.
21515         (tramp-test29-environment-variables-and-port-numbers): New test.
21517 2017-05-23  Glenn Morris  <rgm@gnu.org>
21519         Don't advertise s_client in tls.el docs
21521         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
21522         Don't mention s_client in docs.
21524         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
21526 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
21528         Remove s_client usage from tls.el
21530         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
21531         Ref http://bugs.debian.org/766397
21532         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
21535         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
21537 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21539         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
21541 2017-05-22  Sam Steingold  <sds@gnu.org>
21543         Fix "g" in hg&git push&pull buffers
21545         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
21546         `compilation-directory' and `compilation-arguments'.
21547         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
21549 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
21551         Fix current-line hscrolling in buffers with header-line
21553         * src/xdisp.c (display_line): When testing the glyph row's
21554         vertical position against the cursor position, account for header
21555         line, if any.  (Bug#27014)
21557 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21559         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
21561         (rfc2047-decode-encoded-words): Use dolist.
21562         (rfc2047-decode-string): Avoid string-to-multibyte.
21563         (rfc2047-pad-base64): Use pcase.
21565 2017-05-21  Dima Kogan  <dima@secretsauce.net>
21567         Make ff-find-other-file symmetric for C++ (Bug#20192)
21569         `cc-other-file-alist' has a mapping of file extensions to switch
21570         between headers and sources, but the mappings weren't completely
21571         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
21572         to .cpp.
21574         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
21575         C++ extensions to make them symmetric with the C++ extensions that map
21576         to them.  This lets repeated invocations of `ff-find-other-file'
21577         toggle between all pairs of sources/headers.
21579 2017-05-21  Philipp Stephani  <phst@google.com>
21581         Fix definition of whitespace in JSON
21583         See
21584         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
21586         * lisp/json.el (json-skip-whitespace): Fix definition.
21587         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
21588         test.
21590 2017-05-21  Philipp Stephani  <phst@google.com>
21592         Improve module function terminology
21594         Module functions were previously called "function environments" when
21595         the functions created by module_make_functions were lambdas.  Now we
21596         can adapt the terminology and rename "function environments" to
21597         "module functions" everywhere.  This also removes the name clash
21598         between "function environments" and "module environments."
21600         * src/emacs-module.c (module_make_function): Adapt comment to reality;
21601         stop using "function environment" terminology.
21602         (funcall_module): Stop using "function environment" terminology.
21604 2017-05-21  Philipp Stephani  <phst@google.com>
21606         Avoid uninitialized read
21608         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
21610 2017-05-21  Philipp Stephani  <phst@google.com>
21612         Fix call of registerServicesMenuSendTypes
21614         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
21615         returnTypes; pass an empty array instead.
21617 2017-05-21  Philipp Stephani  <phst@google.com>
21619         Clean up code around 'ns-list-services'
21621         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
21622         branch NS_IMPL_COCOA cannot be defined.
21623         (interpret_services_menu): Define only if called to avoid compiler
21624         warnings about unused static functions.
21626 2017-05-21  Philipp Stephani  <phst@google.com>
21628         Remove unused automatic variables
21630         * src/nsterm.m (ns_read_socket):
21631         * src/macfont.m (macfont_open): Remove unused automatic variables.
21633 2017-05-21  Philipp Stephani  <phst@google.com>
21635         Nextstep: Replace deprecated enumerators
21637         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
21638         deprecated enumerator.
21640 2017-05-21  Philipp Stephani  <phst@google.com>
21642         Nextstep: remove some deprecated method calls
21644         * src/nsterm.m (mouseDown:):
21645         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
21646         deprecated method.  The return value is always nil.
21647         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
21649 2017-05-21  Philipp Stephani  <phst@google.com>
21651         Remove trailing semicolons in method definitions
21653         These semicolons are ignored and cause compiler warnings.
21655         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
21656         * src/nsterm.m (init, updateFrameSize:):
21657         (setFrame:): Remove trailing semicolon.
21659 2017-05-21  Philipp Stephani  <phst@google.com>
21661         Remove calls to deprecated setUsesScreenFonts
21663         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
21664         (mac_font_shape_1): Remove screen_font_p parameter.
21665         (mac_screen_font_shape): Remove screen_font_p argument.
21667 2017-05-21  Philipp Stephani  <phst@google.com>
21669         Make a function static that isn't used outside this file
21671         * src/kqueue.c (kqueue_directory_listing): Make static.
21673 2017-05-21  Philipp Stephani  <phst@google.com>
21675         Use NSCharacterCollection instead of CTCharacterCollection
21677         This should not cause behavior changes, but fixes a compiler warning
21678         due to implicit conversions between the enums.
21680         * src/macfont.m (macfont_cache, macfont_lookup_cache)
21681         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
21682         (macfont_variation_glyphs): Use NSCharacterCollection.
21684 2017-05-21  Philipp Stephani  <phst@google.com>
21686         Remove unused function print_regions
21688 2017-05-21  Philipp Stephani  <phst@google.com>
21690         Declare Nextstep unexec functions in lisp.h
21692         This removes compiler warnings about missing prototypes on macOS.
21694 2017-05-21  Philipp Stephani  <phst@google.com>
21696         Nextstep: Use instancetype explicit return type
21698         This removes compiler warnings on macOS and improves type safety.
21700         * src/nsterm.m (initFrameFromEmacs:):
21701         (menuDown:):
21702         (toolbarClicked:):
21703         (toggleToolbar:):
21704         (setMiniwindowImage:):
21705         (initFrame:window:):
21706         (condemn, reprieve, setPosition:portion:whole:):
21707         (repeatScroll:):
21708         * src/nsmenu.m (initWithTitle:):
21709         (initWithTitle:frame:):
21710         (initForView:withIdentifier:):
21711         (init, initWithContentRect:styleMask:backing:defer:):
21712         (initFromContents:isQuestion:):
21713         * src/nsimage.m (allocInitFromFile:):
21714         (initFromXBM:width:height:fg:bg:):
21715         (setXBMColor:):
21716         (initForXPMWithDepth:width:height:): Use instancetype as return
21717         type instead of implicit id.
21719 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
21721         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
21723 2017-05-21  Alan Mackenzie  <acm@muc.de>
21725         Enhance mode-line percentage offset facility, with "%o" and "%q"
21727         "%o" will display the percentage "travel" of the window through the buffer.
21728         "%q" will display a combination of the percentage offsets of the top and
21729         bottom of the window.  The new user option mode-line-percent-position will
21730         facilitate selecting a setting for this part of the mode line.
21732         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
21733         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
21735         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
21737         * doc/lispref/modes.texi (Mode Line Variables): Document
21738         mode-line-percent-position.
21739         (%-Constructs): Document %o and %q.
21741         * etc/NEWS: Add an entry for these new facilities.
21743 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21745         Work around macOS bug in create_process, too
21747         * src/process.c (create_process) [DARWIN_OS]:
21748         Reset SIGCHLD after vfork here, too.
21750 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21752         Work around macOS bug with vforked child
21754         * src/callproc.c (call_process) [DARWIN_OS]:
21755         Include workaround for apparent macOS bug.
21757 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21759         Pacify --enable-gcc-warnings without modules
21761         * src/print.c (print_vectorlike): New function, taken from
21762         part of print_object.  This one is indented properly, and
21763         pacifies --enable-gcc-warnings by using a default case
21764         instead of listing all the enum values, sometimes
21765         incompletely.
21766         (print_object): Use it.
21768 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21770         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
21772         It does not appear to be needed (Bug#24441).
21773         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
21774         * src/fileio.c (file_name_case_insensitive_p):
21775         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
21777 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21779         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
21781         * etc/PROBLEMS: Document this (Bug#24441).
21782         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
21783         with _PC_CASE_SENSITIVE, if it works, to
21784         DARWIN_OS_CASE_SENSITIVE_FIXME code.
21785         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
21786         which matches the Apple documentation more precisely.
21788 2017-05-21  Tom Tromey  <tom@tromey.com>
21790         Fix mhtml-mode fontification bug
21792         Bug#26922
21793         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
21794         sgml-syntax-propertize-inside if not in a submode.
21795         * test/manual/indent/html-multi-4.html: New file.
21797 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
21799         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
21801         * lisp/ido.el (ido-set-matches-1): Only check first character of
21802         item if it's non-empty.
21804 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
21806         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
21808 2017-05-21  Glenn Morris  <rgm@gnu.org>
21810         Prevent loading vc-bzr writing to ~/.bzr.log
21812         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
21814 2017-05-21  Glenn Morris  <rgm@gnu.org>
21816         Prevent running vc-tests writing to ~/.bzr.log
21818         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
21819         (vc-test--register, vc-test--working-revision)
21820         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
21822 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
21824         Don't end non-hook variable with "-hook" (Bug#26623)
21826         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
21827         follow-inside-post-command-hook, update uses.
21829 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
21831         Fix macOS mouse movement
21833         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
21834         function (Lisp).
21835         (set-mouse-absolute-pixel-position): Change it to call
21836         `ns-set-mouse-absolute-pixel-position' on macOS.
21837         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
21838         function.
21839         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
21840         screen's height as a base for calculating global coordinates.
21841         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
21842         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
21843         movement of mouse relative to frame.
21845 2017-05-21  Alan Third  <alan@idiocy.org>
21847         Show tooltip on correct screen (bug#26905)
21849         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
21850         tooltip and constrain it to that screen.
21852 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
21854         Don't save unrelated buffers before recompiling directory (Bug#25964)
21856         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
21857         buffers visiting lisp files under the directory being compiled.
21859 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21861         Minor fixes for arity ranges in emacs modules
21863         * src/emacs-module.c (module_make_function):
21864         Check that arities fit into fixnums, for func-arity’s benefit.
21865         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
21866         (module_function_arity): Allow arities greater than SHRT_MAX.
21868 2017-05-20  Philipp Stephani  <phst@google.com>
21870         Reimplement module functions
21872         Instead of a lambda, create a new type containing all data required to
21873         call the function, and support it in the evaluator.  Because this type
21874         now also needs to store the function documentation, it is too big for
21875         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
21876         that we don't have to add special support to the garbage collector.
21878         Since the new type is user-visible, give it a predicate.
21880         Now we can easily support 'help-function-args' and 'func-arity'; add
21881         unit tests for these.
21883         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
21884         (XMODULE_FUNCTION): New pseudovector type 'module function'.
21886         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
21887         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
21888         functions.
21889         (Ffunc_arity): Add support for detecting the arity of module
21890         functions.
21892         * src/emacs-module.c (module_make_function): Adapt to new structure.
21893         Return module function object directly instead of wrapping it in a
21894         lambda; remove FIXME.
21895         (funcall_module): New function to call module functions.  Replaces
21896         `internal--module-call' and is called directly from eval.c.
21897         (syms_of_module): Remove internal helper function, which is no longer
21898         needed.
21899         (module_function_arity): New helper function.
21901         * src/data.c (Ftype_of): Adapt to new implementation.
21902         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
21903         that module functions are first-class objects, they deserve a
21904         predicate.  Define it even if not compiled with --enable-modules so
21905         that Lisp code doesn't have to check for the function's existence.
21907         * src/doc.c (Fdocumentation): Support module functions.
21909         * src/print.c (print_object): Adapt to new implementation.
21911         * src/alloc.c (mark_object): Specialized garbage collector support is
21912         no longer needed.
21914         * lisp/help.el (help-function-arglist): Support module functions.
21915         While there, simplify the arity calculation by using `func-arity',
21916         which does the right thing for all kinds of functions.
21918         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
21919         the argument list.
21921         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
21922         new docstring.
21923         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
21924         is gone, the backtrace has changed and no longer leaks the
21925         implementation.
21926         (module--func-arity): New test for `func-arity'.
21927         (module--help-function-arglist): New test for `help-function-arglist'.
21929 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
21931         Avoid crashes in GC due to unescaped characters warning
21933         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
21934         Lisp objects from stack-based variables.  (Bug#26961)
21936 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
21938         New commands: find-library-other-window, find-library-other-frame
21940         * lisp/emacs-lisp/find-func.el (find-library-other-window)
21941         (find-library-other-frame): New commands to complement the
21942         existing 'find-library' command.  (Bug#26712)
21943         (read-library-name): New function to read a library name.
21944         * etc/NEWS: Mention 'find-library-other-window' and
21945         'find-library-other-frame'.
21947 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
21949         Fix automatic hscrolling of only the current line
21951         * src/xdisp.c (display_line): When hscrolling only the current
21952         line, increment iterator's first_visible_x and last_visible_x
21953         values to account for the hscroll.  This propagates the hscroll
21954         effect on the iterator geometry all the way down to the
21955         subroutines called by display_line, and avoids scrolling bugs
21956         under large hscroll values.  (Bug#26994)
21958 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21960         Add handlerlist assertion to module code
21962         * src/emacs-module.c (module_reset_handlerlist):
21963         Check handlerlist.  Suggested by Philipp Stephani in:
21964         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
21966 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21968         Port --enable-gcc-warnings to clang 3.9.1
21970         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
21971         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
21972         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
21974 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
21976         Limit integers printed as characters (Bug#16828)
21978         * lisp/simple.el (eval-expression-print-maximum-character): New
21979         variable.
21980         (eval-expression-print-format): Only display value as character if
21981         it's less than or equal to `eval-expression-print-maximum-character'.
21982         (eval-expression-get-print-arguments): Check
21983         eval-expression-print-maximum-character, allow negative arg to
21984         override it.
21985         (eval-expression):
21986         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
21987         (elisp--eval-last-sexp-print-value): Handle new variable.
21988         * doc/emacs/building.texi (Lisp Eval): Document new variable and
21989         behavior.
21990         * etc/NEWS: Announce it.
21991         * test/lisp/progmodes/elisp-mode-tests.el
21992         (eval-last-sexp-print-format-small-int)
21993         (eval-last-sexp-print-format-small-int-echo)
21994         (eval-last-sexp-print-format-large-int)
21995         (eval-last-sexp-print-format-large-int-echo):
21996         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
21997         (eval-expression-print-format-small-int-echo)
21998         (eval-expression-print-format-large-int)
21999         (eval-expression-print-format-large-int-echo): New tests.
22001 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
22003         Refactor lisp eval result printing
22005         * lisp/simple.el (eval-expression-print-format): Don't check
22006         `standard-output' or `current-prefix-arg'.
22007         (eval-expression-get-print-arguments): New function, centralizes
22008         decision about how to print results of `eval-expression' and
22009         `eval-last-sexp'.
22010         (eval-expression):
22011         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
22012         Use it.
22014 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22016         Check that signed right shift is arithmetic
22018         * src/data.c (ash_lsh_impl): Verify that signed right shift is
22019         arithmetic; if we run across a compiler that uses a logical shift
22020         we’ll need to complicate the code before removing this
22021         compile-time check.  Help the compiler do common subexpression
22022         elimination better.
22024 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22026         Minor .gitignore fixes
22028         * .gitignore: modules/mod-test/Makefile was renamed to
22029         test/data/emacs-module/Makefile.
22030         Omit [0-9]*.core, subsumed by *.core.
22031         test/indent/*.new was renamed to test/manual/indent/*.new.
22032         Add *.swp, for Vim.
22034 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
22036         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
22038 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22040         Describe problems with Microsoft Intellipoint
22042         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
22043         mouse-2 events.  For the details, see
22044         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
22046 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
22048         Fix turning off whitespace-mode
22050         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
22051         the original buffer-display-table is saved and restored when
22052         global-whitespace-mode is active.  (Bug#26892)
22054         * test/lisp/whitespace-tests.el
22055         (whitespace-tests-whitespace-mode-on): New function.
22056         (whitespace-tests-display-tables): New test.
22058 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
22060         Minor tweaks in tramp-tests.el
22062         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
22063         (tramp-test05-expand-file-name-relative): Use it.
22064         (tramp-test38-unload): Run only in batch mode.
22066 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
22068         Fix a problem with OpenSSH 7 in Tramp
22070         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
22071         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
22073 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
22075         Improve documentation of 'split-string'
22077         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
22078         make it more readable.  (Bug#26925)
22080 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
22082         Fix typos in doc strings
22084         * lisp/mail/rfc2231.el (rfc2231-encode-string):
22085         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
22086         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
22087         strings.  (Bug#26103)
22089 2017-05-19  Philipp Stephani  <phst@google.com>
22091         Fix module tests on some systems
22093         If dladdr(3) isn't available or didn't work, the printed
22094         representation of a module function will not include the file name,
22095         but only the address.  Make the tests pass in that case.
22097         * test/src/emacs-module-tests.el (module-function-object): Fix match for
22098         module function printed representation
22100 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
22102         Add an optional arguments to string-trim
22104         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
22105         (string-trim): Add optional args that serve as defaults per the
22106         original behavior.  (Bug#26908)
22108 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
22110         Fix typo in last change to auto-hscroll-mode
22112         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
22114 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22116         Support remote editing in emacsclient via Tramp
22118         * lib-src/emacsclient.c (main, decode_options)
22119         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
22120         specifies how emacs should use tramp to find remote files.
22122         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
22123         the various knobs to tune server.el for TCP opereation.
22124         (emacsclient Options): Reference "TCP Emacs server" from description of
22125         --server-file.  Document the new '--tramp' / '-T' options.
22126         * doc/emacs/emacs.texi (Top): Update the top-level menu.
22128         * etc/NEWS: Mention the new option.
22130 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22132         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
22134 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22136         Attempt to work around macOS vfork bug
22138         Problem reported by YAMAMOTO Mitsuharu in:
22139         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
22140         This is related to the fix for Bug#26397.
22141         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
22142         Report internal error if wait_for_termination fails.
22143         * src/sysdep.c (get_child_status): Return -1 if waitpid is
22144         buggy, instead of aborting.
22145         (wait_for_termination): Return bool success value.
22146         All callers changed.
22148 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
22150         Adjust defcustom form for 'auto-hscroll-mode'
22152         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
22153         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
22155 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22157         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
22159         * src/fileio.c (file_name_case_insensitive_p):
22160         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
22161         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
22162         Problem reported by Philipp Stephani in:
22163         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
22165 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22167         Port --enable-gcc-warnings to clang 3.9.1
22169         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
22170         Problem reported by Philipp Stephani in:
22171         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
22173 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22175         Clean up compiler warning in emacs-module.c
22177         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
22178         instead of leaving it unused, to pacify picky compilers.
22179         (module_reset_handlerlist): Now takes a dummy pointer to a struct
22180         handler *, instead of a dummy pointer to an int.  All uses changed.
22182 2017-05-19  Philipp Stephani  <phst@google.com>
22184         Clean up some compiler warnings
22186         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
22187         Remove unused locals.
22189 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
22191         Support hscrolling only the current line
22193         * src/xdisp.c (hscrolling_current_line_p): New function.
22194         (init_iterator): If auto-hscrolling just the current line, don't
22195         increment the iterator's first_visible_x and last_visible_x
22196         variables.
22197         (hscroll_window_tree): Recompute window's hscroll when moving
22198         vertically to another screen line.
22199         (redisplay_window): If we are hscrolling only the current line,
22200         disable the optimizations that rely on the current matrix being
22201         up-to-date.
22202         (display_line): Accept an additional argument CURSOR_VPOS, the
22203         vertical position of the current screen line which might need
22204         hscrolling; all callers changed.  Compute first_visible_x and
22205         last_visible_x specially when auto-hscrolling current line, by
22206         repeating the calculation that is done in init_iterator in other
22207         modes.
22208         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
22209         accept a 3rd value 'current-line, to turn on the mode where
22210         only the current line is hscrolled.
22212         * etc/NEWS: Mention the new auto-hscroll-mode value.
22214 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
22216         Fix last change in line-move-finish
22218         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
22219         regression in C-n and C-p when lines are truncated, introduced by the
22220         change in 2017-05-10.
22222 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
22224         Expand docstring for CSS mode
22226         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
22227         Expand docstrings.
22229 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
22231         Use the expression angle units while simplifying it
22233         Don't use the angle mode, use the angle units included
22234         in the expression instead (Bug#23889).
22235         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
22236         (math-simplify): Use it.
22237         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
22238         Don't use calc-angle-mode if math-simplifying-units is non-nil.
22239         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
22240         (math-to-radians-2, math-from-radians-2): Don't convert angle
22241         to radians if math-simplifying-units is non-nil.
22242         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
22244 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
22246         Revert "Ignore angle mode while simplifying units"
22248         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
22249         This commit causes Bug#25652.
22251 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22253         Avoid undefined behavior in struct sockaddr
22255         Problem noted by Philipp Stephani in:
22256         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
22257         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
22258         New macros.
22259         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
22260         (connect_network_socket, network_interface_info)
22261         (server_accept_connection): Use it when aliasing non-char objects.
22263 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
22265         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
22267         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
22268         Add autoload cookie.
22269         (smerge--refine-forward): Rename from smerge-refine-forward.
22270         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
22271         Assume that its `beg` arg is a marker.
22272         (smerge--refine-highlight-change): Rename from
22273         smerge-refine-highlight-change.  Remove `buf` arg.
22274         (smerge-refine-subst): Redefine as an obsolete alias.
22276 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22278         Work around AddressSanitizer bug with vfork
22280         Problem reported by Jim Meyering in:
22281         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
22282         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
22283         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
22284         vforked child messes up the parent’s shadow memory.  This is too
22285         bad, as we’d rather have AddressSanitizer catch memory-access bugs
22286         related to vfork.
22288 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22290         Catch IPv4/IPv6 issues at compile time
22292         * src/process.c (connect_network_socket): Use verify,
22293         not eassert, so that any problems are caught at compile-time.
22294         Avoid dodgy cast by using a local var of the correct type.
22296 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22298         Pacify --enable-gcc-warnings --with-x-toolkit=no
22300         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
22301         Avoid unused local.
22303 2017-05-17  Glenn Morris  <rgm@gnu.org>
22305         * admin/update_autogen (commit): Pull before push.
22307 2017-05-17  Glenn Morris  <rgm@gnu.org>
22309         autoload-rubric no longer provides a feature by default
22311         * lisp/emacs-lisp/autoload.el (autoload-rubric):
22312         Stop providing a feature unless explicitly requested.
22313         (autoload-find-generated-file): Update autoload-rubric call.
22315 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
22317         Remove redundant code in connect_network_socket
22319         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
22320         Remove redundant type-casting and variables.  Don't call
22321         'getsockname' to find the port for AF_LOCAL sockets.
22322         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
22323         and IPv6 structures are at the same offset and have the same size.
22325 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22327         Fix minor timezone memory leak
22329         * src/editfns.c (wall_clock_tz): Remove; unused.
22331 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22333         Do not discard AddressSanitizer stderr
22335         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
22336         Do not close stderr.
22338 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22340         Simplify procname code to avoid GCC bug
22342         * src/process.c (server_accept_connection): Simplify and avoid
22343         multiple calls and struct literals in the last case of a switch.
22344         The old code ran afoul of GCC bug 80659, which caused an internal
22345         compiler error.  Problem reported by Jim Meyering in:
22346         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
22347         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
22349 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22351         Pacify GCC 7 with --enable-gcc-warnings
22353         * src/regex.c (regex_compile): Swap labels, so that the
22354         FALLTHROUGH immediately precedes the case label.
22356 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22358         Merge with gnulib, pacifying GCC 7
22360         This incorporates:
22361         2017-05-16 manywarnings: update for GCC 7
22362         2017-05-15 sys_select: Avoid "was expanded before it was required"
22363         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
22364         -Wformat-overflow=2 options, due to too many false alarms.
22365         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
22366         Copy from gnulib.
22367         * m4/gnulib-comp.m4: Regenerate.
22368         * src/coding.c (decode_coding_iso_2022):
22369         Fix bug uncovered by -Wimplicit-fallthrough.
22370         * src/conf_post.h (FALLTHROUGH): New macro.
22371         Use it to mark all switch cases that fall through.
22372         * src/editfns.c (styled_format): Use !, not ~, on bool.
22373         * src/gtkutil.c (xg_check_special_colors):
22374         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
22375         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
22376         this bug was actually caught by Clang.
22377         * src/search.c (boyer_moore):
22378         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
22379         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
22380         Tell GCC that glyph->u.glyphless.ch must be a character.
22382 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22384         Make autoloading Tramp more robust
22386         * lisp/net/tramp.el (tramp-file-name-for-operation):
22387         Use `default-directory' where appropriate.
22388         (tramp-file-name-handler): Do not autoload.
22389         (tramp-autoload-file-name-handler): Reintroduce function.
22390         (tramp-register-autoload-file-name-handlers): Use it.
22392 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22394         Extend tramp-tests.el
22396         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
22397         Remove declaration, not needed anymore.
22398         (tramp-test05-expand-file-name-relative): New test.
22399         (tramp-test10-write-region): Extend test.
22401 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
22403         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
22405 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
22407         Make `indent-line-to' respect field boundaries (Bug#26891)
22409         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
22410         of `backward-to-indentation'.
22412 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
22414         Make sure indent-sexp stops at end of sexp (Bug#26878)
22416         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
22417         indenting.
22418         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
22419         test.
22421 2017-05-16  Glenn Morris  <rgm@gnu.org>
22423         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
22425         * test/lisp/epg-tests.el (with-epg-tests):
22426         Also set GNUPGHOME in the environment of child processes.
22427         This avoids problems if gpg does not pass --homedir to spawned agent.
22429 2017-05-16  Glenn Morris  <rgm@gnu.org>
22431         Add oldxmenu to system-configuration-features
22433         * configure.ac (HAVE_OLDXMENU): New.
22434         (emacs_config_features): Add oldxmenu.
22436 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
22438         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
22440 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
22442         Remove unneeded stuff from nt/inc/sys/time.h
22444         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
22445         (timercmp, timerclear): Don't define.  Instead, include the system
22446         header sys/time.h, and add only the interval timers stuff.  This
22447         avoids compiler warnings about 'gettimeofday's prototype, and also
22448         avoids redefinition of macros from system headers.
22450 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
22452         Fix address violation found by AddressSanitizer
22454         * src/process.c (connect_network_socket):
22455         Use struct sockaddr_storage, not struct sockaddr_in, to store info
22456         about a socket address.  Problem reported by Philipp Stephani in:
22457         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
22458         This fix is based on a patch by Philipp in:
22459         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
22461 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
22463         Make edebug-step-in work on generic methods (Bug#22294)
22465         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
22466         New function to implement the edebug-form-spec property of
22467         the symbol cl-generic-method-args.
22468         (edebug-instrument-function): If the function is a generic
22469         function, find and instrument all of its methods. Return a list
22470         instead of a single symbol.
22471         (edebug-instrument-callee): Now returns a list. Update docstring.
22472         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
22473         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
22474         cl-generic-method-args in its Edebug spec.
22475         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
22476         cl-generic-method-args in its Edebug spec.
22477         * lisp/subr.el (method-files): New function.
22478         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
22479         (subr-tests--method-files--nonexistent-methods): New tests.
22481 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22483         Merge from gnulib
22485         This incorporates:
22486         2017-05-14 same-inode: Adapt for windows-stat-inodes
22487         2017-05-14 windows-stat-inodes: New module
22488         2017-05-14 stat-time: Adapt for windows-stat-timespec
22489         * lib/gnulib.mk.in: Regenerate.
22490         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
22491         Copy from gnulib.
22493 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
22495         Remove gettimeofday from w32 sources
22497         * lib-src/ntlib.c (gettimeofday):
22498         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
22499         function 'gettimeofday' and all of its supporting code.
22501 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
22503         Fix the MS-Windows build
22505         * nt/inc/sys/time.h (gettimeofday):
22506         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
22508 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
22510         More accurate documentation of the ':box' face attribute
22512         * doc/lispref/display.texi (Face Attributes): Fix the description
22513         of negative width of the ':box' attribute.  (Bug#26920)
22515 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22517         Merge from gnulib
22519         This incorporates:
22520         2017-05-13 largefile: Simplify
22521         2017-05-13 largefile: Improve and document
22522         2017-05-13 truncate: New module
22523         2017-05-13 windows-stat-timespec: New module
22524         2017-05-13 windows-stat-override: New module
22525         2017-05-11 getopt-posix: port to mingw
22526         2017-05-11 gettimeofday: Increase precision on mingw
22527         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
22528         2017-05-10 Implement a way to opt out from MSVC support
22529         2017-05-09 tzset: Expand comment about TZ problem on native Windows
22530         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
22531         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
22532         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
22533         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
22534         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
22535         * m4/unistd_h.m4: Copy from gnulib.
22536         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
22538 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
22540         Merge branch 'fix/bug-21072'
22542 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
22544         * .gitlab-ci.yml: Add setup for GitLab CI builds.
22546 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
22548         New minor mode 'pixel-scroll-mode'
22550         * lisp/pixel-scroll.el: New file.
22552         * etc/NEWS: Mention pixel-scroll-mode.
22554 2017-05-13  Philipp  <phst@google.com>
22556         Make `old-style-backquotes' variable internal
22558         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
22559         (syms_of_lread): Rename `old-style-backquotes' to
22560         `lread--old-style-backquotes', and clarify that it's for internal
22561         use only.
22562         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
22563         variable.
22564         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
22565         unit test.
22566         * test/lisp/emacs-lisp/bytecomp-tests.el
22567         (bytecomp-tests--old-style-backquotes): Add unit test.
22569 2017-05-13  Philipp Stephani  <phst@google.com>
22571         Improve unescaped character literal warnings
22573         * src/lread.c (load_warn_unescaped_character_literals)
22574         (syms_of_lread):
22575         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
22576         formatting of unescaped character literal warnings.
22578         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
22579         test/lisp/emacs-lisp/bytecomp-tests.el
22580         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
22582 2017-05-12  Alan Mackenzie  <acm@muc.de>
22584         Fontify C++ for loop variable as variable, even when followed by parentheses
22586         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
22587         getting fontified as a function, due to insufficient checking of the tokens
22588         between it and "()".
22590         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
22591         lang-consts/vars.
22593         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
22594         declarator's identifier, check for a ":" token inside a for's parentheses, and
22595         abort the search for "(" if this is found.
22597 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
22599         Make Tramp backward compatible
22601         * lisp/net/tramp-cmds.el (tramp-change-syntax):
22602         Set tramp-autoload cookie.
22604         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
22605         startup, if necessary.
22607         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
22608         (tramp-register-autoload-file-name-handlers): Do not mark
22609         `operations' for `tramp-file-name-handler'.
22610         (tramp-register-file-name-handlers): Remove also
22611         `tramp-autoload-file-name-handler' for backward compatibility.
22612         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
22614         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
22616 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
22618         Modify `beginning-of-defun-comments'
22620         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
22621         in the middle of a multiline comment.
22623 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
22625         Fix elisp-tests-with-temp-buffer compilation
22627         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
22628         Don't refer to the =!NAME= as "markers" since they produce variables
22629         with just plain positions, not marker objects.  Explicitly specify
22630         that CONTENTS is evaluated at compile time.  Don't re-evaluate
22631         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
22632         to BODY not using =!NAME= variables.
22633         (elisp-test-point-position-regex): Rename from
22634         `elisp-test-point-marker-regex'.
22635         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
22637 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
22639         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
22641 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
22643         Fix Bug#21072 and rework `mark-defun'
22645         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
22646           New variable
22647         (mark-defun-no-arg-region-inactive)
22648         (mark-defun-no-arg-region-active)
22649         (mark-defun-arg-region-active)
22650         (mark-defun-pos-arg-region-inactive)
22651         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
22652         the new `mark-defun'.
22654         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
22655           New function.
22656         (beginning-of-defun-comments): New function.
22657         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
22658         to accept a numerical prefix argument.
22660 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
22662         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
22664 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
22666         Improve doc strings in net-utils.el
22668         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
22669         (route, traceroute, nslookup, ftp, smbclient)
22670         (smbclient-list-shares, finger, whois)
22671         (network-connection-to-service, network-service-connection)
22672         (network-connection-reconnect): Improve doc strings.
22674 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
22676         Extend DNS lookup commands to allow specifying the name server
22678         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
22679         'net-utils-machine-at-point' obviating this autoloaded
22680         function (Bug#25426).
22681         (dig-program-options): New customization variable.
22682         (nslookup-host, dns-lookup-host, run-dig): Can now specify
22683         optional name server argument interactively (by prefix arg) and
22684         non-interactively.
22686         * etc/NEWS: Mention the extension of DNS lookup commands.
22688 2017-05-12  Glenn Morris  <rgm@gnu.org>
22690         Don't hard-code loaddefs files in lisp/Makefile
22692         * lisp/Makefile.in (loaddefs): New variable.
22693         (AUTOGENEL): Use $loaddefs, and include directory.
22694         (bootstrap-clean): Update for AUTOGENEL change.
22696 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
22698         Kill modified buffers silently when quitting (bug#26862)
22700         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
22701         sure that latest drafts are saved, and kill modified buffers silently.
22703 2017-05-10  Perry E. Metzger  <perry@piermont.com>
22705         Implement 1-based column numbering in mode line
22707         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
22709         * lisp/bindings.el (column-number-indicator-zero-based): New
22710         defcustom.
22711         (mode-line-position): Use %C when
22712         column-number-indicator-zero-based is nil.
22714         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
22715         * src/buffer.c (syms_of_buffer) <mode-line-format>:
22716         * doc/lispref/modes.texi (%-Constructs):
22717         * doc/lispref/frames.texi (Frame Titles): Document the %C
22718         construct.
22720         * doc/emacs/display.texi (Optional Mode Line): Document
22721         'column-number-indicator-zero-based'.
22723         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
22724         %C construct.
22726 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
22728         Ensure cursor's foreground color is in sync with 'default' face
22730         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
22731         foreground color is different from the background of the glyph
22732         string's face.  (Bug#26851)
22734 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
22736         Fix vertical cursor motion when columns are of unequal size
22738         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
22739         vertical-motion to move to the goal column, as the goal column
22740         should in that case be interpreted in units of frame's canonical
22741         character width.  (Bug#26852)
22743 2017-05-10  Glenn Morris  <rgm@gnu.org>
22745         Fix finding test .el files
22747         * test/Makefile.in (ELFILES): Exclude the data/ directory.
22748         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
22750 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
22752         Tweak a recent test
22754         This test fails in my local machine because the data files
22755         are compiled, and the test doesn't expect that.
22756         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
22757         ending with '.elc' when the data files are compiled.
22759 2017-05-10  Glenn Morris  <rgm@gnu.org>
22761         Put license information in each generated uni-*.el
22763         * admin/unidata/unidata-gen.el (unidata-gen-file):
22764         Get Copyright line from copyright.html.
22765         Put information in file header, not separate README.
22766         (unidata-gen-charprop): Mention the source location.
22767         * lisp/international/README: Remove file.
22769 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
22771         Fix lisp-indent-region and indent-sexp (Bug#26619)
22773         The new lisp-indent-region introduced in 2017-04-22 "Add new
22774         `lisp-indent-region' that doesn't reparse the code." is broken because
22775         it doesn't save the calculated indent amounts for already seen sexp
22776         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
22777         code.  Furthermore, only preserve position 2 of the running parse
22778         when the depth doesn't change.
22779         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
22780         corresponds with the start point when calling parse-partial-sexp.
22781         (lisp-indent-state): New struct.
22782         (lisp-indent-calc-next): New function, extracted from indent-sexp.
22783         (indent-sexp, lisp-indent-region): Use it.
22784         (lisp-indent-line): Take indentation, instead of parse state.
22785         * test/lisp/emacs-lisp/lisp-mode-tests.el
22786         (lisp-mode-tests--correctly-indented-sexp): New constant.
22787         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
22788         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
22789         tests.
22791 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
22793         Simplify url-encode-url and add a test
22795         * lisp/url/url-util.el (url-encode-url): Simplify.
22796         url-generic-parse-url copes with multibyte strings just fine
22797         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
22799         * test/lisp/url/url-parse-tests.el
22800         (url-generic-parse-url/multibyte-host-and-path): New test.
22802 2017-05-10  Glenn Morris  <rgm@gnu.org>
22804         More informative error when required feature missing
22806         * src/fns.c (Frequire): Include file name in missing feature error.
22807         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
22809 2017-05-10  Glenn Morris  <rgm@gnu.org>
22811         Put re-loaded file back at start of load-history (bug#26837)
22813         * src/lread.c (readevalloop): Fix the "whole buffer" check to
22814         operate in the correct buffer.
22815         (Feval_buffer): Move point back to the start after checking
22816         for lexical binding.
22817         * test/src/lread-tests.el (lread-test-bug26837): New test.
22818         * test/data/somelib.el, test/data/somelib2.el: New test data files.
22820 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
22822         Improve documentation of 'gnutls-verify-error'
22824         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
22825         doc string.  (Bug#26845)
22827 2017-05-09  Glenn Morris  <rgm@gnu.org>
22829         Don't duplicate autoload code in package.el
22831         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
22832         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
22833         (package-autoload-ensure-default-file): Use autoload-rubric.
22835 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
22837         * test/lisp/net/tramp-tests.el: Keep additional test.
22839 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
22841         Add elisp-tests-with-temp-buffer, a new testing macro
22843         * test/lisp/emacs-lisp/lisp-tests.el
22844         (elisp-test-point-marker-regex) New variable.
22845         (elisp-tests-with-temp-buffer): New macro to help test functions
22846         moving the point and/or mark.
22848 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
22850         Revert "Output number of characters added to file (Bug#354)"
22852         The extra message text turned out to be quite annoying in practice,
22853         and is generally more trouble than it's worth.  Also revert several
22854         related changes.
22856         Partially revert "Handle `write-region' messages in Tramp properly"
22857         Revert "New var write-region-verbose, default nil"
22858         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
22859         Revert "Minor tuneup of write-region change"
22860         Revert "Adjust write-region so file name is at the beginning again"
22861         Revert "Fix handling of non-integer START param to write-region"
22862         Revert "Output number of characters added to file (Bug#354)"
22864         * doc/emacs/files.texi (Misc File Ops):
22865         * etc/NEWS:
22866         * lisp/epa-file.el (epa-file-write-region):
22867         * lisp/gnus/mm-util.el (mm-append-to-file):
22868         * lisp/jka-compr.el (jka-compr-write-region):
22869         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22870         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
22871         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22872         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22873         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
22874         * lisp/net/tramp.el (tramp-handle-write-region-message):
22875         * src/fileio.c (write_region, syms_of_fileio):
22876         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
22877         extra characters from file writing messages.
22879 2017-05-09  Noah Friedman  <friedman@splode.com>
22881         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
22882         because $ptr is modified by ygetptr and we use $ptr immediately at the
22883         beginning.
22885 2017-05-08  Ken Brown  <kbrown@cornell.edu>
22887         Skip a test from filenotify-tests.el on Cygwin
22889         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
22890         Skip the last part of the test on Cygwin; it fails due to timing
22891         issues.
22892         (file-notify--test-read-event):  Remove `sit-for' that was added
22893         for Cygwin.
22895 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
22897         Merge from gnulib
22899         This incorporates:
22900         2017-05-08 intprops: don’t depend on ‘verify’
22901         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
22902         2017-05-07 utimens: Improve error code on native Windows
22903         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
22905 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
22907         Fix various verilog-mode.el issues.
22909         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
22910         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
22911         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
22912         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
22913         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
22914         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
22915         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
22916         msg2143. Reported by Galen Seitz.
22917         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
22918         compile-command is globally set, bug1119.  Reported by Galen Seitz.
22920 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
22922         Handle `write-region' messages in Tramp properly
22924         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
22925         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
22926         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22927         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22928         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
22930         * lisp/net/tramp.el (tramp-password-prompt-regexp)
22931         (tramp-completion-mode-p):
22932         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
22933         (tramp-append-tramp-buffers):
22934         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
22935         Use `bound-and-true-p'.
22937         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
22938         Don't check for `boundp' anymore.
22940         * test/lisp/net/tramp-tests.el (ert-x): Require it.
22941         (tramp--test-messages): New defvar.
22942         (tramp-test10-write-region): Extend test.
22944 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22946         Fix glyph string generation for multi-font compositions (Bug#26742)
22948         * src/xdisp.c (glyph_string_containing_background_width): New function.
22949         (draw_glyphs): Use it to get correct background width.
22950         (compute_overhangs_and_x): Don't change x in the middle of composite
22951         characters.
22953 2017-05-07  Philipp Stephani  <phst@google.com>
22955         Fix all unescaped character literals
22957 2017-05-07  Alan Mackenzie  <acm@muc.de>
22959         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
22961         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
22962         e.g., between the two characters of an opening comment "/*", and additionally
22963         there were an odd number of quote marks (apostrophes) in the comment.  This
22964         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
22965         buffer position 615001.
22967         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
22968         pps-extended-state to mean that there are at least 11 elements in the parser
22969         state.
22971         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
22972         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
22973         types which indicate potentially being inside two-char constructs.
22974         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
22975         functions.
22977 2017-05-07  Glenn Morris  <rgm@gnu.org>
22979         Silence an mh-compat compiler warning
22981         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
22983 2017-05-07  Glenn Morris  <rgm@gnu.org>
22985         Evaluate mh-require when compiling
22987         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
22988         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
22989         Evaluate mh-require when compiling, as require is automatically.
22990         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
22992 2017-05-07  Glenn Morris  <rgm@gnu.org>
22994         Remove obsolete method of changing byte-compile-dest-file
22996         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
22997         Define unconditionally.
22999 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
23001         New var write-region-verbose, default nil
23003         By popular demand, write-region char counts are now off by default
23004         (Bug#26796).
23005         * src/fileio.c (write-region-verbose): New Lisp var.
23006         (write_region): Output char count only if the var is non-nil.
23007         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
23009 2017-05-07  Glenn Morris  <rgm@gnu.org>
23011         Write autoloads file atomically
23013         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
23014         New function, to save buffer atomically.
23015         (autoload-save-buffers, update-directory-autoloads):
23016         Use autoload--save-buffer.
23017         * lisp/Makefile.in ($(lisp)/loaddefs.el):
23018         No longer write to a temp file by hand.
23020 2017-05-07  Glenn Morris  <rgm@gnu.org>
23022         Write autoloads file once only
23024         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
23025         Simplify.  Don't bother about ensuring the output file exists.
23026         (autoload-generated-file): Add doc.
23027         (autoload-ensure-writable): Update doc.
23028         (autoload-ensure-file-writeable): Handle non-existing file.
23029         (autoload-ensure-default-file): Remove function.
23031 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
23033         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
23035         * src/.gdbinit (Lisp_Object_Printer.to_string):
23036         Explicitly convert integer val to 'int', so that
23037         older GDBs do not complain about the conversion.
23038         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
23039         Give the struct a tag, so that older GDB pretty-printers have a
23040         tag to hang their hat on.
23042 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23044         Pretty-print const Lisp_Objects in .gdbinit
23046         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
23047         Compare unqualified type to Lisp_Object, to do the right thing
23048         when the expression has type ‘Lisp_Object const’.
23049         Problem reported by Eli Zaretskii in:
23050         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
23052 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23054         Pacify GCC setjmp/longjmp warning
23056         * src/eval.c (internal_lisp_condition_case): Do not modify local
23057         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
23058         cases mistakenly diagnoses VAR possibly being modified between a
23059         setjmp and a longjmp.
23061 2017-05-06  Philipp  <phst@google.com>
23063         Fix bootstrap build of files.el
23065         * lisp/files.el (file-name-non-special): Don't use cl-letf.
23067 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23069         Fix last change for MS-Windows
23071         * test/src/emacs-module-tests.el (module-function-object): Port to
23072         MS-Windows.
23074 2017-05-06  Philipp Stephani  <phst@google.com>
23076         Introduce new misc type for module function
23078         This resolves a couple of FIXMEs in emacs-module.c.
23080         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
23082         * src/alloc.c (make_module_function): New function.
23083         (mark_object): GC support.
23085         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
23087         * src/print.c (print_object): Print support for new type.
23089         * src/emacs-module.c (module_make_function, Finternal_module_call):
23090         Use new module function type, remove FIXMEs.
23091         (module_format_fun_env): Adapt and give it external linkage.
23093         * test/src/emacs-module-tests.el (module-function-object): Add unit
23094         test.
23096 2017-05-06  Philipp Stephani  <phst@google.com>
23098         Fix quoted files for 'verify-visited-file-modtime'
23100         Fixes Bug#25951.
23102         * lisp/files.el (file-name-non-special): Set the file name for the
23103         correct buffer.
23105         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
23106         Add unit test.
23107         (files-tests--with-advice, files-tests--with-temp-file): New helper
23108         macros.
23110 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23112         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
23114 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
23116         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
23118         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
23119         ENABLE_CHECKING is defined.
23120         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
23121         instead of being defined.
23123 2017-05-06  Tom Tromey  <tom@tromey.com>
23125         Fix erc-join with channel password
23127         Bug#25349
23128         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
23129         server names.
23130         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
23131         Likewise.
23132         (erc-server-join-channel): Move to erc.el.
23133         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
23134         (erc-cmd-JOIN): Use erc-server-join-channel.
23136 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
23138         Ensure the created temp file in a test is new
23140         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
23141         to create the temp file.
23143 2017-05-06  Glenn Morris  <rgm@gnu.org>
23145         Decruftify dns-mode.el a little bit
23147         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
23148         New constant.
23149         (dns-mode-control-entity, dns-mode-bad-control-entity)
23150         (dns-mode-type, dns-mode-class): New faces.
23151         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
23152         (dns-mode-type-face, dns-mode-class): Make these variables use the
23153         new faces, and mark as obsolete.
23154         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
23156 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23158         Pretty-print Lisp_Object values in GDB
23160         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
23161         GDB displays them as "XIL(0xXXX)" rather than displaying them
23162         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
23163         otherwise.
23165 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
23167         Tweak dns-mode font-lock
23169         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
23170         Highlight $TTL as a control entity.  (Bug#26780)
23172 2017-05-05  Glenn Morris  <rgm@gnu.org>
23174         Fontify the doc-string in some CL forms as such
23176         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
23177         Add the doc-string-elt property.  (Bug#26778)
23179 2017-05-05  Glenn Morris  <rgm@gnu.org>
23181         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
23183 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
23185         cl-defmethod: Make the edebug spec more technically correct
23187         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
23188         edebug spec part for qualifiers as [&rest atom], per
23189         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
23191 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
23193         Fix MH-E not to load cl at runtime (Bug#25552)
23195         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
23196         compile time, whether the target is bound.
23197         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
23198         mh-acros at compile time.
23199         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
23200         <npostavs@users.sourceforge.net>
23202 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
23204         Multiline support in NS "Open Selected File" service.
23206         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
23207         original call in a (split-string) to create as many calls as there
23208         are lines.
23209         (ns-spi-service-call): Call `ns-open-file-service' instead of
23210         `dnd-open-file'.
23212 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
23214         Require cl-lib at runtime in vc-hg
23216         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
23218 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
23220         Inherit incompatible/obsolete package faces from error
23222         Don't use the same face for installed packages as for incompatible
23223         or obsolete ones.
23224         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
23226 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
23228         Set process property `adjust-window-size-function' to `ignore' in Tramp
23230         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
23231         (tramp-adb-maybe-open-connection):
23232         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
23233         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
23234         (tramp-maybe-open-connection):
23235         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
23236         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
23237         (tramp-smb-maybe-open-connection): Set process property
23238         `adjust-window-size-function' to `ignore'.
23240 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
23242         * lisp/emacs-lisp/seq.el: Bump seq version.
23244 2017-05-04  Damien Cassou  <damien@cassou.me>
23246         Add seq-set-equal-p to test for set equality
23248         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
23249           two lists as if they were sets.
23251         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
23252           for seq-set-equal-p.
23254 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
23256         Spelling fixes
23258         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
23259         Rename from nndiary-last-occurence.
23260         (nndiary-next-occurrence):
23261         Rename from nndiary-next-occurence.  All uses changed.
23263 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
23265         Merge from pkg-config
23267         * m4/pkg.m4: Copy from pkg-config 0.29.1.
23269 2017-05-04  Tom Tromey  <tom@tromey.com>
23271         Add color highlighting to css-mode
23273         Bug#25525
23274         * lisp/textmodes/css-mode.el (css--color-map): New constant.
23275         (css-value-class-alist): Use css--color-map.
23276         (css--number-regexp, css--percent-regexp)
23277         (css--number-or-percent-regexp, css--angle-regexp): New constants.
23278         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
23279         functions.
23280         (css--colors-regexp): New constant.
23281         (css--hex-color, css--named-color, css--compute-color)
23282         (css--contrasty-color, css--fontify-colors)
23283         (css--fontify-region): New functions.
23284         (css-mode): Set font-lock-fontify-region-function.
23285         (css-mode-syntax-table): Set syntax on more characters.
23286         (css-fontify-colors): New defcustom.
23287         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
23288         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
23289         Update.
23290         (css-test-rgb-parser, css-test-hsl-parser)
23291         (css-test-named-color): New tests.
23292         * etc/NEWS: Add entry.
23294 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
23296         Fix Bug#26763
23298         * lisp/files.el (delete-directory): Call file name handler
23299         with `trash' argument.
23301         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
23302         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
23303         Add TRASH arg.  Implement it.  (Bug#26763)
23304         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
23306         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
23307         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
23308         Add _TRASH arg.
23310 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
23312         Use ptrdiff_t, not int, for stack sizes
23314         * src/thread.c (invoke_thread_function):
23315         * src/xterm.c (x_cr_export_frames):
23316         Don’t assume SPECPDL_INDEX fits in ‘int’.
23318 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
23320         Check list object type if --enable-gcc-warnings
23322         * configure.ac (--enable-check-lisp-object-type):
23323         Default to "yes" if --enable-gcc-warnings is not "no".
23324         * etc/NEWS: Mention this.
23325         * src/eval.c (internal_lisp_condition_case): Fix some glitches
23326         with 'volatile' uncovered by the above: in particular, 'clauses'
23327         should be a pointer to volatile storage on the stack, and need not
23328         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
23329         Don’t bother gathering binding count if VAR is nil.  Use
23330         more-specific local names to try to clarify what’s going on.
23332 2017-05-02  Glenn Morris  <rgm@gnu.org>
23334         Tweak auth-source-pass.el to avoid run-time subr-x
23336         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
23337         Avoid needing subr-x at run-time.
23339 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
23341         Constrain non-child frames to screen area in OS X
23343         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
23344         frames in OS X, if they would otherwise go offscreen.
23346         (Bug#25818)
23348 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
23350         Fix error in completion for separate Tramp syntax
23352         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
23353         Tweak regexp.
23355         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
23356         Run method and host name completion for all syntaxes.
23358 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
23360         Avoid compilation warnings
23362         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
23363         * src/w32term.c (x_draw_glyph_string):
23364         * src/w32fns.c (compute_tip_xy):
23365         * src/w32font.c (w32font_text_extents):
23366         * src/w32menu.c (set_frame_menubar):
23367         * src/search.c (Freplace_match): Avoid compiler warnings in
23368         optimized builds.
23370 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23372         Merge from gnulib
23374         This incorporates:
23375         2017-05-02 utimens: port to Emacs + MS-Windows
23376         * lib/utimens.c: Copy from gnulib.
23378 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
23380         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
23382         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
23383         to make Edebug generate a new symbol for each method (Bug#24753) and
23384         to support a string following :extra (Bug#23995).
23385         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
23386         make Edebug generate a new symbol for each method (Bug#24753).
23388 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
23390         Temporary fix for the MS_Windows build
23392         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
23393         to be consistent with Gnulib's utimens.c.  This is because utimens.c
23394         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
23395         previous definition here conflicted with that.
23397 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23399         Port format-time-string to MS-Windows better
23401         * test/src/editfns-tests.el (format-time-string-with-zone):
23402         Port test cases to MS-Windows.
23404 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23406         Merge from gnulib
23408         This incorporates:
23409         2017-05-01 New module 'localtime-buffer'
23410         2017-04-30 utimens: Add support for native Windows
23411         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
23412         * configure.ac (tzset): No need for Emacs itself to check now.
23413         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
23414         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
23415         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23416         * lib/localtime-buffer.c, lib/localtime-buffer.h:
23417         * m4/localtime-buffer.m4: New files, copied from gnulib.
23418         * src/editfns.c (init_editfns): Assume tzset is callable.
23420 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23422         Speed up project-find-regexp for simple regexps
23424         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
23425         New function.
23426         (xref--collect-matches): Use it.  Don't try to enable the
23427         appropriate major mode and file-local variables if the regexp
23428         does not depend on the buffer's syntax (bug#26710).
23429         (xref--collect-matches-1): Don't syntax-propertize in that
23430         case either.
23432 2017-05-01  Philipp Stephani  <phst@google.com>
23434         Warn about missing backslashes during load
23436         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
23437         (syms_of_lread): Warn if unescaped character literals are
23438         found (Bug#20152).
23439         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
23440         unescaped character literals during byte compilation.
23441         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
23442         unit test.
23443         (lread-tests--with-temp-file, lread-tests--last-message): Helper
23444         functions for unit test.
23445         * test/lisp/emacs-lisp/bytecomp-tests.el
23446         (bytecomp-tests--unescaped-char-literals): New unit test.
23447         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
23448         Helper macro for unit test.
23450 2017-05-01  Ken Brown  <kbrown@cornell.edu>
23452         * configure.ac: Suggest Mailutils on Cygwin.
23454 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23456         Don’t stress-test time zones near the Epoch
23458         * test/src/editfns-tests.el (format-time-string-with-zone)
23459         (format-time-string-with-outlandish-zone): Don’t format
23460         timestamps near the Epoch, as this runs into bugs on MS-Windows,
23461         and we don’t want to worry about those bugs.
23463 2017-05-01  Glenn Morris  <rgm@gnu.org>
23465         Tweak vc-tests.el for bzr
23467         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
23468         Handle test environments where HOME does not exist.
23470 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23472         vc-git-state: Return `ignored' as appropriate with newer Git
23474         * lisp/vc/vc-git.el
23475         (vc-git--program-version): New variable.
23476         (vc-git--program-version): New function.
23477         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
23479 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23481         vc-git-state: Bring back CentOS 6 compatibility
23483         * lisp/vc/vc-git.el (vc-git-state):
23484         Bring back CentOS 6 compatibility (bug#19343).
23486 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
23488         Rewrite w32fns.c's `x_set_menu_bar_lines'
23490         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
23491         regardless of whether menu bar is added or removed.  Clear
23492         under internal border iff a W32 window exists.  Store either 0
23493         or 1 as new parameter value.
23494         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
23495         FRAME_X_WINDOW.
23497 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
23499         Fix filenotify-tests.el for cygwin
23501         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
23502         Add an additional `sit-for'.
23503         (file-notify-test02-rm-watch): Add an additional
23504         `file-notify--test-read-event' call.
23506 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
23508         Speed up vc-git-status and make it more precise
23510         * lisp/vc/vc-git.el (vc-git-state)
23511         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
23512         'git status', so that 'vc-git-state' can now return 'ignored',
23513         'conflict', or 'unregistered' when appropriate.  Discussed in
23514         bug#26066.  Fixes bug#19343.
23516 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23518         Fix Git revision navigation in currently removed directories
23520         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
23521         default-directory because FILE's parent directory might not exist
23522         anymore (bug#26345).
23524 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23526         Merge from gnulib
23528         This incorporates:
23529         2017-04-30 strftime-fixes: New module
23530         2017-04-30 mktime: Work around TZ problem on native Windows
23531         2017-04-30 ctime, localtime: New modules
23532         2017-04-30 gettimeofday: Provide higher resolution on native Windows
23533         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
23534         2017-04-29 Make use of module 'utime-h'
23535         2017-04-30 Fix a few typos
23536         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
23537         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
23538         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
23539         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
23540         Copy from gnulib.
23541         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23543 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
23545         Don't lose key bindings on mis-spelled text in flyspell-mode
23547         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
23548         explicitly.
23549         (make-flyspell-overlay): If the mis-spelled text already has a
23550         'keymap' property, make that keymap the parent of
23551         flyspell-mouse-map, so as not to lose the parent's bindings.
23552         (Bug#26672)
23554 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
23556         Fix `delete-frame' behavior including Bug#26682
23558         * src/frame.c (other_frames): Accept two arguments now.  Don't
23559         care about minibuffer window.  Don't care about visibility when
23560         called from delete_frame with FORCE true (Bug#26682).
23561         (delete_frame, Fmake_frame_invisible): Adjust other_frames
23562         calls.
23563         * src/w32term.c (w32_read_socket): Don't add a move frame event
23564         for an invisible frame.
23565         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
23566         attempting to delete a surrogate minibuffer frame.
23568 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23570         Merge from gnulib
23572         This avoids incorporating the following, which I suspect are
23573         more trouble for Emacs than they’re worth:
23574         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
23575         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
23576         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23577         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
23579 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23581         Fix buffer overflow in make-docfile
23583         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
23584         overflow when reading an identifier.  Use a static buffer for NAME
23585         rather than a small dynamically-allocated buffer.
23587 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23589         Merge from gnulib
23591         This incorporates:
23592         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
23593         * lib/getopt-pfx-ext.h: Copy from gnulib.
23594         * lib/gnulib.mk.in: Regenerate.
23596 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
23598         Fix dependency error during bootstrap
23600         * lisp/files.el: Require pcase and easy-mmode at compile time.
23602 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
23604         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
23606 2017-04-29  Philipp Stephani  <phst@google.com>
23608         Reimplement auto-saving to visited files
23610         This reacts to confusing behavior of 'auto-save-visited-file-name',
23611         cf. Bug#25478.
23613         * lisp/files.el (auto-save-visited-interval): New customization option.
23614         (auto-save-visited-mode): New global minor mode.
23615         (auto-save-visited-file-name): Make obsolete.
23616         (auto-save--timer): New internal helper variable.
23618         * doc/emacs/files.texi (Auto Save Files): Document
23619         'auto-save-visited-mode' instead of obsolete
23620         'auto-save-visited-file-name'.
23621         (Auto Save Control): Document customization option
23622         'auto-save-visited-interval'.
23624 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23626         Allow bypassing of some checks when merging
23628         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
23630 2017-04-29  Philipp Stephani  <phst@google.com>
23632         Integrate module test with normal test suite
23634         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
23635         configured.
23636         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
23637         correctly even if Emacs changes the current directory.
23638         ($(srcdir)/src/emacs-module-tests.log)
23639         ($(test_module)): Proper dependency tracking for test module.
23641         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
23642         Remove 'check' target and EMACS variable, which are no longer
23643         necessary.
23644         (SO): Change to include period.
23646         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
23647         environment variable to reliably find test data.
23649         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
23650         substitutions.
23652 2017-04-28  Glenn Morris  <rgm@gnu.org>
23654         Broaden comint-password-prompt-regexp
23656         * lisp/comint.el (comint-password-prompt-regexp):
23657         Broaden the regexp, for non-English locales.  (Bug#26698)
23659 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
23661         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
23663 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
23665         Don't pass the value of point to 'push-mark', as that's the default.
23667         * lisp/textmodes/bib-mode.el (mark-bib):
23668         * lisp/simple.el (mark-whole-buffer, yank):
23669         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
23670         * lisp/progmodes/xscheme.el (xscheme-yank):
23671         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
23672         * lisp/progmodes/perl-mode.el (perl-mark-function):
23673         * lisp/progmodes/pascal.el (pascal-mark-defun):
23674         * lisp/progmodes/meta-mode.el (meta-mark-defun):
23675         * lisp/progmodes/icon.el (mark-icon-function):
23676         * lisp/progmodes/cc-cmds.el (c-mark-function):
23677         * lisp/obsolete/vip.el (ex-goto):
23678         * lisp/obsolete/vi.el (vi-put-before):
23679         * lisp/mouse.el (mouse-yank-primary):
23680         * lisp/menu-bar.el (menu-bar-select-yank):
23681         * lisp/mail/sendmail.el (mail-yank-original):
23682         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
23683         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
23684         (viper-mark-end-of-buffer):
23685         * lisp/cedet/semantic/senator.el (senator-mark-defun):
23686         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
23687         `(point)' from calls to `push-mark'.  (Bug#25565)
23689 2017-04-28  Glenn Morris  <rgm@gnu.org>
23691         Merge from origin/emacs-25
23693         784602b1050 (origin/emacs-25) ; Add release notice
23694         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
23695         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
23696         2b0d1118199 ; CONTRIBUTE: Remove stray header.
23697         f2ab09ec60d Fix a typo in indexing the user manual
23698         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
23699         a6d50401b4b Document 'line-pixel-height'
23700         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
23701         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
23702         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
23703         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
23704         84938d79698 default-directory: Remark that it must be a directory name
23705         3f0d047d2eb Delete confuse statement in manual
23706         ee1bd94dd0c Improve packaging documentation
23707         fb18bff91f0 Expand manual section on quitting windows
23708         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
23709         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
23710         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
23711         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
23712         e0e9db4c84a ; Spelling fix
23714         # Conflicts:
23715         #       README
23716         #       etc/AUTHORS
23717         #       etc/HISTORY
23718         #       lisp/ldefs-boot.el
23720 2017-04-28  Glenn Morris  <rgm@gnu.org>
23722         * doc/misc/auth.texi: Commas don't work in node names.
23724         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
23726 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
23728         Test format-time-string with zone arg
23730         * test/src/editfns-tests.el (format-time-string-with-zone)
23731         (format-time-string-with-outlandish-zone): New tests.
23733 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
23735         Merge from gnulib
23737         This incorporates:
23738         2017-04-24 time_rz: fix heap buffer overflow vulnerability
23739         2017-04-23 stat-time: Update comments.
23740         2017-04-22 ftoastr: cite a newer paper
23741         2017-04-21 gettext-h: Avoid -Wundef warning.
23742         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
23743         * m4/getopt.m4: Copy from gnulib.
23744         * m4/gnulib-comp.m4: Regenerate.
23746 2017-04-27  Damien Cassou  <damien@cassou.me>
23748         auth-source-pass: Add documentation; fix tests and indentation.
23750         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
23751           instead of @enumerate.
23752         * lisp/auth-source-pass.el: Fix indentation.
23753           (auth-source-pass--remove-directory-name): Remove.
23754         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
23756 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
23758         auth-source-pass: Enable finding entries by "host/username"
23760         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
23761         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
23763 2017-04-27  Damien Cassou  <damien@cassou.me>
23765         Integrate auth-source with password-store
23767         * lisp/auth-source-pass.el: auth-source backend for password-store.
23768         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
23769           behavior.
23771 2017-04-27  Damien Cassou  <damien@cassou.me>
23773         * lisp/auth-source.el: Document parser functions.
23775 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
23777         auth-source: factor out parsers and add tests
23779         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
23780         * test/lisp/auth-source-tests.el: Add tests.
23782 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
23784         Fix doc and customization type of `window-combination-limit' (Bug#26673)
23786         * src/window.c (Vwindow_combination_limit): Fix doc-string.
23787         * lisp/cus-start.el (window-combination-limit): Fix
23788         customization type.
23789         * doc/lispref/windows.texi (Recombining Windows): Fix
23790         documentation of `window-combination-limit'.
23792 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
23794         Drop face from hi-lock--unused-faces only when used
23796         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
23797         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
23798         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
23800 2017-04-26  Alan Third  <alan@idiocy.org>
23802         Fix macOS version check (bug#26664)
23804         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
23805         macOS versions 10.12+.
23807 2017-04-26  Glenn Morris  <rgm@gnu.org>
23809         Make charprop.el provide a feature
23811         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
23812         Provide a feature.
23813         * lisp/loadup.el: Use the charprop feature.
23815 2017-04-26  Glenn Morris  <rgm@gnu.org>
23817         * lisp/loadup.el: Get charprop.el into etc/DOC again.
23819 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
23821         * lisp/ido.el (ido-everywhere): Use add-function.
23823 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
23825         Try to fix latest fix of w32_mouse_position
23827         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
23828         latest fix and try to make the affected code more rigorous.
23830 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
23832         Avoid segfaults when 'find-font' is invoked for a TTY frame
23834         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
23835         text-mode frame.  (Bug#26646)
23837 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
23839         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
23841         New defun.
23843 2017-04-26  Glenn Morris  <rgm@gnu.org>
23845         * src/Makefile.in (leimdir): Remove variable, no longer used.
23847 2017-04-26  Glenn Morris  <rgm@gnu.org>
23849         Generate leim-list via lisp/Makefile, not src/Makefile
23851         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
23852         (emacs$(EXEEXT)): Don't depend on leim-list.
23853         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
23855 2017-04-25  Alan Third  <alan@idiocy.org>
23857         Fix define for GNUstep builds
23859         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
23860         doesn't see the code.
23862 2017-04-25  Glenn Morris  <rgm@gnu.org>
23864         Suppress intermittent test failure on hydra
23866         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
23867         (eieio-test-method-order-list-6): Skip on hydra.
23869 2017-04-25  Alan Third  <alan@idiocy.org>
23871         Fix some NS frame handling issues
23873         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
23874         defines intended to make things tidier.
23875         (x_set_undecorated): Use the new defines.
23876         (windowWillResize): Don't use new macOS 12+ only feature.
23877         (initFrameFromEmacs): Use the new defines, and disable automatic
23878         window tabbing feature in macOS 12.
23879         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
23880         x_set_z_group): Add NSTRACE notices.
23882 2017-04-25  Glenn Morris  <rgm@gnu.org>
23884         Avoid parallel race condition
23886         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
23888 2017-04-25  Glenn Morris  <rgm@gnu.org>
23890         Generate each unicode lisp file independently
23892         This is better for parallel builds, eg it eliminates race
23893         conditions from having one process write multiple files.
23894         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
23895         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
23896         (all): Explicitly list the output lisp files.
23897         (PHONY_EXTRAS): Remove.
23898         (${unidir}/charprop.el): Change rule to just be for this file.
23899         (${unifiles}): New rule to write each unicode lisp file.
23900         (extraclean): Simplify.
23901         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
23902         Quieten in batch mode.
23903         (unidata-gen-files): Remove, no longer used.
23904         * lisp/loadup.el: Update command-line parser.
23906 2017-04-25  Glenn Morris  <rgm@gnu.org>
23908         Further refactoring in unidata-gen.el
23910         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
23911         New function, split from unidata-gen-files.
23912         (unidata-gen-files): Use unidata-gen-charprop.
23914 2017-04-25  Glenn Morris  <rgm@gnu.org>
23916         Allow unidata-gen-file to work independently
23918         * admin/unidata/unidata-gen.el (unidata-gen-file):
23919         Make it work as a stand-alone function in batch mode.
23920         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
23922 2017-04-25  Glenn Morris  <rgm@gnu.org>
23924         Preparatory refactoring in unidata-gen.el
23926         * admin/unidata/unidata-gen.el (unidata-gen-file):
23927         New function, split from unidata-gen-files.
23928         (unidata-gen-files): Use unidata-gen-file.
23930 2017-04-25  Glenn Morris  <rgm@gnu.org>
23932         Write each generated character property lisp file only once
23934         * admin/unidata/unidata-gen.el (unidata-file-alist):
23935         Rename from unidata-prop-alist.  All users changed.
23936         Use file name rather than property name as the key.
23937         (unidata-prop-prop): New function.
23938         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
23939         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
23940         Change to parse the argument rather than unidata-prop-alist.
23941         (unidata-gen-table-character, unidata-gen-table)
23942         (unidata-gen-table-symbol, unidata-gen-table-integer)
23943         (unidata-gen-table-numeric, unidata-gen-table-word-list)
23944         (unidata-gen-table-name, unidata-gen-table-decomposition)
23945         (unidata-gen-table-special-casing): Pass index as an argument.
23946         (unidata-check): Adapt to unidata-file-alist.
23947         Pass index to generator functions.
23948         (unidata-gen-files): Adapt to unidata-file-alist.
23949         Write each output file once only.  Overwrite rather than delete.
23951 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
23953         Fix requesting sparse articles in gnus
23955         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
23956         sparse article number from the list, not its id.
23958 2017-04-25  Glenn Morris  <rgm@gnu.org>
23960         Don't advertise s_client in tls.el docs
23962         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
23963         Don't mention s_client in docs.
23965 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
23967         Remove s_client usage from tls.el
23969         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
23970         Ref http://bugs.debian.org/766397
23971         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
23973 2017-04-25  Glenn Morris  <rgm@gnu.org>
23975         Further robustify cedet bootstrap to loaddefs not yet built
23977         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
23978         Avoid void-function error when bootstrapping and semantic/loaddefs.el
23979         does not yet exist.
23981 2017-04-24  Alan Third  <alan@idiocy.org>
23983         Fix XBM color rendering in NS port (bug#22060)
23985         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
23987 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
23989         Add support for IRCv3 message tags.
23991         * lisp/erc/erc-backend.el:
23992           erc-response: Add `tags' element.
23993           Add (erc-parse-tags).
23994           (erc-parse-server-response): Use (erc-parse-tags) to parse message
23995           tags (if any), and store them in `erc-resopnse' struct.
23997         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
23998           properties of the corresponding message line.
24000 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
24002         Add image sizing tests for an image that's narrow
24004         Needlessly refactor tests for clarity
24006 2017-04-23  Philipp Stephani  <phst@google.com>
24008         Add missing remappings for Ido mode
24010         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
24012         * lisp/ido.el (ido-mode): Remap missing commands.
24013         (ido-file-internal, ido-visit-buffer): Add support for new
24014         methods.
24015         (ido-display-buffer-other-frame)
24016         (ido-find-alternate-file-other-window, ido-dired-other-window)
24017         (ido-dired-other-frame): New commands.
24019         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
24020         test for the bindings.
24022 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
24024         Let w32_mouse_position pick a child window only if it has a child frame
24026         * src/w32term.c (w32_mouse_position): When using a frame found
24027         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
24028         maybe).
24030 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
24032         Don't require bytecomp for running ert tests
24034         "Fix ert-tests when running compiled" 2016-12-06 accidentally
24035         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
24036         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
24037         on bytecomp was masked by loading other libraries until recently.
24039         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
24040         `byte-compile-macro-environment' if it's bound.
24041         * test/src/eval-tests.el: Add defvar for dynamic variable
24042         `byte-compile-debug'.
24044 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24046         Eliminate unneeded warp-to-article in gnus article referral
24048         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
24049         (gnus-summary-refer-article): Remove gnus-warp-to article call.
24051 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24053         Allow limiting gnus summary buffers to a thread
24055         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
24056         an optional argument to allow limiting the summary buffer to just the
24057         thread-related articles.
24058         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
24059         to control whether thread-referral adds the thread to the summary
24060         buffer or limits to just the thread.
24061         (gnus-summary-refer-thread): Use the new variable.
24063 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24065         Correct gnus-newsgroup-limits in gnus when including thread
24067         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
24068         only add one list of thread-related articles to gnus-newsgroup-limits
24069         rather than two.
24071 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
24073         Improve gnus thread matching of similar subjects
24075         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
24076         Use the more liberal gnus-general-simplify-subject regexp to
24077         find thread articles with similar subjects.
24079 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24081         Add new `lisp-indent-region' that doesn't reparse the code.
24083         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
24084         to get initial state, so they will no longer indent string literal
24085         contents.
24087         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
24088         `syntax-ppss', but with a more dependable item 2.
24089         (lisp-indent-region): New function, like `indent-region-line-by-line'
24090         but additionally keep a running parse state to avoid reparsing the
24091         code repeatedly.  Use `lisp-ppss' to get initial state.
24092         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
24093         `calculate-lisp-indent', use `lisp-ppss' if not given.
24094         (lisp-mode-variables): Set `indent-region-function' to
24095         `lisp-indent-region'.
24097 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24099         Remove ignored argument from lisp-indent-line
24101         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
24102         argument, the behavior has long since been handled in
24103         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
24104         variables and use `indent-line-to'.
24106 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24108         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
24110 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
24112         Don't reparse the sexp in indent-sexp (Bug#25122)
24114         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
24115         PARSE-START be a parse state that can be reused.
24116         (indent-sexp): Pass the running parse state to calculate-lisp-indent
24117         instead of the sexp beginning position.  Saving the
24118         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
24119         needed.  Don't bother stopping if we don't descend below init-depth,
24120         since we now alway scan the whole buffer (via syntax-ppss) anyway.
24121         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
24122         line to test case.
24124 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
24126         Add cond test cases for singleton clauses.
24128         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
24129           the default clause is a single non-nil expression.
24131 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
24133         b-c--cond-jump-table-info: Use correct body for singleton clauses
24135         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
24136         When a clause's body consists of a single constant expression, use
24137         that expression as the body to be compiled. This fixes switch bytecode
24138         evaluating to nil to such clauses.
24140 2017-04-22  Philipp Stephani  <phst@google.com>
24142         ffap: Don't switch window unless needed
24144         When using ffap-other-window, don't change the window configuration
24145         unless a new buffer has actually been created (Bug#25352).
24147         * lisp/ffap.el (ffap-other-frame): Don't change the window
24148         configuration if no new buffer has been created.
24149         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
24150         test.
24152 2017-04-22  Alan Mackenzie  <acm@muc.de>
24154         Fix fontification of C++ declaration with type FOO::FOO.
24156         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
24157         cfd-top-level properly.
24158         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
24159         before deciding it is a constructor.
24161         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
24162         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
24163         (simple bug fix).
24165 2017-04-22  Philipp Stephani  <phst@google.com>
24167         Fix usage of FRAME_Z_GROUP
24169         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
24170         Lisp object, cf. Bug#26597.
24172 2017-04-22  Alan Third  <alan@idiocy.org>
24174         Fix GNUstep build
24176         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
24177         compatibility.
24178         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
24180 2017-04-21  Alan Third  <alan@idiocy.org>
24182         Add no-accept-focus and frame-list-z-order to NS port
24184         * lisp/frame.el (frame-list-z-order): Add NS.
24185         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
24186         (Fx_create_frame): Handle no-accept-focus parameter.
24187         (ns_window_is_ancestor):
24188         (Fns_frame_list_z_order): New functions.
24189         * src/nsterm.m (x_set_no_accept_focus): New function.
24190         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
24191         non-fullscreen windows.
24192         (EmacsWindow:canBecomeKeyWindow): New function.
24194 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
24196         Improve prefix handling for dash.el
24198         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
24199         Don't drop dash's "-<letter>" prefixes.
24201 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
24203         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
24205         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
24206         and use a different fix for bug#26068.
24207         (cl--symbol-macro-key): New function.
24208         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
24209         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
24210         Failure is not expected any more.
24212 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
24214         Avoid infinite loop in redisplay when header-line-format is invalid
24216         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
24217         string has an invalid %-construct in it and is displayed as part
24218         of mode-line or header-line.  (Bug#26586)
24220 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
24222         Add tests to check image scaling functionality
24224         This is in preparation to doing further work in this area to avoid
24225         regressions.
24227         * test/data/image/blank-200x100.png: New file for testing
24228         image scaling.
24230         * test/manual/image-size-tests.el: New file.
24232 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
24234         Allow svg-image to take all create-image PROPS
24236         * lisp/svg.el (svg-image): Allow passing in PROPS when
24237         creating an image for convenience.
24239 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
24241         Treat non-erroring lisp call as successful eshell command (Bug#26161)
24243         This lets a compound command like 'cd .. && echo ok' print 'ok',
24244         similar to how most other shells behave.
24246         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
24247         last exit code was zero, rather than first checking whether the last
24248         command returned nil.
24249         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
24251 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
24253         Fix reading of tab settings in whitespace-mode
24255         lisp/whitespace.el (whitespace-indent-tabs-mode)
24256         whitespace-tab-width): Remove these variables. The underlying
24257         variables `indent-tabs-mode' and `tab-width' are already buffer-local
24258         when needed, and whitespace-mode never changes them.
24259         (whitespace-ensure-local-variables): Remove this function, which only
24260         existed to set the above variables.
24261         (whitespace-cleanup-region, whitespace-regexp)
24262         (whitespace-indentation-regexp, whitespace-report-region)
24263         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
24264         use `indent-tabs-mode' and `tab-width' directly, and not call
24265         `whitespace-ensure-local-variables'.
24267 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24269         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
24271         by simplifying ascii-test.
24273 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
24275         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
24277         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
24278           FORM if the bytecode uses the byte-switch instruction. It is
24279           impossible to guess the correct stack depth while inlining such
24280           bytecode, resulting in faulty code.
24282 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
24284         Set Emacs version to 25.2 and update AUTHORS file
24286         * README: Set Emacs version to 25.2.
24287         * etc/HISTORY: Add release log.
24288         * lisp/ldefs-boot.el:
24289         * etc/AUTHORS:
24290         * ChangeLog.2: Update.
24292 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
24294         Don't register "def" as an autoload prefix (Bug#26412)
24296         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
24297         accept "def" as a prefix.
24299 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24301         Use substring completion for Info menus and index
24303         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
24304         (Info-menu): Simplify now that we use the `default' arg of completing-read.
24305         * lisp/minibuffer.el (completion-category-defaults): Use substring
24306         completion for `info-menu`.
24308 2017-04-19  Glenn Morris  <rgm@gnu.org>
24310         Remove some explicit runtime loads of pcase
24312         Pcase is macros, so these should have used eval-when-compile.
24313         Anyway, pcase entry points are autoloaded, so the compiler handles it.
24314         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
24315         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
24316         * lisp/progmodes/xref.el: No need to require pcase.
24318 2017-04-19  Glenn Morris  <rgm@gnu.org>
24320         Stop cl-lib loading pcase at runtime
24322         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
24323         * lisp/emacs-lisp/autoload.el (make-autoload):
24324         Treat pcase-defmacro like defmacro.
24326 2017-04-19  Alan Third  <alan@idiocy.org>
24328         Note frame documentation exceptions for NS builds
24330         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
24331         NS differences.
24333 2017-04-19  Alan Third  <alan@idiocy.org>
24335         Fix bug introduced by my last commit
24337         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
24339 2017-04-19  Alan Third  <alan@idiocy.org>
24341         Add new frame functionality to NS port
24343         * lisp/frame.el (frame-restack): Call ns-frame-restack.
24344         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
24345         MOVE_FRAME_EVENT handling.
24346         * src/frame.h:
24347         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
24348         definitions.
24349         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
24350         x_set_undecorated (Cocoa only) to handler struct.
24351         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
24352         frame parameter.
24353         (Fns_frame_restack): New function.
24354         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
24355         FRAME_TOOLBAR_HEIGHT is no longer a variable.
24356         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
24357         Add #defines to find the screen position of the parent frame.
24358         (NS_TOP_POS): Remove defun.
24359         (EmacsView): Remove redundant toolbar variables and add createToolbar
24360         method.
24361         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
24362         values instead of storing them in a variable.
24363         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
24364         position into account when positioning frames.
24365         (initFrameFromEmacs): Remove toolbar creation code and handle new
24366         frame parameters.
24367         (x_set_window_size): Remove toolbar height calculation.
24368         (x_set_z_group):
24369         (x_set_parent_frame):
24370         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
24371         (x_destroy_window): Detach parent if child closes.
24372         (updateFrameSize): Change NSTRACE message to reflect new reality and
24373         no longer reset frame size.
24374         (windowWillResize): Don’t change NS window name when the titlebar
24375         is invisible.
24376         (createToolbar): Move toolbar creation code into it’s own method.
24377         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
24378         are no longer variables.
24379         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
24381 2017-04-19  Glenn Morris  <rgm@gnu.org>
24383         Tweak bytecomp's loading of cl-extra
24385         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
24386         post-bootstrap emacs where cl-loaddefs does exist.
24388 2017-04-19  Glenn Morris  <rgm@gnu.org>
24390         Avoid unnecessary loading of subr-x at run-time
24392         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
24393         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
24394         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
24395         No need to load subr-x at run-time.
24396         * lisp/gnus/nnheader.el: No need to load subr-x.
24398 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
24400         Use iteration in math-factorial-iter
24402         * lisp/calc/calc-comb.el (math-factorial-iter):
24403         Use iteration instead of recursion to avoid max-specpdl-size problem.
24405 2017-04-18  Glenn Morris  <rgm@gnu.org>
24407         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
24409 2017-04-18  Glenn Morris  <rgm@gnu.org>
24411         Avoid ert test failures
24413         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
24414         Avoid errors related to undefined byte-compile-macro-environment.
24415         Somehow masked until very recently because loading seq (eg)
24416         loads bytecomp.  http://hydra.nixos.org/build/51730765
24418 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
24420         Fix a typo in indexing the user manual
24422         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
24424 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
24426         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
24428         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
24429         Rename from find-library--from-load-path.  Check for `load-history'
24430         entries with nil FILE-NAMEs.  Simplify by not double
24431         checking for suffixes and making use of `locate-file'.
24433 2017-04-18  Alan Third  <alan@idiocy.org>
24434             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24436         Use vfork if possible on Darwin (bug#26397)
24439         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
24440         (vfork): Don't define.
24441         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
24442         set, otherwise vfork.
24443         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
24444         the controlling terminal instead of setsid.
24446 2017-04-18  Fran Litterio  <flitterio@gmail.com>
24448         Small erc-kill-channel fix (bug#23700)
24450         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
24452 2017-04-18  Glenn Morris  <rgm@gnu.org>
24454         ediff: use user-error rather than debug-ignored-errors
24456         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
24457         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
24458         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
24459         (ediff-check-version):
24460         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
24461         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
24462         (ediff-append-custom-diff, ediff-meta-show-patch)
24463         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
24464         (ediff-get-meta-info, ediff-patch-file-form-meta):
24465         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
24466         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
24467         (ediff--check-ancestor-exists, ediff-toggle-read-only)
24468         (ediff-toggle-wide-display, ediff-toggle-multiframe)
24469         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
24470         (ediff-next-difference, ediff-previous-difference)
24471         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
24472         (ediff-save-buffer):
24473         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
24474         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
24475         (ediff-directories-internal, ediff-directory-revisions-internal)
24476         (ediff-regions-wordwise, ediff-regions-linewise)
24477         (ediff-load-version-control): Use user-error.
24478         (debug-ignored-errors): No longer modify.
24480 2017-04-18  Glenn Morris  <rgm@gnu.org>
24482         mh-e: use user-error rather than debug-ignored-errors
24484         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
24485         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
24486         (debug-ignored-errors): No longer modify.
24488 2017-04-18  Glenn Morris  <rgm@gnu.org>
24490         ispell.el: use user-error rather than debug-ignored-errors
24492         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
24493         (debug-ignored-errors): No longer modify.
24495 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24497         * src/xterm.c (x_fill_rectangle): Now static.
24499 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24501         Tighten recently-added UTF-8 check
24503         * src/coding.c (encode_coding_utf_8): Now extern.
24504         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
24505         Check for UTF-8, not just for multibyte.
24507 2017-04-17  David Engster  <deng@randomsample.de>
24509         xml: Properly handle symbol-qnames for attribute parsing
24511         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
24512           xml-ns argument (reverts aea67018) (Bug#26533).
24513           (xml-maybe-do-ns): Properly handle default namespace by not
24514           interning new symbol when 'special' flag is set.
24516         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
24517           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
24519 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24521         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
24523 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
24525         Fix assertion violations when displaying thread-related error
24527         * src/process.c (Faccept_process_output): Don't assume a thread's
24528         name is always a string.
24530 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
24532         dired ‘M’ should not complain about ‘.’ and ‘..’
24534         * lisp/dired-aux.el (dired-do-redisplay):
24535         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
24537 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
24539         Remove unused coding enums
24541         * src/coding.h (enum coding_system_type, enum end_of_line_type):
24542         Remove; unused.
24544 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
24546         Work around bug with unibyte Linux consoles
24548         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
24549         the terminal's coding system is unibyte (Bug#26396).
24551 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
24553         Fix org-agenda's command for calendar-lunar-phases
24555         Function org-agenda-phases-of-moon tries to call a non-existing
24556         function calendar-phases-of-moon. The correct function is
24557         calendar-lunar-phases.
24559 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
24561         Tuning for `separate' Tramp syntax
24563         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
24564         (tramp-completion-file-name-regexp-separate): Simplify.
24566         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
24567         Extend test.
24569 2017-04-16  Alan Mackenzie  <acm@muc.de>
24571         Fix bug #26529: C-h k errors with a lambda function bound to a key.
24573         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
24574         `function' is a symbol before trying to get property `reader-construct' from
24575         it.
24577 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
24579         Fix highlighting of short selectors in CSS mode
24581         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
24582         selectors where the part before a colon is only one character long,
24583         such as `a:hover'.
24585 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
24587         Fix redisplay performance problems with some fonts
24589         * src/font.c (font_list_entities): Revert part of the changes
24590         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
24591         zero_vector in the font-cache is an important indication that
24592         cannot be removed.  (Bug#21028)
24594 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
24596         Add assertion to STRING_SET_CHARS
24598         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
24599         to prevent incorrect usage.  For details, see this discussion:
24600         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
24602 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
24604         Avoid compilation warnings on MS-Windows
24606         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
24607         parentheses around assignment.
24608         * src/w32fns.c (w32_createwindow): Remove unused variable
24609         dwStyle.  Use "|=" where appropriate.
24611 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24613         Merge from gnulib
24615         This incorporates:
24616         2017-04-14 intprops: try to avoid tickling similar bugs
24617         2017-04-14 intprops: port to Oracle Studio 12.3 x86
24618         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
24620 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
24622         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
24624         * lisp/window.el (with-displayed-buffer-window): When a
24625         'window-height' action alist entry specifies a function, call
24626         `temp-buffer-window-show' with a '(window-height . t)' dummy
24627         entry so `window--try-to-split-window' will bind
24628         `window-combination-limit' to t and that function does not
24629         resize any other window but the one we split this one off
24630         (Bug#25055, Bug#25179).
24631         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
24632         we steal space only from windows in the same combination.
24633         Stealing space from other windows would not allow us to return
24634         that space later when this window is deleted (Bug#25055,
24635         Bug#25179).
24637 2017-04-15  Glenn Morris  <rgm@gnu.org>
24639         Avoid userlock queries hanging forever in batch mode
24641         * lisp/userlock.el (ask-user-about-lock)
24642         (ask-user-about-supersession-threat): Abort in batch mode.
24644 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
24646         Fix segfault when calling frame_ancestor_p (Bug#26493)
24648         * src/xterm.c (handle_one_xevent): Check that hf was not reset
24649         before calling frame_ancestor_p (Bug#26493).
24651 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
24653         A few additional copy-edits in documentation of frames
24655         * doc/lispref/frames.texi (Frame Layout)
24656         (Implied Frame Resizing): Windows -> MS-Windows.
24657         (Deleting Frames): Fix typo.
24659 2017-04-14  Glenn Morris  <rgm@gnu.org>
24661         Use user-error for some ert.el errors
24663         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
24664         (ert-results-find-test-at-point-other-window, ert-describe-test):
24665         Use user-error.
24667 2017-04-14  Glenn Morris  <rgm@gnu.org>
24669         Use user-error for customize's "invalid face" error
24671         * lisp/cus-edit.el (customize-face): Use user-error.
24672         (debug-ignored-errors): No more need to add "Invalid face".
24674 2017-04-14  Glenn Morris  <rgm@gnu.org>
24676         Remove duplicate lisp-eval-defun definition
24678         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
24679         Autoload rather than defining a stub.
24681 2017-04-14  Glenn Morris  <rgm@gnu.org>
24683         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
24685 2017-04-14  Glenn Morris  <rgm@gnu.org>
24687         Create generated lisp files before main loaddefs.el
24689         This should improve reproducibility of lisp/loaddefs.el.
24690         * lisp/Makefile.in (gen-lisp): New phony target.
24691         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
24692         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
24693         * lisp/cedet/semantic.el (semantic-mode):
24694         * lisp/cedet/semantic/fw.el (top-level):
24695         * lisp/emacs-lisp/eieio-core.el (top-level):
24696         Robustify to generated input files maybe not yet existing.
24698 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24700         Fix minor quoting issues in Makefile.in
24702         * Makefile.in (install-arch-dep, uninstall):
24703         Quote EMACS and EMACS_NAME more consistently.
24705 2017-04-13  Glenn Morris  <rgm@gnu.org>
24707         * Makefile.in (install-etc): Use existing Makefile variables.
24709 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
24711         Minor copyedits of recent changes in documentation
24713         * doc/lispref/frames.texi (Frame Layout, Frame Position)
24714         (Frame Size, Frame Interaction Parameters, Input Focus)
24715         (Raising and Lowering, Child Frames): Improve wording and indexing.
24716         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
24718 2017-04-13  Glenn Morris  <rgm@gnu.org>
24720         Small src/Makefile simplification
24722         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
24723         ($(lispsource)/term/ns-win.elc): Combine rules.
24725 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
24727         Add grid layout module to CSS property list
24729         * lisp/textmodes/css-mode.el (css-property-alist)
24730         (css-value-class-alist): Add new properties and value classes from CSS
24731         Grid Layout Module.
24733 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
24735         Describe recent frame and window changes in manuals
24737         * doc/emacs/emacs.texi (Top):
24738         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
24739         "outer border" (for the X border which can be set from within
24740         Emacs) and "external border" (for the border which is added by
24741         the window manager).
24742         * doc/lispref/display.texi (Tooltips): Clarify slightly.
24743         * doc/lispref/elisp.texi (Top): Update node and section names.
24744         * doc/lispref/frames.texi (Frames): Describe difference between
24745         top-level and child frames.
24746         (Frame Layout): Describe outer border.  Add more details about
24747         how Emacs obtains the outer size and position of a frame and
24748         about menu bar/tool bar wrapping.  Add references to new frame
24749         parameters.
24750         (Size and Position): Remove subsection.
24751         (Frame Position): New subsection excerpted from the earlier Size
24752         and Position subsection.  Clarify positioning concepts and
24753         some of their shortcomings.  Describe `move-frame-functions'.
24754         (Frame Size): New subsection excerpted from the earlier Size
24755         and Position subsection.  Describe how to track frame size
24756         changes and the new function `frame-size-changed-p'.
24757         (Position Parameters): Describe child frame positioning.  Warn
24758         about negative offsets.  Describe 'z-group' parameter.
24759         (Size Parameters): Describe 'text-pixels' specification
24760         facility and new 'min-width' and 'min-height' parameters.
24761         (Layout Parameters): Clarify description of 'tool-bar-lines' and
24762         'menu-bar-lines' parameters.
24763         (Frame Interaction Parameters): New subsubsection describing
24764         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
24765         'no-other-frame' parameters.
24766         (Management Parameters): Describe 'skip-taskbar',
24767         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
24768         'override-redirect' parameters.
24769         (Deleting Frames): Describe handling of 'delete-before'
24770         parameter and child frames for `delete-frame' and
24771         `delete-other-frames'.
24772         (Finding All Frames): Describe `frame-list-z-order' and handling
24773         of 'no-other-frame' parameter by `next-frame'.
24774         (Minibuffers and Frames): Minor clarifications.
24775         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
24776         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
24777         (Visibility of Frames): Describe mapping and how the visibility
24778         of a parent frame affects that of its child frames.
24779         (Raising and Lowering): Describe restacking of frames and
24780         z-groups.
24781         (Child Frames): New section.
24782         * doc/lispref/windows.texi (Selecting Windows): Describe
24783         additional semantics of NORECORD argument of `select-window' and
24784         how `buffer-list-update-hook' can emulate a "select window
24785         hook".
24786         (Mouse Window Auto-selection): New section.
24788 2017-04-13  Damien Cassou  <damien@cassou.me>
24790         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
24792         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
24793           pairs.
24794         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
24796 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
24798         Avoid unnecessary regeneration of the entire loaddefs.el
24800         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
24801         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
24802         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
24803         loaddefs.tmp before running 'batch-update-autoloads' on it, to
24804         avoid slow regeneration of the full contents.  (Bug#26459)
24805         Use 'move-if-change' instead of 'mv', to avoid producing a new
24806         Emacs binary when not necessary.
24808 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
24810         Handle indentation of nested ternary operators in JS
24812         * lisp/progmodes/js.el (js--looking-at-operator-p):
24813         Handle nested ternary operators.
24815 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
24817         Don't call 'kill-this-buffer' outside of menus
24819         * lisp/simple.el (kill-current-buffer): New function.
24820         (completion-list-mode-map): Use it instead of kill-this-buffer.
24821         * lisp/type-break.el (type-break-mode):
24822         * lisp/term/ns-win.el (global-map):
24823         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
24824         (gdb-disassembly-mode-map, gdb-frames-mode-map)
24825         (gdb-locals-mode-map, gdb-registers-mode-map):
24826         * lisp/org/org-mhe.el (org-mhe-follow-link):
24827         * lisp/net/secrets.el (secrets-mode-map):
24828         * lisp/net/eudc.el (eudc-mode-map):
24829         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
24830         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
24832 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
24834         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
24836 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
24838         New internal-border face and args for select-window and x-focus-frame
24840         Add `internal-border' face and handle it whenever clearing the
24841         internal border.  If NORECORD equals the symbol
24842         'mark-for-redisplay', `select-window' will not record the window
24843         but still mark it for redisplay.  The new argument NOACTIVATE
24844         for `x-focus-frame' tries to not activate FRAME when set.
24846         * lisp/faces.el (internal-border): New face.
24847         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
24848         `mark-for-redisplay'.
24849         * lisp/scroll-bar.el (scroll-bar-drag)
24850         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
24851         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
24852         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
24853         with `mark-for-redisplay'.
24854         * lisp/window.el (handle-select-window): When
24855         `focus-follows-mouse' is not 'auto-raise' try to not activate
24856         FRAME.
24857         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
24858         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
24859         * src/frame.h (x_focus_frame): Update extern declaration.
24860         * src/gtkutil.c (xg_clear_under_internal_border): Remove
24861         function.
24862         (xg_frame_resized, xg_frame_set_char_size): Call
24863         x_clear_under_internal_border.
24864         (xg_tool_bar_callback): Adapt x_focus_frame call.
24865         * src/gtkutil.h (xg_clear_under_internal_border): Remove
24866         declaration.
24867         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
24868         * src/w32fns.c (x_clear_under_internal_border): Fill border
24869         with internal-border background if specified.
24870         * src/w32term.h (x_clear_under_internal_border): Add extern
24871         declaration.
24872         * src/w32term.c (x_after_update_window_line): Fill border
24873         with internal-border background if specified.
24874         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
24875         (x_scroll_bar_clear, w32_read_socket): Call
24876         x_clear_under_internal_border.
24877         (x_focus_frame): New argument NOACTIVATE.
24878         * src/window.c (select_window): Mark WINDOW for redisplay when
24879         NORECORD equals 'mark-for-redisplay'.
24880         (Fselect_window): Update doc-string.
24881         (syms_of_window): Define Qmark_for_redisplay.
24882         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
24883         (redisplay_internal): Call x_clear_under_internal_border.
24884         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
24885         and `internal-border' faces.
24886         (realize_basic_faces): Realize `internal-border' face.
24887         (syms_of_xfaces): Define Qinternal_border.
24888         * src/xfns.c (x_set_internal_border_width): Remove call for
24889         xg_clear_under_internal_border.
24890         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
24891         activate frame.
24892         * src/xterm.c (x_fill_rectangle): No more static.
24893         (x_clear_under_internal_border, x_after_update_window_line):
24894         Fill border with internal-border background if specified.
24895         (xt_horizontal_action_hook): Rewrite.
24896         (handle_one_xevent): Call x_clear_under_internal_border.
24897         * src/xterm.h (x_fill_rectangle): Add extern declaration.
24899 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24901         Port recent frame changes to --enable-gcc-warnings
24903         * src/frame.c (next_frame, prev_frame):
24904         Remove now-redundant assertions.
24905         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
24907 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
24909         Scroll right and left using wheel-right and wheel-left.
24911         These changes also make use of touchpad and trackpad (Bug#26347).
24913         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
24914         scrolling using the mouse wheel.
24916         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
24917         (mwheel-tilt-scroll-p, mwheel-flip-direction)
24918         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
24919         defcustoms.
24920         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
24921         events that calls wheel-left/right.
24923         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
24925 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
24927         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
24929 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
24931         Add new frame parameters and associated functions
24933         Add new frame parameters `undecorated', `override-redirect',
24934         `parent-frame', `skip-taskbar', `no-focus-on-map',
24935         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
24936         `mouse-wheel-frame', `min-width', `min-height'.  Add new
24937         functions `frame-restack' and `frame-list-z-order'.
24939         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
24940         type.
24941         * lisp/frame.el (handle-delete-frame): Handle child and
24942         `delete-before' frames.
24943         (other-frame): Stop looking for other frame after one round.
24944         (frame-list-z-order, frame-restack): New functions.
24945         (delete-other-frames): Handle child frames.
24946         * lisp/frameset.el (frameset-persistent-filter-alist)
24947         (frameset--record-relationships): Handle `delete-before',
24948         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
24949         latter from `frameset--record-minibuffer-relationships'.
24950         (frameset--restore-frame): Handle ‘parent-frame’ parameter
24951         specially.
24952         (frameset-restore): Handle `delete-before', `parent-frame' and
24953         `mouse-wheel-frame' parameters.
24954         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
24955         parameter.
24956         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
24957         (mouse-autoselect-window-select, handle-select-window): Major
24958         rewrite.  Try to not ignore errors.  Handle auto-selection of
24959         child frames and different values of `focus-follows-mouse'.
24960         * src/frame.c (frame_windows_min_size): Handle new `min-width'
24961         and `min-height' frame parameters.
24962         (make_frame): Initialize new frame structure members.
24963         (do_switch_frame): Don't reset internal_last_event_frame for
24964         descendant frames.
24965         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
24966         functions.
24967         (candidate_frame): Don't return `no-other-frame' frame.
24968         (other_frames): New function replacing other_visible_frames.
24969         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
24970         (Fmake_frame_invisible): Call other_frames.
24971         (store_frame_param): Check `delete-before' and `parent-frame'
24972         parameters for circular dependencies.
24973         (frame_parms, syms_of_frame): Add entries for and define new
24974         frame parameters.
24975         (focus_follows_mouse): New meaningful value `auto-raise'.
24976         * src/frame.h (z_group): New enumeration type.
24977         (frame): New slots parent_frame, undecorated, override_redirect,
24978         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
24979         (fset_parent_frame): New inlined function.
24980         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
24981         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
24982         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
24983         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
24984         (FRAME_Z_GROUP_BELOW): New macros.
24985         (frame_ancestor_p): Add declaration.
24986         * src/gtkutil.c (xg_create_frame_widgets): Handle
24987         `undecorated' and `override-redirect' frame parameters.
24988         (x_wm_set_size_hint): None for child frames.
24989         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
24990         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
24991         (xg_set_override_redirect): New functions.
24992         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
24993         Don't let scrollbars obscure child frames.
24994         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
24995         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
24996         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
24997         declarations.
24998         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
24999         frame parameters.
25000         (Fx_create_frame): Install `min-width' and `min-height' frame
25001         parameters.
25002         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
25003         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
25004         (x_real_positions): Handle child frames.
25005         (x_set_menu_bar_lines): Don't for child frames.
25006         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
25007         (x_set_no_focus_on_map, x_set_no_accept_focus)
25008         (x_set_z_group): New functions.
25009         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
25010         scroll bars over child frames.
25011         (w32_createwindow): Handle new frame parameters and child frames.
25012         (w32_wnd_proc): Let mouse clicks into a child frame activate
25013         the frame.  Try to handle the `no-accept-focus' parameter.  Do
25014         SetFocus when our window is brought to top or becomes the
25015         foreground window.
25016         (w32_window): Don't initialize menu bar for child frames.
25017         (Fx_create_frame): Handle new frame parameters.
25018         (x_create_tip_frame): Set explicit_parent slot.
25019         (w32_dialog_in_progress): New function.
25020         (Fx_file_dialog): Handle `z-group-above' frames.
25021         (w32_frame_list_z_order, Fw32_frame_list_z_order)
25022         (w32_frame_restack, Fw32_frame_restack): New functions.
25023         (w32_frame_parm_handlers): Add entries for new frame
25024         parameters.
25025         * src/w32font.c (Fx_select_font): Handle `z-group-above'
25026         frames during font selection dialogue.
25027         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
25028         event from F's w32 window.
25029         (w32_mouse_position): Handle child frames.
25030         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
25031         Don't draw scroll bars over child frames.
25032         (w32_read_socket): Always erase background of child frames.
25033         When generating SELECT_WINDOW_EVENTs handle new value of
25034         `focus-follows-mouse' and handle `no-accept-focus' parameter.
25035         Handle `mouse-wheel-frame' parameter.
25036         (x_calc_absolute_position, x_set_offset, x_set_window_size):
25037         Handle child frames.
25038         (x_make_frame_visible): Handle child frames specially.  Handle
25039         `no-focus-on-map' parameter.
25040         * src/w32term.h (w32_dialog_in_progress): Add external
25041         declaration.
25042         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
25043         for child frames.
25044         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
25045         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
25046         non-Motif, non-GTK case.
25047         (x_real_pos_and_offsets): Handle child frames.
25048         (x_set_undecorated, x_set_parent_frame)
25049         (x_set_no_focus_on_map, x_set_no_accept_focus)
25050         (x_set_override_redirect): New functions.
25051         (x_set_menu_bar_lines): Not for child frames.
25052         (x_window): Handle `undecorated' and `override_redirect' cases.
25053         (Fx_create_frame): Handle new frame parameters.
25054         (frame_geometry): Handle child frames and outer border.
25055         (x_frame_list_z_order, Fx_frame_list_z_order)
25056         (x_frame_restack, Fx_frame_restack): New functions.
25057         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
25058         (x_frame_parm_handlers): Add entries for new frame parameters.
25059         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
25060         frames.
25061         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
25062         for child frames.
25063         (XTmouse_position): Handle child frames.
25064         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
25065         bars obscure child frames.
25066         (handle_one_xevent): Handle child frame positions.  If necessary
25067         set `skip-taskbar' and reassign proper `z-group' when we are
25068         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
25069         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
25070         Let mouse clicks into a child frame activate the frame.
25071         (x_calc_absolute_position, x_set_offset): Handle child frames
25072         specially.
25073         (x_set_skip_taskbar, x_set_z_group): New functions.
25074         (x_make_frame_visible): Handle child frames.
25075         (ATOM_REFS_INIT): Add entries for
25076         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
25077         Xatom_net_wm_state_below.
25078         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
25079         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
25080         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
25082 2017-04-11  Glenn Morris  <rgm@gnu.org>
25084         Update a package test for hydra
25086         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
25087         Also bind package-gnupghome-dir, see eg
25088         http://hydra.nixos.org/build/51462182 .
25090 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
25092         Frame movement, focus and hook related changes
25094         New hook `move-frame-functions'.  Run `focus-in-hook'
25095         after switching to frame that gets focus.  Don't run
25096         XMoveWindow for GTK.
25098         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
25099         functions.
25101         * src/frame.c (do_switch_frame): Simplify code.
25102         (Fhandle_switch_frame): Switch frame before running
25103         `handle-focus-in'.
25104         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
25105         (Vmove_frame_functions): New hook variable.
25106         * src/keyboard.c (kbd_buffer_get_event): Handle
25107         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
25108         (head_table): Add Qmove_frame entry.
25109         (syms_of_keyboard): Add Qmove_frame.
25110         (keys_of_keyboard): Define key for `move-frame'.
25111         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
25112         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
25113         * src/window.c (run_window_size_change_functions): Record size of
25114         FRAME's minibuffer window too.
25115         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
25116         (x_set_offset): For GTK call gtk_widget_move instead of
25117         XMoveWindow.
25119 2017-04-11  Werner LEMBERG  <wl@gnu.org>
25121         Avoid abort in ftfont.c due to faulty fonts
25123         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
25124         hinting, before aborting.  (Bug#25945)
25126 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
25128         Document 'line-pixel-height'
25130         * doc/lispref/display.texi (Size of Displayed Text): Document
25131         line-pixel-height.  Suggested by Tak Kunihiro
25132         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
25134 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
25136         Introduce customizable variable 'package-gnupghome-dir'
25138         * lisp/emacs-lisp/package.el (package-import-keyring)
25139         (package--check-signature-content, package-check-signature):
25140         Use new variable package-gnupghome-dir to control which GnuPG
25141         homedir to use.
25142         * doc/emacs/package.texi: Mention package-gnupghome-dir.
25143         * etc/NEWS: Mention package-gnupghome-dir.
25145 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
25147         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
25149         This activates a change that was installed a few weeks ago but whose
25150         ChangeLog was inadvertently dropped during its commit.  The proper
25151         ChangeLog is included below as part of the present commit.
25153         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
25154         is set avoid calling x_gtk_parse_geometry (Bug#25851).
25155         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
25156         PPosition, USPosition and USSize flags if requested.
25157         * src/xterm.c (x_set_offset): With GTK when
25158         x_gtk_use_window_move is set, leave it entirely to
25159         gtk_window_move to position the window and skip any
25160         post-adjustments (Bug#25851 and Bug#25943).
25161         (x_gtk_use_window_move): New variable.
25163 2017-04-10  Alan Mackenzie  <acm@muc.de>
25165         Fix a loop in C Mode caused by inadequate analysis of comments.
25167         After M-;, and the insertion of the opening "/*", the CC Mode after-change
25168         function got confused, since the new comment opener matched the end of a
25169         subsequent comment, but moving back over that comment did not come back to the
25170         starting point.  Fix this.
25172         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
25173         point is left if no end-of-macro is found before it.
25174         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
25175         non-nil except where we have an unclosed block comment at the end of a macro.
25176         This enables us to populate the cache more fully, at the cost of some run
25177         time.
25179 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
25181         Add PVSIZE function to return the size of a pseudovector.
25183         * src/lisp.h (PVSIZE): New function.
25185         * src/chartab.c (copy_char_table):
25186         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
25187         * src/doc.c (Fdocumentation, store_function_docstring):
25188         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
25189         * src/fns.c (Flength, Fcopy_sequence):
25190         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
25191         * src/lread.c (substitute_object_recurse):
25192         * src/print.c (print_object):
25193           Use it.
25195 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
25197         Add Tramp tests
25199         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
25201         * test/lisp/net/tramp-tests.el
25202         (tramp-test01-file-name-syntax-simplified)
25203         (tramp-test01-file-name-syntax-separate)
25204         (tramp-test02-file-name-dissect-simplified)
25205         (tramp-test02-file-name-dissect-separate): New tests.
25207 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
25209         Make sure that `shell' makes BUFFER current
25211         * lisp/shell.el (shell): Restrict scope of recently added
25212         `with-current-buffer' to make sure that BUFFER is current when
25213         `shell' returns.
25215 2017-04-10  Jim Blandy  <jimb@red-bean.com>
25217         Default to PCRE syntax when reading .hgignore
25219         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
25220         Default to the PCRE syntax (bug#26249).
25222 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
25224         Document Tramp changes
25226         * doc/misc/tramp.texi (Change file name syntax): New node.
25228         * etc/NEWS: Mention `tramp-change-syntax'.
25230         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
25231         External packages uses it.
25232         (tramp-syntax): Set also `tramp-file-name-regexp'.
25234 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
25236         Merge from gnulib (Bug#26398)
25238         This incorporates:
25239         2017-04-08 getopt: prefer - to _ in new file names
25240         2017-04-08 getopt: port recent getopt changes to macOS
25241         * .gitignore: Add lib/getopt-cdefs.h.
25242         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25243         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25244         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25245         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25246         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25247         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
25248         Copy from Gnulib.
25249         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25251 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
25253         Write updated loaddefs to a temporary file and rename into place.
25255         In a parallel build, byte compilation can be running at the same times
25256         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
25257         loaddefs.el is read at startup and must always be in a usable state.
25259         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
25260         loaddefs.el.new and then rename it to loaddefs.el.
25262 2017-04-09  Glenn Morris  <rgm@gnu.org>
25264         In the manual, mention pops and imaps
25266         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
25267         Mention pops and imaps protocols.
25269 2017-04-09  Glenn Morris  <rgm@gnu.org>
25271         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
25273 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
25275         Fix rmail handling of movemail protocols (bug#18278)
25277         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
25278         (rmail-parse-url): Return protocol in second list element.
25279         Only use passwords with remote mailboxes.
25280         (rmail-insert-inbox-text): Handle non-simple local
25281         mailboxes (maildir, MH, etc.).
25283 2017-04-09  Glenn Morris  <rgm@gnu.org>
25285         Fix typos in manual re movemail local mailboxes
25287         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
25288         Fix examples of local mailbox urls.
25290 2017-04-08  Glenn Morris  <rgm@gnu.org>
25292         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
25294 2017-04-08  Glenn Morris  <rgm@gnu.org>
25296         Remove references to OS/2 in code, doc, and comments
25298         * lisp/gnus/nnheader.el (nnheader-read-timeout)
25299         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
25300         * lisp/emulation/viper-util.el (viper-color-defined-p):
25301         * lisp/net/pop3.el (pop3-read-timeout):
25302         * lisp/net/imap.el (imap-read-timeout):
25303         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
25304         * lisp/emulation/viper-ex.el (viper-glob-function):
25305         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
25306         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
25307         * doc/emacs/msdos-xtra.texi (MS-DOS):
25308         * doc/misc/gnus.texi (Various Various):
25309         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
25311 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
25313         Tune Tramp syntax
25315         * lisp/net/tramp-cmds.el (tramp-change-syntax):
25316         Use `tramp-syntax-values'.
25318         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
25320         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
25321         (tramp-syntax-values): New defun.
25322         (tramp-prefix-format, tramp-method-regexp)
25323         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
25324         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
25325         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
25326         and changed values.
25327         (tramp-completion-file-name-regexp-default): Rename from
25328         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
25329         (tramp-completion-file-name-regexp-simplified): Rename from
25330         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
25331         (tramp-initial-completion-file-name-regexp):
25332         Use `tramp-completion-file-name-regexp-default'.
25333         (tramp-run-real-handler): Do not autoload any longer.
25335 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25337         Replace more nested ifs with cond
25339         This is a continuation of d526047 "Replace more nested ifs with cond".
25340         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
25341         when and cond where appropriate.
25343 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25345         Adjust the edebug spec of if-let*
25347         This was fixed in Bug#24748, but now looking more closely, using gate in
25348         the spec seems correct.  See (info "(elisp) Backtracking").
25349         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
25351 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
25353         Replace some uses of cl-member-if with apply
25355         From the mhtml-mode series.  Some of the uses of cl-lib are not
25356         necessary.
25357         * lisp/align.el: Don't require cl-lib.
25358         (align-region): Use apply instead of cl-member-if.
25359         * lisp/emulation/viper.el: Don't require cl-lib.
25360         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
25361         cl-member-if.
25363 2017-04-08  Philipp Stephani  <phst@google.com>
25365         Validate SPEC of `dolist', cf. Bug#25477.
25367         * lisp/subr.el (dolist): Test type and length of SPEC.
25368         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
25369         Add unit test.
25371 2017-04-08  Philipp Stephani  <phst@google.com>
25373         Add unit test for Bug#26378
25375         * test/lisp/vc/ediff-diff-tests.el
25376         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
25378 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
25380         Fix circular read syntax for records.
25382         * src/lread.c (substitute_object_recurse): Work with records.
25384         * test/src/lread-tests.el (lread-record-1): New test.
25386 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25388         Deprecate copy-record in favor of copy-sequence
25390         Since copy-sequence seems to be needed anyway for records, have it
25391         work on records, and remove copy-record as being superfluous.
25392         * doc/lispref/records.texi (Records, Record Functions):
25393         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
25394         * lisp/emacs-lisp/eieio.el (make-instance, clone):
25395         * test/src/alloc-tests.el (record-3):
25396         Use copy-sequence, not copy-record, to copy records.
25397         * doc/lispref/sequences.texi (Sequence Functions)
25398         (Array Functions): Document that aref and copy-sequence
25399         work on records.
25400         * etc/NEWS: Omit copy-record.
25401         * src/alloc.c (Fcopy_record): Remove.
25402         * src/data.c (Faref): Document that arg can be a record.
25403         * src/fns.c (Fcopy_sequence): Copy records, too.
25405 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25407         Fix dependency checking in src/Makefile.in
25409         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
25410         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
25411         Otherwise, some dependencies will be missed.
25413 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25415         Minor tuneup of write-region change
25417         * src/fileio.c (write_region): Use SCHARS, not Flength,
25418         on a value known to be a string.
25420 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
25422         Adjust write-region so file name is at the beginning again
25424         * lisp/epa-file.el (epa-file-write-region):
25425         * lisp/gnus/mm-util.el (mm-append-to-file):
25426         * lisp/jka-compr.el (jka-compr-write-region):
25427         * lisp/net/ange-ftp.el (ange-ftp-write-region):
25428         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
25429         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
25430         * src/fileio.c (write_region): Put file name at the beginning and move
25431         number of characters to the end of the message.
25433 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
25435         Check that file argument is a string
25437         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
25438           passed to `file-local-copy' is a string (Bug#26378).  Also fix
25439           the existing comment for this function, and convert it to its
25440           doc-string.
25442 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
25444         Fix handling of non-integer START param to write-region
25446         The previous patch for Bug#354 incorrectly assumed that START would
25447         always be an integer.
25449         * lisp/epa-file.el (epa-file-write-region):
25450         * lisp/jka-compr.el (jka-compr-write-region):
25451         * lisp/net/ange-ftp.el (ange-ftp-write-region):
25452         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
25453         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
25454         * src/fileio.c (write_region): Handle nil and string values of START.
25456 2017-04-07  Glenn Morris  <rgm@gnu.org>
25458         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
25460 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
25462         Add Tramp versions to `customize-package-emacs-version-alist'
25464         * lisp/net/trampver.el (customize-package-emacs-version-alist):
25465         Add Tramp versions to `customize-package-emacs-version-alist'.
25467 2017-04-07  Tom Tromey  <tom@tromey.com>
25469         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
25471 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
25473         * doc/lispref/records.texi (Record Functions): fix typo.
25475 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25477         More casefiddle minor fixes
25479         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
25480         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
25481         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
25483 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
25485         Output number of characters added to file (Bug#354)
25487         * src/fileio.c (write_region):
25488         * lisp/epa-file.el (epa-file-write-region):
25489         * lisp/jka-compr.el (jka-compr-write-region):
25490         * lisp/net/ange-ftp.el (ange-ftp-write-region):
25491         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
25492         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
25493         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
25494         characters written in addition to file name.
25495         * doc/lispref/files.texi: Added documentation to write-region and
25496         append-to-file describing their output.
25498 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
25500         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
25502         The recent changes to src/casefiddle.c cause build failure as seen
25503         below:
25505             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
25506                 --batch --load loadup bootstrap
25507             [Thread debugging using libthread_db enabled]
25508             Using host libthread_db library "/usr/lib/libthread_db.so.1".
25509             Loading loadup.el (source)...
25510             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
25511                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
25512                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
25513                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
25514                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
25515                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
25516             Loading emacs-lisp/byte-run (source)...
25517             Loading emacs-lisp/backquote (source)...
25518             Loading subr (source)...
25519             Loading version (source)...
25520             Loading widget (source)...
25521             Loading custom (source)...
25522             Loading emacs-lisp/map-ynp (source)...
25523             Loading international/mule (source)...
25524             Loading international/mule-conf (source)...
25526             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
25528             Breakpoint 1, terminate_due_to_signal at emacs.c:363
25529             363   signal (sig, SIG_DFL);
25530             (gdb) bt
25531             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
25532             #1  0x000000000060ec33 in die at alloc.c:7352
25533             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
25534             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
25535             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
25536             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
25537             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
25538             #7  0x00000000006325ac in eval_sub at eval.c:2219
25539             #8  0x0000000000632368 in eval_sub at eval.c:2184
25540             #9  0x000000000063446c in apply_lambda at eval.c:2875
25541             #10 0x00000000006329af in eval_sub at eval.c:2294
25542             #11 0x000000000062d462 in Fprogn at eval.c:449
25543             #12 0x000000000062d4cf in prog_ignore at eval.c:461
25544             #13 0x000000000062f19c in Fwhile at eval.c:982
25545             #14 0x00000000006321f4 in eval_sub at eval.c:2172
25546             #15 0x000000000062d462 in Fprogn at eval.c:449
25547             #16 0x000000000062f0c4 in Flet at eval.c:963
25548             #17 0x00000000006321f4 in eval_sub at eval.c:2172
25549             #18 0x0000000000632963 in eval_sub at eval.c:2290
25550             #19 0x000000000062d462 in Fprogn at eval.c:449
25551             #20 0x000000000062f0c4 in Flet at eval.c:963
25552             #21 0x00000000006321f4 in eval_sub at eval.c:2172
25553             #22 0x0000000000668caa in readevalloop at lread.c:1927
25554             #23 0x0000000000667253 in Fload at lread.c:1332
25555             #24 0x0000000000632683 in eval_sub at eval.c:2233
25556             #25 0x0000000000668caa in readevalloop at lread.c:1927
25557             #26 0x0000000000667253 in Fload at lread.c:1332
25558             #27 0x0000000000632683 in eval_sub at eval.c:2233
25559             #28 0x0000000000631be5 in Feval at eval.c:2041
25560             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
25561             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
25562             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
25563             #32 0x000000000062f51e in internal_catch at eval.c:1091
25564             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
25565             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
25566             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
25567             #36 0x000000000057b55b in main at emacs.c:1687
25569             Lisp Backtrace:
25570             "capitalize" (0xffffcf70)
25571             "format" (0xffffd130)
25572             "define-charset" (0xffffd370)
25573             "while" (0xffffd560)
25574             "let" (0xffffd7c0)
25575             "dolist" (0xffffd910)
25576             "let" (0xffffdb70)
25577             "load" (0xffffdfe0)
25578             "load" (0xffffe4a0)
25580         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
25581         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
25582         Qspecial_titlecase.
25583         (prepare_casing_context): Use aforementioned symbols.
25585 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25587         Merge from gnulib
25589         This merges some getopt fixes from Zack Weinberg, and affects only
25590         non-GNUish platforms.  It incorporates:
25591         2017-04-06 getopt-gnu: omit some duplicate code
25592         2017-04-06 getopt-posix: use angle-bracket include
25593         2017-04-06 getopt: annotate files with relationship to glibc
25594         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
25595         2017-04-06 getopt: better handling of ambiguous options
25596         2017-04-06 getopt: refactor long-option handling
25597         2017-04-06 getopt: tidy up _getopt_initialize a bit
25598         2017-04-06 getopt: merge from glibc: repetition reduction
25599         2017-04-06 getopt: clean up error reporting
25600         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
25601         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
25602         2017-04-06 getopt: harmonize comments with glibc
25603         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
25604         2017-04-06 getopt: tabify, in preparation for merge with glibc
25605         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
25606         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
25607         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
25608         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
25609         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
25610         Copy from gnulib.
25611         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
25612         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
25613         New files, taken from gnulib.
25614         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
25615         Regenerate.
25617 2017-04-07  Hong Xu  <hong@topbug.net>
25619         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
25620         doc (Bug#25193).
25622 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
25624         Mention that processes start in default-directory (Bug#18515)
25626         * doc/lispref/processes.texi (Synchronous Processes):
25627         (Asynchronous Processes):
25628         * lisp/subr.el (start-process):
25629         * src/callproc.c (call-process): Mention that the subprocess starts in
25630         `default-directory' when local, suggest `start-file-process' and
25631         `process-file' otherwise.
25633 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
25635         * src/xdisp.c (vmessage, message): Clarify commentary.
25637 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25639         Minor casefiddle.c cleanups
25641         * src/casefiddle.c: Redo recent changes to match GNU style,
25642         and prefer C99-style decls within blocks.
25643         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
25644         we are merely using the Unicode name, and make it a constant
25645         rather than a macro.  All uses changed.
25646         (SMALL_SIGMA): Remove; unused.
25647         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
25648         and make it a constant rather than a macro.  All uses changed.
25649         (do_casify_multibyte_string): Use ‘verify’ rather than an
25650         unportable static_assertion local.
25652 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25654         * lisp/international/README: Update to match current list.
25656 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
25658         Fix 'make clean' in lib subdirectory
25660         * lib/Makefile.in (clean): Remove *-t files.
25661         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
25662         This removes files like lib/getopt.h that should be removed
25663         even if this configuration did not need to build them.
25664         (maintainer-clean): Remove TAGS here, not in distclean,
25665         to be consistent with ../src/Makefile.in.
25667 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
25669         Add new Tramp syntax
25671         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
25673         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
25674         Add :set function.
25675         (tramp-prefix-port-format): Simplify.
25676         (tramp-file-name-regexp-separate): Remove.
25677         (tramp-initial-file-name-regexp)
25678         (tramp-completion-file-name-regexp-old-style)
25679         (tramp-initial-completion-file-name-regexp): New defconst.
25680         (tramp-prefix-format, tramp-prefix-regexp)
25681         (tramp-method-regexp, tramp-postfix-method-format)
25682         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
25683         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
25684         (tramp-postfix-ipv6-regexp)
25685         (tramp-postfix-host-format, tramp-postfix-host-regexp)
25686         (tramp-remote-file-name-spec-regexp)
25687         (tramp-file-name-structure, tramp-file-name-regexp)
25688         (tramp-completion-file-name-regexp)
25689         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
25690         (tramp-tramp-file-p, tramp-find-method)
25691         (tramp-dissect-file-name, tramp-make-tramp-file-name)
25692         (tramp-completion-make-tramp-file-name)
25693         (tramp-rfn-eshadow-update-overlay)
25694         (tramp-register-autoload-file-name-handlers)
25695         (tramp-register-file-name-handlers)
25696         (tramp-unload-file-name-handlers)
25697         (tramp-completion-handle-file-name-all-completions)
25698         (tramp-completion-dissect-file-name, tramp-clear-passwd):
25699         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
25700         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
25701         (tramp-compute-multi-hops): Use them.
25703 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25705         Implement special sigma casing rule  (bug#24603)
25707         In Greek, a sigma character has two lower case forms which depend on
25708         their position in the word.  Implement logic determining it.
25710         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
25711         assume inword is true when flag is CASE_UP and false when flag is
25712         CASE_DOWN.  For final sigma detection we need this information tracked
25713         reliably;.
25714         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
25715         Unicode code point of different forms of sigma letter.
25716         (case_character): Implement support for final sigma casing.
25717         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
25718         changes to case_character.
25720         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
25721         cases for final sigma.
25723 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25725         Support casing characters which map into multiple code points  (bug#24603)
25727         Implement unconditional special casing rules defined in Unicode standard.
25729         Among other things, they deal with cases when a single code point is
25730         replaced by multiple ones because single character does not exist (e.g.
25731         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
25732         into SS).
25734         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
25735         standard distribution.
25736         * admin/unidata/README: Mention SpecialCasing.txt.
25738         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
25739         unidata-gen-table-special-casing--do-load): New functions generating
25740         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
25741         character Unicode properties built from the SpecialCasing.txt Unicode
25742         data file.
25744         * src/casefiddle.c (struct casing_str_buf): New structure for
25745         representing short strings used to handle one-to-many character
25746         mappings.
25748         (case_character_imlp): New function which can handle one-to-many
25749         character mappings.
25750         (case_character, case_single_character): Wrappers for the above
25751         functions.  The former may map one character to multiple (or no)
25752         code points while the latter does what the former used to do (i.e.
25753         handles one-to-one mappings only).
25755         (do_casify_natnum, do_casify_unibyte_string,
25756         do_casify_unibyte_region): Use case_single_character.
25757         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
25758         features of case_character.
25759         * (do_casify_region): Updated to reflact do_casify_multibyte_string
25760         changes.
25762         (casify_word): Handle situation when one character-length of a word
25763         can change affecting where end of the word is.
25765         (upcase, capitalize, upcase-initials): Update documentation to mention
25766         limitations when working on characters.
25768         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
25769         Add test cases for the newly introduced character properties.
25770         (casefiddle-tests-casing): Update test cases which are now passing.
25772         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
25773         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
25774         and ‘downcase’.
25775         (char-fold--test-match-exactly): Use the new functions.  This is needed
25776         because otherwise fi and similar characters are turned into their multi-
25777         -character representation.
25779         * doc/lispref/strings.texi: Describe issue with casing characters versus
25780         strings.
25781         * doc/lispref/nonascii.texi: Describe the new character properties.
25783 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25785         Split up casify_region function  (bug#24603)
25787         No functional changes at this time but splitting casify_region into
25788         a function dealing with multibyte and another dealing with unibyte
25789         buffers will make future code changes slightly easier.
25791         * src/casefiddle.c (casify_region): Move most of the code into two
25792         new functions:
25793         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
25795 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25797         Add support for title-casing letters  (bug#24603)
25799         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
25800         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
25801         property table if capitalization has been requested.
25802         (case_character): Make use of the titlecase_char_table to title-case
25803         initial characters when capitalising.
25805         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
25806         casefiddle-tests-casing): Update test cases which are now passing.
25808 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25810         Introduce case_character function
25812         Move single-character casing logic into a separate function so that
25813         it is collected in a single place.  This will make future changes to
25814         the logic easier.  This commit introduces no functionality changes.
25816         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
25817         structure for saving casing context and function to initialize it.
25818         (case_character): New function which cases character base on provided
25819         context.
25820         (do_casify_integer, do_casify_multibyte_string,
25821         do_casify_unibyte_string, casify_object, casify_region): Convert to
25822         use casing_context and case_character.
25824 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
25826         Split casify_object into multiple functions
25828         casify_object had three major cases to cover and those were mostly
25829         independent of each other.  Move those branches to separate function
25830         so it’s easier to comprehend each individual case.
25832         While at it, use somewhat more descriptive ch and cased variable names
25833         rather than c and c1.
25835         This commit introduces no functional changes.
25837         * src/casefiddle.c (casify_object): Split into…
25838         (do_casify_integer, do_casify_multibyte_string,
25839         do_casify_unibyte_string): …new functions.
25841 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
25843         Update documentation for type semantics of records.
25845         * doc/lispref/objects.texi (Record Type): improve description of what
25846         `type-of' returns for records.
25847         (Type Descriptors): new section.
25848         * doc/lispref/elisp.texi: reference it.
25849         * doc/lispref/records.texi (Records): reference it.  Document
25850         behavior when type slot is a record.
25852         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
25854 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25856         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
25858 2017-04-06  Tom Tromey  <tom@tromey.com>
25860         require cl-lib to fix fallout from mhtml series
25862         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
25863         lisp/emulation/viper.el: Require cl-lib.
25865 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25867         In CANNOT_DUMP builds, allow editing of files named "dump".
25869         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
25870         calling dump-emacs only if dump-emacs is defined; otherwise, don't
25871         treat those command-line argument specially.
25873 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25875         In CANNOT_DUMP builds, don't prepare for unexec.
25877         Having a command-line argument of "dump" or "bootstrap" would trigger
25878         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
25879         we should get signal handlers installed regardless of whatever funny
25880         file names we decide to edit.
25882         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
25883         alterations to initialization that prepares the process for unexec.
25885 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25887         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
25889         During a bootstrap, loading rmail.el invokes movemail to determine its
25890         flavor, but call-process doesn't work if exec-path is nil.
25892         * lisp/loadup.el: Only clear exec-path if dumping.
25894 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
25896         Fix CANNOT_DUMP build on Darwin/macOS.
25898         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
25899         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
25900         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
25902 2017-04-05  Tom Tromey  <tom@tromey.com>
25904         add two more mhtml tests
25906         * test/manual/indent/html-multi-2.html: New file.
25907         * test/manual/indent/html-multi-3.html: New file.
25909 2017-04-05  Tom Tromey  <tom@tromey.com>
25911         enable mhtml-mode by default
25913         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
25914         html-mode.
25915         (magic-fallback-mode-alist): Likewise.
25916         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
25918 2017-04-05  Tom Tromey  <tom@tromey.com>
25920         add mhtml-mode.el
25922         * etc/NEWS: Update.
25923         * lisp/textmodes/mhtml-mode.el: New file.
25924         * test/manual/indent/html-multi.html: New file.
25925         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
25926         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
25928 2017-04-05  Tom Tromey  <tom@tromey.com>
25930         change sgml-mode to help multi-html mode
25932         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
25933         defconst.
25934         (sgml-syntax-propertize): Use it.
25935         (sgml--find-<>-backward): New function.
25936         (sgml-parse-tag-backward): Use it.
25938 2017-04-05  Tom Tromey  <tom@tromey.com>
25940         make js.el respect prog-first-column
25942         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
25944 2017-04-05  Tom Tromey  <tom@tromey.com>
25946         make smie.el respect prog-first-column
25948         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
25950 2017-04-05  Tom Tromey  <tom@tromey.com>
25952         change viper to use derived-mode-p
25954         * lisp/subr.el (provided-mode-derived-p): New function.
25955         (derived-mode-p): Use it.
25956         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
25957         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
25958         (set-viper-state-in-major-mode): Use derived-mode-p.
25960 2017-04-05  Tom Tromey  <tom@tromey.com>
25962         change align to use derived-mode-p
25964         * lisp/align.el (align-region): Use derived-mode-p.
25966 2017-04-05  Tom Tromey  <tom@tromey.com>
25968         change org to use derived-mode-p
25970         * lisp/org/org-list.el (org-list-insert-radio-list): Use
25971         derived-mode-p.
25972         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
25973         derived-mode-p.
25975 2017-04-05  Tom Tromey  <tom@tromey.com>
25977         change semantic to use derived-mode-p
25979         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
25981 2017-04-05  Tom Tromey  <tom@tromey.com>
25983         change calc to use derived-mode-p
25985         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
25986         (calc-embedded-make-info): Use derived-mode-p.
25988 2017-04-05  Tom Tromey  <tom@tromey.com>
25990         change auto-insert to use derived-mode-p
25992         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
25994 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
25996         * lisp/info.el (Info-search): Fix typo in April 1 change.
25998 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
26000         Minor cleanups related to type-of
26002         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
26003         * src/data.c (syms_of_data):
26004         * src/frame.c (syms_of_frame): Put all the primitive type names
26005         together, under the "Types that type-of returns" comment.
26007 2017-04-05  Glenn Morris  <rgm@gnu.org>
26009         * doc/lispref/package.texi (Package Archives): Mention https.
26011 2017-04-05  Glenn Morris  <rgm@gnu.org>
26013         Advertise https for homepage of gnu.org packages
26015         * lisp/emacs-lisp/package.el (describe-package-1):
26016         Use https, if supported, for the homepage of packages on gnu.org.
26018 2017-04-05  Glenn Morris  <rgm@gnu.org>
26020         Default to https for elpa.gnu.org if gnutls available
26022         * lisp/emacs-lisp/package.el (package-archives):
26023         Default to https for elpa.gnu.org if gnutls is available.  Ref:
26024         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
26026 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
26028         Minor simplifications and doc for records
26030         * doc/lispref/records.texi (Records): Mention size limit.
26031         * etc/NEWS: Mention records.
26032         * src/alloc.c (allocate_pseudovector, allocate_record):
26033         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
26034         (allocate_record): Check arg range here, not in callers, as this
26035         simplifies the code.  Use allocate_vectorlike instead of
26036         allocate_vector, to avoid duplicate runtime tests.
26037         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
26038         the doc string, as it is not visible to the user.
26039         (Fmake_record, record, Fcopy_record):
26040         Prefer make_lisp_ptr to XSETVECTOR.
26041         (record): Broaden memcpy to copy the type, too.
26043 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
26045         Fix recent changes in record data type
26047         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
26048         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
26050 2017-04-04  Philipp Stephani  <phst@google.com>
26052         Make subprocess functions resolve the default directory
26054         `call-process' doesn't respect file name handlers in
26055         `default-directory', so `file-name-non-special' has to resolve them
26056         for `process-file', `start-file-process', and
26057         `shell-command' (Bug#25949).
26059         * lisp/files.el (file-name-non-special): Also resolve default
26060         directory for 'process-file', 'start-file-process', and
26061         'shell-command'.
26062         * test/lisp/files-tests.el
26063         (files-tests--file-name-non-special--subprocess): Add unit test.
26065 2017-04-04  Philipp Stephani  <phst@google.com>
26067         Make ediff handle remote and quoted file names
26069         Quoted file names need to be unquoted before passed to
26070         subprocesses (Bug#25950).
26072         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
26073         file names.
26074         * test/lisp/vc/ediff-diff-tests.el
26075         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
26077 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
26079         Backward compatibility with pre-existing struct instances.
26081         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
26082         (cl-old-struct-compat-mode): New minor mode.
26084         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
26085         cl-struct-define to signal use of record objects.
26087         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
26088         cl-struct-define): Enable legacy defstruct compatibility.
26090         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
26091         old-struct): New tests.
26093         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
26094         `old-struct-compat'.
26096 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26098         Make the URL library use records.
26100         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
26101         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
26102         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
26104         * lisp/url/url-http.el (url-http): Check for type `url' instead of
26105         `vector'.
26107 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
26109         Make EIEIO use records.
26111         * lisp/emacs-lisp/eieio-compat.el
26112         (eieio--generic-static-object-generalizer): Adjust to new tags.
26114         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
26115         directly as tag.
26116         (eieio--object-class): Adjust to new tag representation.
26117         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
26118         (eieio-defclass-internal): Use `make-record'.
26119         (eieio--generic-generalizer): Adjust generalizer code accordingly.
26121         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
26123         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
26124         Add `recordp'.
26126         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
26128 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26130         Make cl-defstruct use records.
26132         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
26133         (cl--describe-class-slots): Use the new `type-of'.
26135         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
26136         (cl--generic-struct-specializers): Adjust to new tag.
26138         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
26139         Use the type symbol as the tag.  Use copy-record to copy structs.
26140         (cl--defstruct-predicate): New function.
26141         (cl--pcase-mutually-exclusive-p): Use it.
26142         (cl-struct-sequence-type): Can now return `record'.
26144         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
26145         code to new format.
26146         (cl--struct-register-child): Work with records.
26147         (cl-struct-define): Don't touch the tag's symbol-value and
26148         symbol-function slots when we use the type as tag.
26150         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
26152         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
26153         New test.
26155         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
26157 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
26159         Add record objects with user-defined types.
26161         * src/alloc.c (allocate_record): New function.
26162         (Fmake_record, Frecord, Fcopy_record): New functions.
26163         (syms_of_alloc): defsubr them.
26164         (purecopy): Work with records.
26166         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
26167         name if record's type holds class.
26168         (Frecordp): New function.
26169         (syms_of_data): defsubr it.  Define `Qrecordp'.
26170         (Faref, Faset): Work with records.
26172         * src/fns.c (Flength): Work with records.
26174         * src/lisp.h (prec_type): Add PVEC_RECORD.
26175         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
26177         * src/lread.c (read1): Add syntax for records.
26179         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
26180         (print_object): Add syntax for records.
26182         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
26183         New test.
26185         * test/src/alloc-tests.el (record-1, record-2, record-3):
26186         New tests.
26188         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
26189         doc/lispref/records.texi: Add documentation for records.
26191 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
26193         Fix a test in python-test.el
26195         Fix a test that breaks the test suite when it is run within a
26196         virtual environment.
26197         See following link for details:
26198         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
26199         * test/lisp/progmodes/python-tests.el
26200         (python-shell-calculate-process-environment-7): Bind
26201         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
26202         bind it to '/env'.
26204 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
26206         Throw a `search-failed' derived error in Info search
26208         The original fix for Bug#6106 switched from signaling `search-failed'
26209         to `user-error'.  However, this breaks incremental searching over
26210         multiple nodes because the isearch code doesn't expect a `user-error'.
26212         * src/search.c (syms_of_search): New error, `user-search-failed',
26213         with `user-error' and `search-failed' as parents.
26214         * doc/lispref/errors.texi (Standard Errors): Document it.
26215         * etc/NEWS: Announce it.
26216         * lisp/info.el (Info-search): Use it instead of `user-error' so that
26217         isearch will handle failed searches correctly.
26219 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
26221         Add Tramp test
26223         * doc/misc/tramp.texi (Remote processes): Fix typo.
26225         * lisp/shell.el (shell): Fix typo.
26227         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
26229         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
26230         New test.
26231         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
26232         (tramp-test31-vc-registered)
26233         (tramp-test32-make-auto-save-file-name)
26234         (tramp-test33-make-nearby-temp-file)
26235         (tramp-test34-special-characters)
26236         (tramp-test34-special-characters-with-stat)
26237         (tramp-test34-special-characters-with-perl)
26238         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
26239         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
26240         (tramp-test35-utf8-with-ls)
26241         (tramp-test36-asynchronous-requests)
26242         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
26244 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
26246         * lisp/ses.el: Silence byte-compiler warnings.
26248         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
26249         byte-compiler warnings.
26251 2017-04-02  Glenn Morris  <rgm@gnu.org>
26253         Belated fixes for admin.el's M-x make-manuals-dist
26255         * admin/admin.el (make-manuals-dist-output-variables): Additions.
26256         (make-manuals-dist--1): Also copy docstyle.texi.
26258 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
26260         Fix bugs in simplified test dependencies
26262         Problem reported by Glenn Morris in:
26263         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
26264         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
26265         (TESTS): Omit unnecessary patsubst.
26266         (test_template): Redo dependency heuristic, hopefully
26267         correctly this time.  It's the .log file that depends,
26268         not the phony test target.  Declare the phonies to be PHONY.
26269         Resurrect the exception for the *-tests subdirectory.
26270         Adjust to the fact that leading "./" is omitted now.
26272 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
26274         Fix typo in docstring
26276         * lisp/help.el: Fix typo.
26278 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
26280         Apply connecion-local variables for shells
26282         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
26283         variables.  Don't mention Emacs 23 anymore.
26284         (Frequently Asked Questions): Precise Emacs and MS Windows version.
26286         * lisp/files-x.el (connection-local-normalize-criteria):
26287         Suppress nil properties.
26288         (connection-local-set-profiles, with-connection-local-profiles):
26289         Adapt docstring.
26291         * lisp/shell.el (shell): Apply connecion-local variables.
26293 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
26295         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
26297         This prevents variables in signatures such as `sub add ($a, $b)' from
26298         being treated as punctuation.
26299         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
26300         Strictly match only prototype characters as punctuation.  (Bug#26037)
26302 2017-04-01  Tom Tromey  <tom@tromey.com>
26304         fix two js-mode syntax propertization bugs
26306         Bug#26070:
26307         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
26308         zero-or-one to regular expression.
26309         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
26310         literal up to END.
26311         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
26312         (js-mode-propertize-bug-2): New tests.
26314 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
26316         Simplify test dependency generation
26318         Generate default dependencies by using GNU extensions to ‘make’
26319         rather than via a hacky auxiliary program and script.
26320         * .gitignore: Remove test/make-test-deps.mk.
26321         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
26322         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
26323         (test_template): Infer dependency directly instead of via
26324         make-test-deps.mk.
26325         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
26326         (clean): No need to clean make-test-deps.mk.
26327         (make-test-deps.mk): Remove rule.
26328         * test/make-test-deps.emacs-lisp: Remove.
26330 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
26332         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
26334         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
26335         test suite.
26336         (cl-lib-symbol-macrolet-2): New test.
26338 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
26340         Use only posix options in a ediff-ptch test
26342         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26343         Use just "-b" patch option.  Don't assume a particular suffix for
26344         the backup files.
26346 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
26348         Initial implementation of HTTP Digest qop for url
26350         This also refactors digest authentication functions in url-auth.el.
26352         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
26353         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
26354         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
26355         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
26356         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
26357         to simplify code and aid in unit testing.
26358         (url-digest-auth-build-response): Hook up new functionality, or fall
26359         back to previous.
26360         (url-digest-auth-make-request-digest-qop):
26361         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
26362         (url-digest-auth-name-value-string): Add new helper functions.
26363         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
26364         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
26365         (url-auth-test-digest-request-digest): Add a few tests as now more
26366         features are testable via intermediate functions.
26367         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
26368         the new implementation.  Parts of these were accidentally already
26369         merged in the past.
26371 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
26373         Tweak ediff-ptch test in previous commit a bit more
26375         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26376         Apply patches without requiring a shell.  Add some comments.
26378 2017-03-31  Glenn Morris  <rgm@gnu.org>
26380         Tweak an ediff-ptch test
26382         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
26383         Add skip conditions.  Avoid going through shell where not needed.
26385 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
26387         * lisp/net/tramp-smb.el (tramp-smb-errors):
26389         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
26391 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
26393         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
26395 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26397         dired-mark-suffix: New command
26399         Now dired-mark-extension prepends '.' to extension when not present.
26400         Add command dired-mark-suffix to preserve the previous
26401         behavior (Bug#25942).
26402         * lisp/dired-x.el (dired-mark-suffix): New command;
26403         mark files ending in a given suffix.
26404         (dired--mark-suffix-interactive-spec): New defun.
26405         (dired-mark-extension, dired-mark-suffix): Use it.
26406         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
26407         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
26409 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26411         default-directory: Remark that it must be a directory name
26413         * src/buffer.c (default-directory): Update docstring (Bug#26272).
26415 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
26417         Delete confuse statement in manual
26419         * doc/misc/cl.texi (For Clauses): Delete confuse statement
26420         and its example (Bug#23550).
26422 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
26424         Use find -delete if available
26426         This shortens the ‘make’ output and should avoid some
26427         repetitive scanning of directories during a build.
26428         * configure.ac (FIND_DELETE): New var.
26429         * lisp/Makefile.in (compile-always, bootstrap-clean):
26430         * test/Makefile.in (clean, bootstrap-clean): Use it.
26431         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
26433 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
26435         Remove gnus-boundp
26437         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
26438         bound-and-true-p.
26439         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
26441 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
26443         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
26445         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
26446         end of line after deleting horizontal whitespace.
26448 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
26450         * src/inotify.c (add_watch): Add comment.
26452 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
26454         Minor filenotify.el fixes
26456         * lisp/filenotify.el: Require subr-x.
26457         (file-notify-callback): Use equal, not eq.
26459 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
26461         Improve packaging documentation
26463         * doc/lispref/package.texi (Packaging Basics):
26464         * doc/lispref/tips.texi (Library Headers): Clarify some header
26465         formats, relation between file headers and package
26466         attributes (Bug#13281).
26468 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
26470         Fix a small incompatibility in ibuffer
26472         Translate nil values from column functions to the empty string, so that
26473         subsequent calls to string-width don't signal an error (Bug#26317).
26474         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
26475         nil, treat it like the empty string.
26477 2017-03-30  Alan Mackenzie  <acm@muc.de>
26479         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
26481         Also implement the "asymmetric space" rule for fontifying otherwise
26482         ambiguous
26483         declarations/expressions.
26485         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
26486         c-new-BEG or c-new-END when there is no need.
26487         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
26488         space" rule.
26490         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
26491         extracted from c-font-lock-declarations.  Add to this function processing to
26492         make `context' 'decl for lines contained within parens when these are also
26493         declarations.
26494         (c-font-lock-declarations): Call the newly extracted function above in place
26495         of inline code.
26497         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
26498         c-literal-start.
26500         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
26502         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
26503         "asymmetric fontification" rule, including the variable
26504         c-asymmetric-fontification-flag.
26506 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26508         Some inotify cleanup
26510         This catches some problems with integer overflow and races
26511         that I noticed in inotify.c after reviewing the changes
26512         installed to fix Bug#26126.
26513         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
26514         * src/inotify.c (aspect_to_inotifymask):
26515         Check for cycles and for improper lists.
26516         (make_lispy_mask, lispy_mask_match_p): Remove.
26517         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
26518         (inotifyevent_to_event, add_watch):
26519         Don’t assume watch descriptors and cookies fit in fixnums.
26520         (add_watch): Use assoc_no_quit, not Fassoc.
26521         Avoid integer overflow in (very!) long-running processes where
26522         the Emacs watch ID could overflow.  Avoid some duplicate code.
26523         (find_descriptor): New function.
26524         (remove_descriptor): First arg is now the returned value from
26525         find_descriptor, rather than the descriptor.  This way, the
26526         value can be removed without calling Fdelete, which might quit.
26527         Wait until the end (when watch_list is consistent) before signaling
26528         any errors.
26529         (remove_watch, inotify_callback):
26530         Use find_descriptor to avoid the need for Fdelete.
26531         (inotify_callback): Use simpler tests for ioctl failure.
26532         Free temporary buffer if signaled, and put it on the stack if small.
26533         Use ssize_t to index through read results, to avoid a cast.
26534         (valid_watch_descriptor): New function, with a tighter check.
26535         (Finotify_rm_watch, Finotify_valid_p): Use it.
26536         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
26537         of Fassoc.  Do not assume the first assoc succeeds.
26538         * test/src/inotify-tests.el (inotify-valid-p-simple):
26539         Add inotify-valid-p tests, some of which dump core without
26540         the fixes noted above.
26542 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
26544         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
26546 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
26548         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
26550 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26552         Fix assoc_no_quit so that it does not quit
26554         The problem was that it called Fequal, which can quit.
26555         * src/fns.c (enum equal_kind):
26556         New enum, to be used in place of a boolean.
26557         (equal_no_quit): New function.
26558         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
26559         (assoc_no_quit): Use it to avoid quitting, the main point here.
26560         (internal_equal): Generalize bool to enum equal_kind arg, so that
26561         there are now 3 possibilities instead of 2.  Do not signal an
26562         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
26563         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
26564         changed.
26566 2017-03-29  Alan Mackenzie  <acm@muc.de>
26568         Amend gitmerge to recognize the injunction "don't merge".
26570         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
26571         well as "do not".
26573 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
26575         Add one more CSS pseudo-class
26577         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
26578         `focus-within'.
26580 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
26582         Update list of CSS pseudo-classes
26584         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
26585         pseudo-classes.
26587 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
26589         Adjust some search failure errors in info.el
26591         * lisp/info.el (Info-select-node): The search for beginning of node is
26592         an internal detail, and is not normally expected to fail, so it should
26593         not be a user error.
26594         (Info-complete-menu-item): Failing to find a menu indicates the user
26595         searched for a menu when there isn't one, so change to `use-error'.
26597 2017-03-28  Alan Mackenzie  <acm@muc.de>
26599         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
26601 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
26603         Don’t mishandle (format "%i" -1.0)
26605         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
26607 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
26609         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
26611 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
26613         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
26615 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
26617         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
26619         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
26620         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
26621         with (user-error "Search failed: "...).
26623 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
26625         Fix obsolete ‘test/automated’ references
26627         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
26628         (bootstrap-clean, maintainer-clean):
26629         Clean ‘test’, not ‘test/automated’.  Test for existence of
26630         subdirectory only for ‘test’, not for directories that should
26631         always exist.
26632         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
26633         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
26634         * lisp/man.el (Man-parse-man-k):
26635         * lisp/url/url-domsuf.el, make-dist:
26636         * test/file-organization.org:
26637         Fix obsolete references to test/automated.
26639 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
26641         shr-image-fetched: Work for narrowed Gnus article
26643         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
26645         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
26647 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
26649         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
26651 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
26653         Expand manual section on quitting windows
26655         * doc/lispref/windows.texi (Quitting Windows): Provide more
26656           information about the elements of the quit-restore window parameter,
26657           and how they affect the behavior of quit-restore-window.
26659 2017-03-26  Philipp Stephani  <phst@google.com>
26661         Add check for expected backtrace in module calls.
26663         * test/manual/cedet/tests/test.el
26664         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
26665         expected backtrace.
26667 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
26669         Fix redisplay glitches due to recent change in redisplay_internal
26671         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
26672         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
26673         for the problems caused by the original fix.
26675 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
26677         Fix Bug#26258
26679         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
26680         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
26681         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
26682         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
26683         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
26685         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
26686         (tramp-register-autoload-file-name-handlers)
26687         (tramp-register-file-name-handlers): Do not handle
26688         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
26689         the handlers are responsible for.
26690         (tramp-register-foreign-file-name-handler): New defun.
26692 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
26694         Fix docstring of dabbrev-abbrev-char-regexp
26696         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
26697         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
26698         previous character doesn't match, we search backwards for one that
26699         does, not throw an error.  Replace Lisp example with C based one to
26700         make it clear that "symbol" means a sequence of word and symbol
26701         constituent characters, not a Lisp symbol (Bug#358).
26703 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
26705         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
26707 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
26709         Minor fixes for inotify.c and filenotify.el
26711         * lisp/filenotify.el (file-notify--watch-absolute-filename):
26712         Add docstring.
26713         (file-notify-callback): Simplify.
26715         * src/inotify.c (Finotify_add_watch): Adapt docstring.
26717 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
26719         Fix issues regarding inotify file-notification
26721         Remove special code handling the inotify back-end.
26722         * lisp/filenotify.el (file-notify--watch): New struct
26723         representing a file-watch.
26724         (file-notify-descriptors): Use the new struct as hash-value.
26725         (file-notify-handle-event): Check that event is a cons.
26726         (file-notify--rm-descriptor, file-notify--event-watched-file)
26727         (file-notify--event-file-name, file-notify--event-file1-name)
26728         (file-notify-callback, file-notify-add-watch)
26729         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
26730         Remove special code handling inotify descriptors.  Remove code
26731         handling multiple clients per descriptor.
26732         (file-notify--descriptor): Remove unused function.
26734         Let inotify-add-watch return a unique descriptor on every
26735         call, like every other back-end does (Bug#26126).  Prevent
26736         multiple clients from interfering with each other, when
26737         watching a shared descriptor.
26738         * src/inotify.c (watch_list): Extend the format by including a
26739         id and the provided mask.
26740         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
26741         (make_watch_descriptor): Removed.
26742         (make_lispy_mask, lispy_mask_match_p): New functions.
26743         (inotifyevent_to_event): Match event against the mask provided
26744         by the client.
26745         (add_watch, remove_descriptor, remove_watch): New functions
26746         for managing the watch_list.
26747         (inotify_callback): Use the new functions.
26748         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
26749         flags from documentation.  Add check for validity of provided
26750         descriptor.  Use the new functions.  Use the default mask.
26751         (INOTIFY_DEBUG): Add new debug conditional.
26752         (inotify-watch-list, inotify-allocated-p): New debug functions.
26753         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
26755         * test/lisp/filenotify-tests.el:
26756         (file-notify-test02-rm-watch): Remove expected failure for inotify.
26758 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
26760         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
26762 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
26764         Stop edebug getting stuck on backquote (Bug#23651)
26766         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
26767         reading backquote or comma.
26769 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
26771         Expand manual section on quitting windows
26773         * doc/lispref/windows.texi (Quitting Windows): Provide more
26774           information about the elements of the quit-restore window parameter,
26775           and how they affect the behavior of quit-restore-window.
26777 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
26779         Support in ispell.el multiple dictionaries loaded by Hunspell
26781         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
26782         Support Hunspell configurations that load more than one dictionary
26783         by default.  Doc fix.  (Bug#25830)
26785 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
26787         Simplify Tramp autoloading.
26789         * lisp/net/tramp.el (tramp-completion-file-name-handler):
26790         Simplify autoloading.  Give it the `operations' property.
26791         (tramp-completion-handle-expand-file-name): Remove.
26793 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
26795         Fix a segfault due to failure to realize some faces
26797         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
26798         while redisplaying its windows, redisplay all of its windows
26799         again.  (Bug#26097)
26800         (init_iterator): When freeing all realized faces on all frames,
26801         reset the 'face_change' flag of the frame whose window we are
26802         about to iterate.
26804 2017-03-25  Philipp Stephani  <phst@google.com>
26806         Use a named function for 'safe-local-variable
26808         This improves the help screen for `version-control' (Bug#25431).
26810         * lisp/files.el (version-control-safe-local-p): New function.
26811         (version-control): Use it.
26813 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
26815         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
26817 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
26819         Make it easier to abort a series of tests with C-g
26821         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
26822         interactively is true and a test was aborted then ask if the remaining
26823         tests should be aborted too.
26824         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
26825         interactively arg.
26827 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
26829         Don’t require chown/chgrp for game installation
26831         Problem reported by Joseph Mingrone in:
26832         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
26833         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
26834         chgrp fails with update-game-score and the game directory.
26835         Instead, expect the installer to fix this up afterwards.
26837 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26839         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
26841         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
26842         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
26844 2017-03-23  Philipp Stephani  <phst@google.com>
26846         Protect against an infloop in python-mode
26848         There appears to be an edge case caused by using `syntax-ppss' in a
26849         narrowed buffer during JIT lock inside of Python triple-quote strings.
26850         Unfortunately it is impossible to reproduce without manually
26851         destroying the syntactic information in the Python buffer, but it has
26852         been observed in practice.  In that case it can happen that the syntax
26853         caches get sufficiently out of whack so that there appear to be
26854         overlapping strings in the buffer.  As Python has no nested strings,
26855         this situation is impossible and leads to an infloop in
26856         `python-nav-end-of-statement'.  Protect against this by checking
26857         whether the search for the end of the current string makes progress.
26859         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
26860         against infloop.
26861         * test/lisp/progmodes/python-tests.el
26862         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
26864 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
26866         * doc/lispref/os.texi (File Notifications):
26868         Strengthen the recommendation to use filenotify.el.
26870 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
26872         Merge from gnulib
26874         This incorporates:
26875         2017-03-22 getopt: merge from glibc
26876         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
26877         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
26878         * lib/gnulib.mk.in: Regenerate.
26880 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
26882         Use lexical-bind in Tramp
26884         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
26886         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
26887         rather than `add-to-list'.
26888         (tramp-adb-get-device): Remove unused variable.
26890         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
26891         variable.
26893         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
26894         (tramp-find-file-name-coding-system-alist): Use `push' rather
26895         than `add-to-list'.
26897         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
26898         Require 'dired.  Move declarations up.
26899         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
26900         and `temporary-file-directory' calls with `with-no-warnings'.
26901         (tramp-test35-asynchronous-requests): Mark unused variable.
26903 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
26904             Noam Postavsky  <npostavs@gmail.com>
26906         Do not include comment start chars in ffap string
26908         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
26909         ensure that the returned string does not contain the comment start
26910         characters (especially for major modes that have '//' as comment start
26911         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
26912         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
26913         C-f" on a "//foo" comment will initiate an attempt to access a path
26914         "//foo" (Bug#24057).
26916 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
26918         c:/Temp/gtk-window-move/ChangeLog.txt
26920 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
26922         Fix filenotify.el issue for kqueue
26924         * lisp/filenotify.el (file-notify-add-watch): Use directory
26925         for remote file name handlers.
26927         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
26928         Create/delete temporary file only for "kqueue".
26929         (file-notify-test02-rm-watch): Create/delete temporary files.
26931 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
26933         Extend `file-notify-test02-rm-watch'
26935         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
26936         Expect it failed for inotify.  Divide tests into different
26937         `unwind-protect' clauses.  Check, that removing watch
26938         descriptors out of order do not harm.  (Bug#26126)
26940 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
26942         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
26944 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
26946         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
26948 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26950         Improve configure --with-pop etc. diagnostics
26952         * configure.ac: Improve diagnostics re --with-pop and
26953         --with-mailutils (Bug#26102).
26955 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
26957         Revert "Make --without-pop the default."
26959         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
26961 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26963         Don’t remove dependency files when configuring
26965         Problem reported by Tom Tromey in:
26966         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
26967         * configure.ac: Don’t remove */*.o and */deps/* when
26968         --enable-autodepend is in effect.
26970 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26972         Make --without-pop the default.
26974         Suggested by Angelo Graziosi in:
26975         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
26976         * configure.ac: Change the default from --with-pop to
26977         --without-pop.  Adjust diagnostics to match.
26979 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26981         Streamline dependency-file generation
26983         * configure.ac (AUTODEPEND_PARENTS): New var.
26984         mkdir the dependency directories here, to simplify ‘make’.
26985         Remove dependency files just before outputting Makefiles, so that
26986         they are preserved if ‘configure’ exits early due to some other problem.
26987         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
26988         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
26989         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
26990         number of processes spun off by ‘make’.
26991         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
26992         (distclean): Remove $(DEPDIR) itself.
26993         * lwlib/Makefile.in (all): Move to front, so that depdir includes
26994         do not alter default action.
26996 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26998         Port and simplify example sh script
27000         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
27001         don’t use ‘tail -1’, which is not portable.
27003 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
27005         Narrow scope of modification hook renabling in org-src fontification
27007         Modification hooks should be enabled while modifying text in the
27008         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
27009         org-src fontify buffers" the hooks were enabled also for modifications
27010         to the original org buffer.  This causes fontification errors when
27011         combined with certain packages, as reported in
27012         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
27014         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
27015         of inhibit-modification-hooks let-binding.
27017 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
27019         epatch: Save right backups in Git multipatches
27021         Multipatches on N Git files save wrong backups for
27022         N-1 files; only the last one has a correct backup (Bug#26084).
27023         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
27024         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
27025         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
27026         Rename from ibuffer-test-bug25010.
27027         (ediff-ptch-test-bug26084): New test.
27029 2017-03-21  Michael R. Mauger  <michael@mauger.com>
27031             * lisp/progmodes/sql.el: Version 3.6
27033             (sql-login-params): Added :must-match for completition of
27034             `server' and `database' login parameters.
27035             (sql-sqlite-login-params, sql-postgres-login-params): Set
27036             :must-match to `confirm'.
27037             (sql-get-login-ext): Use :must-match value to control
27038             `read-file-name' or `completing-read'.
27039             (sql-connect): Added optional BUF-NAME parameter; Reworked
27040             connection variable processing; Pass buffer name to
27041             `sql-product-interactive'.
27042             (sql-product-interactive): Pass buffer name along.
27043             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
27044             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
27045             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
27046             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
27047             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
27048             (sql-comint-vertica): Add optional BUF-NAME, pass to
27049             `sql-comint'.
27050             (sql-oracle--list-oracle-name): New function.
27051             (sql-oracle-list-all): Use it.
27052             (sql-oracle-completion-object): Enhanced.
27054 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
27056         Solve ses-recalculate-cell updating only current line bug.
27058         * lisp/ses.el (ses-recalculate-cell): Add optional argument
27059         ses--curcell to avoid overwriting ses--curcell when function is
27060         called from ses-recalculate-all.  Update docstring accordingly.
27061         (ses-recalculate-all): Call ses-recalculate-cell with argument
27062         ses--curcell to avoid its overwriting.
27064 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
27066         Fix problem with out-of-date dependencies
27068         Problem reported by Robert Marshall in:
27069         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
27070         Although this problem has been with us for a while, the recent
27071         change from Automake to GNU Make exposed it again.
27072         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
27073         leftover dependency and object files, since the previous sources'
27074         dependencies may disagree with the current ones.  Reconfiguring
27075         typically needs to force a rebuild anyway.
27077 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
27079         Simpler filter implementation
27081         * lisp/play/dunnet.el (dun-endgame-question): Get or set
27082         dun-endgame-questions one time only.  Use dolist and an index to
27083         prune the list.
27085 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
27087         * lisp/button.el (forward-button): Use user-error instead.
27089 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27091         Merge from gnulib
27093         This gets Emacs working again with HP-UX Itanium cc.
27094         It incorporates:
27095         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
27096         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
27097         2017-03-17 stat-time, timespec: Support header files in C++ mode
27098         2017-03-17 stdalign: Make it work with HP-UX cc
27099         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
27100         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
27101         2017-03-14 gnulib-tool: don't produce tests with only snippets
27102         2017-03-14 limits-h: Make it work with HP-UX cc.
27103         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
27104         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
27105         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
27106         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
27107         Copy from gnulib.
27109 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27111         * ChangeLog.2: Merge from emacs-25.
27113 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27115         Fixups after merge from emacs-25
27117         * etc/NEWS: Remove stray entry.
27118         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
27119         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
27120         Make it nondecreasing.
27122 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27124         Merge from origin/emacs-25
27126         d71e071 Improve documentation of interactive "r".
27128 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27130         Merge from origin/emacs-25
27132         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
27133         1925dd9 Fix duplicate wording in Emacs manual
27134         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
27135         2d671fd Fix wording in Emacs manual
27136         a8766a2 Document how to customize input methods
27137         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
27138         aceac95 Fix warning message about native completion (Bug#25984)
27139         a314c1f Clarify documentation of 'raise' and 'height' display specs
27140         f366f6e Mention problems with GPaste in PROBLEMS
27141         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
27142         6406618 Fix doc strings in info.el
27143         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
27144         eed9677 Fix doc string of 'posn-at-point'
27145         0d5957e Documentation fix in elisp reference manual
27147 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27149         Merge from origin/emacs-25
27151         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
27152         2b774fa Mention "editor" in Emacs man page header
27153         ae60d0c Document problems with nerd-fonts
27154         2fdb5a9 ; Details about pinning Emacs to w32 task bar
27155         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
27156         4c51ef4 Clarify what is the "cursor"
27157         8303c32 ; * etc/NEWS: Copyedits.
27158         3f7493e ; Fix a typo in comment
27159         c54cf8d Improve commentary in lisp.h
27160         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
27161         0ba9932 Disable native completion for ipython (Bug#25067)
27162         38fc456 Fix a typo in ada-mode manual
27163         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
27164         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
27166         # Conflicts:
27167         #       etc/NEWS
27168         #       etc/PROBLEMS
27170 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27172         Merge from origin/emacs-25
27174         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
27176 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27178         Merge from origin/emacs-25
27180         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
27182 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27184         Merge from origin/emacs-25
27186         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
27187         7e02a47 Index byte-compile-debug
27188         7c1e598 Document `byte-compile-debug' in the ELisp manual
27189         4d81eb4 Document variable `byte-compile-debug'
27190         72ef710 Fix call to debugger on assertion failure
27191         ae8264c Call modification hooks in org-src fontify buffers
27192         b3139da ; Fix last change in doc/lispref/strings.texi
27193         c331f39 Improve documentation of 'format' conversions
27194         9f52f67 Remove stale functions from ert manual
27195         c416b14 Fix a typo in Eshell manual
27196         06695a0 ; Fix a typo in ediff-merg.el
27197         954e9e9 Improve documentation of hooks related to saving buffers
27198         9fcab85 Improve documentation of auto-save-visited-file-name
27199         2236c53 fix typo in mailcap-mime-extensions
27200         85a3e4e Fix typos in flymake.el
27201         a1ef10e More NEWS checking for admin.el's set-version
27203         # Conflicts:
27204         #       lisp/emacs-lisp/bytecomp.el
27206 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27208         Merge from origin/emacs-25
27210         5569e64 ; Spelling fixes
27211         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
27212         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
27213         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
27214         42eae54 Improve documentation of dabbrevs
27215         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
27216         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
27218         # Conflicts:
27219         #       lisp/textmodes/rst.el
27221 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
27223         Merge from origin/emacs-25
27225         0e35405 Improve documentation of coding-systems
27226         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
27227         16fb50d Fix an error message in python.el
27228         a2a2073 Clarify major mode switching
27229         fc38671 Add helpful comment to compile-command's docstring
27230         ee65d85 Fix ':version' of 'select-enable-primary'
27232 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
27234         Fix bug in generator function with pcase (Bug#26068)
27236         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
27237         to symbol-name.
27239 2017-03-19  Alan Mackenzie  <acm@muc.de>
27241         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
27243         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
27244         invocation of c-on-identifier with a check we're not at the _end_ of an
27245         identifier.
27247         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
27248         perl versions of texi2dvi haven't implemented it.
27249         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
27250         in Pike Mode.
27251         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
27252         (FAQ): Add a question about "excessive" indentation of the contents of a C++
27253         lambda function, and how to get rid of it.
27255 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27257         Remove unused vars in cl-extra.el and tramp.el.
27259         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
27261         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
27262         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
27263         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
27265 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27267         Improve describe-symbol's layout of slots when describing types
27269         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
27270         (cl--describe-class-slots): Use it.
27272 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
27274         Fix Bug#26156
27276         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
27277         <expand-file-name>: Remove handler.  (Bug#26156)
27279 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
27281         * lisp/obarray.el (obarray-size): Avoid compiler warning.
27283 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
27285         Fix last change in lib/Makefile.in
27287         * lib/Makefile.in (srcdir): Define, as including
27288         $(srcdir)/../nt/gnulib-cfg.mk needs that.
27290 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
27292         * configure.ac: Fix typo in diagnostic.
27294 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
27296         Port out-of-source builds to windows-nt
27298         Problem reported by Angelo Graziosi in:
27299         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
27300         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
27301         to handle out-of-source builds if windows-nt.
27303 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
27305         MS-Windows followup for switch from Automake
27307         * nt/INSTALL:
27308         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
27310 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
27312         Improve documentation of interactive "r".
27314         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
27315         must be set for "r" to work.
27317 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27319         Fixups for GNU Make switchover
27321         This fixes some minor problems introduced in the recent switch to GNU
27322         Make, discovered by further testing.  Without some of these changes
27323         'make -j' would sometimes have race conditions caused by missing
27324         dependencies.  (Bug#26100)
27325         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
27326         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
27327         src/config.in, since the former's timestamp now represents
27328         the latter's.
27329         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
27330         with other autogen.sh invocations.
27331         ($(srcdir)/src/stamp-h.in):
27332         Remove rule, as this file is no longer created.
27333         * Makefile.in (top_distclean):
27334         * src/Makefile.in (bootstrap-clean):
27335         No need to remove stamp-h1, as that was an Automake byproduct
27336         and Automake is no longer in use.
27337         * lib/Makefile.in, src/Makefile.in:
27338         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
27339         (../config.status, Makefile): Simplify by limiting dependencies
27340         to files we care about and files in the repository, and by
27341         using just one file to represent the timestamps on multiple
27342         targets updated by the same rule.
27343         * autogen.sh: Do not create or use src/stamp-h.in.
27344         Instead, have 'find' test the two output files directly.
27346 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27348         Switch from Automake to GNU Make
27350         Emacs assumes GNU Make, and GNU Make has much of the functionality of
27351         Automake built-in.  The Emacs build process uses Automake primarily
27352         because Emacs uses some Gnulib code and Gnulib formerly required
27353         Automake.  Now that Gnulib no longer requires Automake, Emacs can
27354         stop using Automake and this should simplify Emacs maintenance
27355         in the future (Bug#26100).  Although this patch may look long, most of
27356         it is generated automatically: the changes to build-aux/config.guess,
27357         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
27358         all done by admin/merge-gnulib.
27359         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
27360         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
27361         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
27362         as they are no longer built by autogen.sh.
27363         Add lib/gnulib.mk, as it is now built by 'configure'.
27364         Remove nt/gnulib.mk, as it is no longer built by 'make'.
27365         * INSTALL.REPO, README, admin/make-tarball.txt:
27366         Remove mention of Automake.
27367         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
27368         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
27369         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
27370         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
27371         Remove.
27372         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
27373         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
27374         ($(srcdir)/src/config.in):
27375         Use autogen.sh instead of doing it by hand.
27376         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
27377         New vars, to simplify processing of avoided modules.
27378         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
27379         Add --gnu-make, and change makefile name to gnulib.mk.in.
27380         Copy config.guess, config.sub, and install-sh too, since
27381         Automake no longer does that for us.
27382         * admin/notes/copyright:
27383         * admin/update_autogen (genfiles):
27384         Update list of files.
27385         Remove hack for nt/gnulib.mk, a file that is no longer needed.
27386         * autogen.sh (progs): Remove Automake.
27387         (automake_min): Remove.
27388         Build aclocal.m4 so that autoreconf need not use aclocal.
27389         * build-aux/config.guess, build-aux/config.sub:
27390         * build-aux/install-sh:
27391         New files, copied from Gnulib.  These are now updated by
27392         admin/merge-gnulib instead by autogen.sh.
27393         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
27394         Remove.
27395         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
27396         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
27397         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
27398         (--disable-silent-rules): New option, since Automake no longer
27399         does this for us.
27400         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
27401         with AM_SUBST_NOTMAKE.
27402         (AC_PROG_INSTALL): Add call.
27403         (MAKEINFO): Do not bother with the 'missing' program.
27404         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
27405         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
27406         (SUBDIR_MAKEFILES): Remove duplication.
27407         * lib/Makefile.am: Remove, replacing with:
27408         * lib/Makefile.in: New file, with the old Makefile.am contents
27409         and with the following changes:
27410         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
27411         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
27412         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
27413         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
27414         Remove.
27415         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
27416         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
27417         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
27418         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
27419         New macros and rules, since Automake no longer does them.
27420         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
27421         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
27422         Include dependency files if AUTO_DEPEND.
27423         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
27424         New macros.
27425         (bootstrap-clean): Depend on distclean, not maintainer-clean,
27426         and remove gnulib.mk.
27427         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
27428         New macros and rules, copied from ../Makefile.in.
27429         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
27430         (.c.o, e-%.o): New generic rules.
27431         * lib/gnulib.mk: Remove.
27432         * lib/gnulib.mk.in: New file, which is built by autogen.sh
27433         and contains much of what used to be in lib/gnulib.mk.
27434         * m4/gnulib-common.m4: Copy from gnulib.
27435         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
27436         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
27437         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
27438         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
27439         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
27440         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
27441         * nt/gnulib-cfg.mk: New file, which supersedes ...
27442         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
27443         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
27444         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
27445         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
27446         Defer to parent Makefile.
27448 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27450         Don't suggest Mailutils on MS-Windows
27452         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
27453         hasn't been ported.
27455 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
27457         Fix bug: Range-check integer ‘alpha’ frame parm value
27459         Typo introduced 2013-04-01, "Prefer < to >
27460         in range checks such as 0 <= i && i < N".
27462         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
27464 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
27466         Fix bug: Range-check integer ‘alpha’ frame parm value
27468         Typo introduced 2013-04-01, "Prefer < to >
27469         in range checks such as 0 <= i && i < N".
27471         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
27473 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
27475         Fix Bug#26127
27477         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
27478         there is a function which could be called.  (Bug#26127)
27480         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
27481         Clear also `file-notify-descriptors'.
27482         (file-notify--test-make-temp-name): Move up.
27483         (file-notify-test02-rm-watch): New test.
27484         (file-notify-test03-events, file-notify-test04-autorevert)
27485         (file-notify-test05-file-validity)
27486         (file-notify-test06-dir-validity)
27487         (file-notify-test07-many-events, file-notify-test08-backup)
27488         (file-notify-test09-watched-file-in-watched-dir)
27489         (file-notify-test10-sufficient-resources): Rename.
27491 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27493         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
27495 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
27497         Emacs 'movemail' is now a configure-time option
27499         The new configure option --with-mailutils lets the builder say
27500         that Emacs should assume that GNU Mailutils is installed, instead
27501         of continuing to build and install its own limited and insecure
27502         substitute for 'movemail'.
27503         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
27504         * configure.ac: Add --with-mailutils option.
27505         (with_mailutils): New variable.
27506         Do not bother configuring 'movemail' when not building it.
27507         Warn about issues relating to --with-mailutils.
27508         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
27509         (Movemail, Remote Mailboxes): Document port numbers in
27510         POP and IMAP URLs.
27511         * lib-src/Makefile.in (with_mailutils): New macro.
27512         (UTILITIES): Use it.
27514 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
27516         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
27518         * lisp/obarray.el (obarray-size): New function.
27520         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
27521         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
27522         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
27523         Use obarrayp.
27525         * test/lisp/obarray-tests.el (obarray-make-default-test)
27526         (obarray-make-with-size-test): Use it.
27528 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
27530         Document remote file name syntax change
27532         * doc/emacs/files.texi (Remote Files, Quoted File Names):
27533         * doc/misc/org.texi (dir): Change examples to use a method.
27535         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
27536         `Testing' menu entry.
27537         (History): Fix typos.  Mention syntax change.
27538         (Configuration, Default Host, File name Syntax)
27539         (File name completion, Frequently Asked Questions):
27540         Change examples to use a method.
27541         (External methods, Default Host, Multi-hops, Remote processes):
27542         Fix typos.
27543         (Default Method): Mention pseudo method "-".
27544         (External packages): Rewrite intention of `non-essential'.
27546         * etc/NEWS: Mark recent Tramp entries as documented.
27548 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
27550         (semantic-lex-type-invalid): Fix nested backquote.
27552         * lisp/cedet/semantic/lex.el: Use lexical-binding.
27553         (semantic-lex-type-invalid): Fix nested backquote.
27554         (semantic-lex-map-symbols, semantic-lex-type-symbol)
27555         (semantic-lex-keyword-symbol): Use obarrayp.
27557 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
27559         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
27561 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
27563         Write a named function
27565         * lisp/comint.el (comint-nonblank-p): New function.
27566         (comint-input-filter): Use it.
27568 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
27570         Replace more nested ifs with cond
27572         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
27573         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
27574         (dun-drop-check, dun-swim, dun-break): Use when and cond where
27575         appropriate.
27576         (dun-examine): Fix indentation.
27577         (dun-doverb): Use when.
27578         (dun-read-line): Refactor.
27580 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
27582         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
27584         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
27585         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
27586         causes the regex engine to backtrack a lot when searching for
27587         "\\s-+$" (Bug#26079).
27589         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
27590         syntax, search for "\\s-$" and then skip backward over trailing
27591         whitespace.
27593 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
27595         Merge from gnulib
27597         This incorporates:
27598         2017-03-14 snippets: move unadjusted snippet sources to lib
27599         2017-03-14 gnulib-tool: fix typo in comment output
27600         2017-03-14 snippets: work around GNU Make 3.82 VPATH
27601         2017-03-13 gnulib-tool: minor --gnu-make fixups
27602         2017-03-12 gnulib-tool: new option --gnu-make
27603         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
27604         lib/warn-on-use.h.  Change exception from
27605         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
27606         * admin/authors.el (authors-renamed-files-regexps):
27607         * admin/notes/copyright, make-dist:
27608         The snippet files moved from build-aux/snippet to lib.
27609         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
27610         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
27611         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
27612         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
27613         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
27615 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
27617         Fix duplicate wording in Emacs manual
27619         * doc/emacs/programs.texi (Which Function): Delete duplicate
27620         wording.  (Bug#26098)
27622 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
27624         Reenable lost Tramp test case
27626         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
27627         Reenable lost test case.
27629 2017-03-14  Alan Third  <alan@idiocy.org>
27631         Revert "Remove NSEvent loop from ns_select (bug#25265)"
27633         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
27635 2017-03-14  Alan Third  <alan@idiocy.org>
27637         Revert "Add missing timeout value in ns_select"
27639         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
27641 2017-03-14  Alan Third  <alan@idiocy.org>
27643         Remove old macOS compatibility code
27645         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
27646         macOS versions below 10.6 as they are not supported in Emacs 25+.
27648 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
27650         Tune `tramp-completion-file-name-regexp-unified'
27652         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
27653         Extend this regexp to match also "/".
27655 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
27657         Show ancestor buffer in 3way merges
27659         Add an option ediff-show-ancestor', to control if the ancestor buffer
27660         must be shown in 3way merges (Bug#25493); set it non-nil by default.
27661         Add a toggle to change this option interactively; the original
27662         value of the option is restored on exit.
27664         Update the window setup so that the ancestor buffer is
27665         shown in 3way merges when ediff-show-ancestor is non-nil.
27667         Any operation on ediff windows must take in account the
27668         ancestor window as well, when this is shown.
27670         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
27671         (ediff--show-ancestor-orig): New defvar.
27672         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
27673         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
27674         Display ancestor buffer if ediff-show-ancestor is non-nil.
27675         (ediff-keep-window-config): Expect ancestor window in
27676         ediff-window-config-saved.
27677         (ediff-window-alist): Add entry for the ancestor window.
27678         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
27679         ediff-window-config-saved contains ancestor window.
27680         (ediff-show-ancestor): Delete this command.
27681         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
27682         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
27683         don't cheat it to think that is performing a comparison, that trick is not
27684         necessary anymore: simply call 'ediff-setup-diff-regions-function'
27685         with file-A, file-B and the file ancestor.
27686         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
27687         (ediff--check-ancestor-exists): New defun.
27688         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
27689         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
27690         (ediff-scroll-vertically, ediff-scroll-horizontally)
27691         (ediff-operate-on-windows): Consider the ancestor as well.
27692         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
27693         List ediff-toggle-show-ancestor.
27694         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
27696 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
27698         diff-mode: Improve default faces for buffer ancestor
27700         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
27701         (ediff-fine-diff-Ancestor): Use defaults consistent with
27702         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
27704 2017-03-14  Hong Xu  <hong@topbug.net>
27706         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
27708 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
27710         Fix make-dist typo
27712         * make-dist: Fix typo introduced in the Bug#25895 fix.
27714 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
27716         Fix wording in Emacs manual
27718         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
27719         (Bug#26086)
27721 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
27723         etc/NEWS: Remote file names require a method.
27725 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
27727         Require method in remote file name syntax
27729         * lisp/minibuffer.el (completion--nth-completion):
27730         Do not bind `non-essential'.
27732         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
27733         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
27734         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
27735         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
27736         `tramp-check-proper-method-and-host'.
27738         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
27739         (tramp-maybe-open-connection): Do not use argument for
27740         ´tramp-completion-mode-p'.
27742         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
27743         (tramp-prefix-format, tramp-postfix-method-format)
27744         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
27745         (tramp-prefix-port-format, tramp-postfix-host-format)
27746         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
27747         Use `eq' instead of `eqal'.
27748         (tramp-method-regexp, tramp-domain-regexp)
27749         (tramp-remote-file-name-spec-regexp)
27750         (tramp-file-name-regexp-unified)
27751         (tramp-completion-file-name-regexp-unified)
27752         (tramp-completion-file-name-regexp-separate): Adapt regexp.
27753         (tramp-completion-file-name-handler-alist)
27754         (tramp-run-real-handler): Autoload them.
27755         (tramp-find-method): Handle `tramp-default-method-marker'.
27756         (tramp-check-proper-method-and-host)
27757         (tramp-completion-run-real-handler): Remove them.
27758         (tramp-error-with-buffer, tramp-connectable-p): Do not use
27759         argument for ´tramp-completion-mode-p'.
27760         (tramp-find-foreign-file-name-handler): Remove COMPLETION
27761         argument.  Do not apply heuristic for completion.
27762         (tramp-file-name-handler): Do not modify `non-essential'.
27763         (tramp-completion-file-name-handler): Change implementation.
27764         (tramp-autoload-file-name-handler)
27765         (tramp-completion-handle-file-name-all-completions):
27766         Call `tramp-run-real-handler'.
27767         (tramp-completion-mode-p): Do not autoload.  Remove argument.
27768         Do not apply heuristic for completion.
27769         (tramp-completion-dissect-file-name): Simplify implementation.
27770         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
27772         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
27773         (tramp-test02-file-name-dissect)
27774         (tramp-test03-file-name-defaults)
27775         (tramp-test06-directory-file-name): Adapt to the new syntax.
27776         (tramp-test11-copy-file, tramp-test12-rename-file)
27777         (tramp--test-check-files): Deactivate temporarily tests with
27778         quoted file names.
27779         (tramp-test16-directory-files, tramp-test17-insert-directory):
27780         Adapt tests.
27781         (tramp-test24-file-name-completion): Do not check for
27782         completion mode.
27783         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
27784         two tests.
27786 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
27788         Fix bidi paragraph direction when inserting text at newline
27790         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
27791         paragraph cache when inserting immediately after a newline.
27792         (Bug#26083)
27794 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
27796         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
27798 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27800         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
27802         (cl-print-object) <compiled-function>: Print the docstring and
27803         interactive form.  Obey cl-print-compiled.
27805 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
27807         Fix indent-sexp when called from inside a string (Bug#21343)
27809         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
27810         state from `syntax-ppss'.
27812 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
27814         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
27816         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
27817         (indent-subsexp, indent-sexp-in-string): New tests.
27819 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
27821         Use switch on pseudovector types; plus cleanups along the way
27823         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
27824         (PSEUDOVECTOR_TYPEP): Change type of `code'.
27826         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
27827         (mark_object): Use PSEUDOVECTOR_TYPE.
27829         * src/data.c (Ftype_of): Use switch on pvec type.
27831         * src/print.c (print_object): Use switch on pvec type.
27833         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
27834         Add recently added types.
27836 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
27838         Install update-game-score only on request
27840         Most distributions do not install update-game-score properly
27841         due to setuid/setgid complications, so install it only when
27842         the installer specifies a user or group (Bug#25895).
27843         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
27844         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
27845         New vars.
27846         (epaths-force): Use PATH_GAME.
27847         (uninstall): Remove snake-scores and tetris-scores only if shared.
27848         * configure.ac: Default --with-gameuser to 'no'.
27849         (UPDATE_MANIFEST): Remove.
27850         * etc/NEWS: Mention this.
27851         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
27852         (use_gamedir): New macro.
27853         (UTILITIES): Remove update-game-score unless use_gamedir.
27854         (SCRIPTS): Remove $(UPDATE_MANIFEST).
27855         ($(DESTDIR)${archlibdir}): Install game directory program and data
27856         only if use_gamedir.
27857         * lib-src/update-game-score.exe.manifest: Remove, as
27858         update-game-score is no longer installed on MS-Windows.
27859         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
27860         Use auxiliary program only if setuid or setgid.
27861         * make-dist: Do not distribute update-game-score.exe.manifest.
27862         * src/callproc.c (init_callproc):
27863         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
27864         (syms_of_callproc): Remove unnecessary initialization of
27865         Vshared_game_score_directory.
27867 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
27869         Add `touch-action' to list of CSS properties
27871         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
27872         property.
27874 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
27876         Teach etags to process ENUM_BF correctly
27878         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
27879         (hash): Regenerated values for asso_values[] array.
27880         (in_word_set): Update values of TOTAL_KEYWORDS and
27881         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
27882         (in_enum_bf): New file-global variable.
27883         (consider_token): Skip ENUM_BF if not in a macro definition.
27884         (C_entries): Reset the in_enum_bf flag when past its closing
27885         parenthesis.
27887         * test/manual/etags/ETAGS.good_1:
27888         * test/manual/etags/ETAGS.good_2:
27889         * test/manual/etags/ETAGS.good_3:
27890         * test/manual/etags/ETAGS.good_4:
27891         * test/manual/etags/ETAGS.good_5:
27892         * test/manual/etags/ETAGS.good_6:
27893         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
27895 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
27897         Use path/to/file instead of path/to.file in tramp.texi
27899         * doc/misc/tramp.texi (Configuration, File name Syntax):
27900         Use path/to/file instead of path/to.file.
27902 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
27904         Remove some stray gnulib files
27906         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
27907         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
27908         the --avoid=unsetenv option avoided most of it anyway.
27909         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
27910         * lib/gnulib.mk: Regenerate.
27912 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
27914         Merge from gnulib
27916         This incorporates:
27917         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
27918         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
27920 2017-03-12  Glenn Morris  <rgm@gnu.org>
27922         Remove trivial duplication in epg-config
27924         * lisp/epg-config.el (epg-config--program-alist):
27925         Use epg-gpg-minimum-version.
27927 2017-03-12  Glenn Morris  <rgm@gnu.org>
27929         Small epg-find-configuration improvement
27931         * lisp/epg-config.el (epg-find-configuration):
27932         Handle epg-gpg-program customized but not saved.  (Bug#25947)
27934 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
27936         Improve last change
27938         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
27939         Use ppss to check escaping and add help-echo.
27941 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
27943         Highlight useless backslashes in Elisp strings
27945         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
27946         Put warning face on backslashes that have no effect.
27948 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
27950         Document how to customize input methods
27952         * doc/emacs/mule.texi (Input Methods): Document how to customize
27953         input methods.
27955 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
27957         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
27959 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
27961         Fix generation of nt/gnulib.mk on macOS
27963         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
27964         to Sed, as that is not portable with non-GNU Sed variants.
27965         (Bug#26043)
27967 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
27969         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
27971         * src/xdisp.c (handle_single_display_spec): If position to be
27972         restored after processing the display property comes from an
27973         overlay, protect against that overlay's end point being outside of
27974         the narrowed region.
27975         Reported by Filipe Silva <filipe.silva@gmail.com> in
27976         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
27978 2017-03-10  Glenn Morris  <rgm@gnu.org>
27980         Small improvement for epa-display-error (bug#24553)
27982         * lisp/epa.el (epa-display-error): Report the actual program in use.
27984 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
27986         Tweak X toolkit code to pacify modern GCC
27988         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
27989         Don’t include <stdlib.h>, since this code now calls emacs_abort
27990         rather than abort.
27991         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
27992         (wm_delete_window):
27993         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
27994         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
27995         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
27996         (separator_height, XlwMenuInitialize):
27997         Use emacs_abort, not abort.  Without this change, some calls
27998         to ‘abort’ were invalid, as stdlib.h was not always included.
27999         * src/widget.c (resources, emacsFrameClassRec):
28000         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
28001         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
28002         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
28003         (x_term_init) [USE_X_TOOLKIT]:
28004         Cast string constants to char * to pacify --enable-gcc-warnings.
28006 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
28008         * doc/misc/tramp.texi (Android shell setup): Require adb program
28010 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
28012         Adapt tramp-tests.el
28014         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
28015         (tramp-test24-file-name-completion): Call
28016         `tramp-completion-mode-p' with argument.
28018 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
28020         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
28022         * doc/lispref/processes.texi (Bindat Examples):
28023         Mention two examples in intro blurb; rewrite first example.
28025 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
28027         Simplify checks for xdg-open and xdg-email
28029         browse-url's xdg-open detection was too picky on some GNU/Linux
28030         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
28031         if it is executable, as nowadays this is more likely to be correct than
28032         trying to use heuristics from a few years ago.  Don't test for nohup: it
28033         is ineffective nowadays, as xdg-open's child uses the default action for
28034         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
28035         allow for Wayland here, as "emacs -nw" might be running in a non-X
28036         Wayland terminal.
28037         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
28038         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
28039         Simplify to a test for DISPLAY and whether the helper program is
28040         executable.  Allow WAYLAND_DISPLAY as an option.
28042 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
28044         Byte compile cond clauses without any bodies correctly.
28046         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
28047         cond clause has no body, push t on to the stack.
28049 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
28051         Fix bug#23006
28053         * lisp/minibuffer.el (completion--nth-completion):
28054         Let-bind `non-essential'.
28056         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
28057         (tramp-completion-mode-p): Optional parameter VEC.  Replace
28058         check for `last-input-event' by analysing VEC argument.
28059         (tramp-error-with-buffer, tramp-file-name-handler)
28060         (tramp-connectable-p, tramp-handle-file-name-as-directory):
28061         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
28063 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
28065         etc/NEWS: Add entry for new `switch' bytecode.
28067 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28069         * src/data.c (arithcompare): Add comments.
28071 2017-03-08  Glenn Morris  <rgm@gnu.org>
28073         Update a cl-print test
28075         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
28076         Update for recent change in cl-print-object function output.
28078 2017-03-08  Sam Steingold  <sds@gnu.org>
28080         Replace change-log-date-face -> change-log-date
28082         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
28084 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
28086         Fix bug#26011
28088         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
28089         Check, whether file is too large.  (Bug#26011)
28091 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
28093         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
28094         (Fmax, Fmin): Restore documentation.
28096         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
28097         comparisons that are written backward.
28099 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
28101         [doc elisp] Add some index entries for "old" advice mechanism
28103         * doc/lispref/functions.texi (Porting old advice):
28104         Add one @cindex and two @findex entries.
28106 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28108         * etc/NEWS: Adjust to match previous patch.
28110 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28112         min and max should not return markers
28114         Problem reported by Glenn Morris in:
28115         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
28116         * src/data.c (minmax_driver): Convert any marker result to an
28117         integer, since some callers assume this.
28118         * test/src/data-tests.el (data-tests-max, data-tests-min):
28119         Test for this.
28121 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
28123         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
28125 2017-03-08  Alan Third  <alan@idiocy.org>
28127         Add missing timeout value in ns_select
28129         * src/nsterm.m (ns_select): Set timeout to distant future when relying
28130         on fd_handler's timeout.
28132 2017-03-07  Glenn Morris  <rgm@gnu.org>
28134         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
28136 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28138         Remove isnan hack for Solaris 10 gcc 3.4.3
28140         This seems to have been a false alarm (Bug#26018).
28141         * src/data.c (isnan):
28142         * src/floatfns.c (isfinite, isnan):
28143         Use standard implementation if available.
28145 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
28147         Support browsing URLs with embedded spaces on MS-Windows
28149         * lisp/net/browse-url.el (browse-url-default-windows-browser):
28150         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
28151         support that in file:// URLs.  (Bug#26014)
28153 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28155         Define copysign on all platforms
28157         * configure.ac (copysign): Remove test.
28158         * src/floatfns.c (signbit): New macro, if not already defined.
28159         (Fcopysign): Use it instead of copysign.
28160         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
28162 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28164         Revert "Replace ldefs-boot with a much smaller file"
28166         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
28168         This commit has been reverted because the new mechanism was too
28169         sensitive to changes in the lisp source, generation of new ldefs-boot
28170         files was platform specific and resulted in warnings about undefined
28171         variables.
28173         See also 11436e2890d.
28175 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28177         Revert "Record autoloads till emacs dump"
28179         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
28181         This commit has been reverted because the new mechanism was too
28182         sensitive to changes in the lisp source, generation of new ldefs-boot
28183         files was platform specific and resulted in warnings about undefined
28184         variables.
28186         See also 11436e2890d.
28188 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28190         Revert "Remove unused ldefs-boot.el"
28192         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
28194         This commit has been reverted because the new mechanism was too
28195         sensitive to changes in the lisp source, generation of new ldefs-boot
28196         files was platform specific and resulted in warnings about undefined
28197         variables.
28199         See also 11436e2890d.
28201 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28203         Revert "Remove conditional includes from bootstrap"
28205         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
28207         This commit has been reverted because the new mechanism was too
28208         sensitive to changes in the lisp source, generation of new ldefs-boot
28209         files was platform specific and resulted in warnings about undefined
28210         variables.
28212         See also 11436e2890d.
28214 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28216         Revert "Speed generation of ldefs-boot-auto"
28218         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
28220         This commit has been reverted because the new mechanism was too
28221         sensitive to changes in the lisp source, generation of new ldefs-boot
28222         files was platform specific and resulted in warnings about undefined
28223         variables.
28225         See also 11436e2890d.
28227 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
28229         Revert "Fix minor problems with loaddefs autogeneration"
28231         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
28233         This commit has been reverted because the new mechanism was too
28234         sensitive to changes in the lisp source, generation of new ldefs-boot
28235         files was platform specific and resulted in warnings about undefined
28236         variables.
28238 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
28240         Set default when asking for send-mail-function (Bug#25874).
28242         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
28243         option as default for `completing-read'.
28245 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
28247         min and max now return one of their arguments
28249         * doc/lispref/numbers.texi (Comparison of Numbers):
28250         * etc/NEWS: Document this.
28251         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
28252         (minmax_driver): New function.
28253         (Fmax, Fmin): Use it instead of arith_driver.
28254         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
28256 2017-03-06  Alan Third  <alan@idiocy.org>
28258         Remove NSEvent loop from ns_select (bug#25265)
28260         * src/nsterm.m (ns_select): Remove event processing loop and replace
28261         with simple test for a new event.
28263 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
28265         A better fix for bug#25845
28267         * src/xdisp.c (font_for_underline_metrics): New function.
28268         * src/dispextern.h: Add its prototype.
28269         * src/xterm.c (x_draw_glyph_string):
28270         * src/w32term.c (x_draw_glyph_string):
28271         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
28272         having identical code 3 times in 3 different files.
28274 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
28276         Fix warning message about native completion (Bug#25984)
28278         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
28279         The relevant variable is `python-shell-completion-native-enable'.
28281 2017-03-06  Tom Tromey  <tom@tromey.com>
28283         Fix typos in EIEIO manual
28285         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
28287 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28289         Merge from gnulib
28291         This incorporates:
28292         2017-03-04 dtotimespec: simplify
28293         * lib/dtotimespec.c: Copy from gnulib.
28295 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28297         ffloor etc. now accept only floats
28299         * etc/NEWS: Say why.
28300         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
28301         Require arg to be float.
28302         * test/src/floatfns-tests.el (fround-fixnum): Check this.
28304 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
28306         Fix display of cursor on underlined text
28308         * src/nsterm.m (ns_draw_text_decoration):
28309         * src/xterm.c (x_draw_glyph_string):
28310         * src/w32term.c (x_draw_glyph_string): Compute the position and
28311         thickness of the underline by looking for the first glyph of the
28312         run of underlined glyphs that includes the glyph string we are
28313         drawing.  (Bug#25845)
28315 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
28317         Add more CL concept index items, print Concept Index
28319         * doc/misc/cl.texi: Print concept index.
28320         (Generalized Variables, Variable Bindings):
28321         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
28322         (Blocks and Exits, Iteration, Multiple Values): Add concept index
28323         items.
28325 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
28327         Add 'loop facility' to the CL concept index
28329         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
28330         index item.
28332 2017-03-05  martin rudalics  <rudalics@gmx.at>
28334         In `window--display-buffer' fix behavior reported in Bug#25946
28336         * lisp/window.el (window--display-buffer): Set the dedicated
28337         status of the window used and clear its history of previous
28338         buffers also for the case that the window already shows the
28339         buffer to be displayed.  (Bug#25946)
28341 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28343         Compare and round more carefully
28345         * etc/NEWS: Document this.
28346         * src/data.c (store_symval_forwarding):
28347         * src/sound.c (parse_sound):
28348         Do not botch NaN comparison.
28349         * src/data.c (cons_to_unsigned, cons_to_signed):
28350         Signal an error if a floating-point arg is not integral.
28351         * src/data.c (cons_to_unsigned, cons_to_signed):
28352         * src/fileio.c (file_offset):
28353         Use simpler overflow check.
28354         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
28355         Avoid rounding error in overflow check.
28356         (Fcar_less_than_car): Use arithcompare directly.
28357         * test/src/charset-tests.el: New file.
28359 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28361         Fewer rounding errors with (format "%f" fixnum)
28363         * etc/NEWS: Document this.
28364         * src/editfns.c (styled_format): When formatting integers via a
28365         floating-point format, use long double instead of double
28366         conversion, if long double’s extra precision might help.
28368 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
28370         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
28372         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
28374 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28376         Clarify documentation of 'raise' and 'height' display specs
28378         * doc/lispref/display.texi (Other Display Specs): Clarify the
28379         effect of 'height' display spec on the following 'raise'.
28380         (Bug#25824)
28382 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28384         Fix header shown by Info 'L' command
28386         * lisp/info.el (Info-history-find-node): A better heading for the
28387         list of visited nodes.  (Bug#25876)
28389 2017-03-04  K. Handa  <handa@gnu.org>
28391         Add a section about incorrect Bengali rendering.
28393 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28395         Fix minor problems with loaddefs autogeneration
28397         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
28398         and coding-system-for-write, to produce a UTF-8 file with Unix
28399         EOLs on MS-Windows.
28401         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
28403 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
28405         Fix issues with dedicated windows in shr.el
28407         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
28408         the window not dedicated, to avoid errors if it was, before
28409         setting its buffer temporarily.  (Bug#25828)
28411 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
28413         Mention problems with GPaste in PROBLEMS
28415         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
28416         GPaste, and its solution.  (Bug#25902)
28418 2017-03-04  Glenn Morris  <rgm@gnu.org>
28420         Avoid duplicate gud menu items with gdb-mi
28422         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
28423         entries in gdbmi mode.  (Bug#23923)
28425 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28427         * src/editfns.c (styled_format): Omit unnecessary code.
28429 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28431         logb now works correctly on large integers
28433         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
28434         * etc/NEWS: Document the change.
28435         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
28436         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
28437         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
28438         * src/floatfns.c: Include count-leading-zeros.h.
28439         (Flogb): Do not convert fixnum to float before taking the log,
28440         as the rounding error can cause the answer to be off by 1.
28441         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
28442         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
28444 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
28446         Merge from gnulib
28448         This incorporates:
28449         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
28450         2017-02-24 ftoastr: port to -Wdouble-promotion
28451         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
28453 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
28455         Avoid duplicating characters recorded in macros
28457         * src/keyboard.c (record_char): Don't store in macro definitions
28458         characters that came from executing a macro.  (Bug#25860)
28460 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
28462         Fix color component calculations in color.el
28464         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
28465         (color-rgb-to-hex): Accept an optional argument
28466         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
28467         notation either for 8 or 16 bits per component.  (Bug#25890)
28468         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
28469         color-rgb-to-hex with the optional argument of 2, to match color
28470         processing on the Web.
28472 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
28474         Use lexical binding in benchmark.el
28476         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
28477         (benchmark-elapse): Use 'declare'.
28478         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
28480 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
28482         Switch pp.el to lexical binding
28484         Additionally, do some minor code cleanup.
28486         * lisp/emacs-lisp/pp.el: Set lexical-binding.
28487         (pp-buffer): Use skip-syntax-forward.
28488         (pp-eval-expression): Use push.
28489         (pp-last-sexp): Use with-syntax-table.
28490         * test/lisp/emacs-lisp/pp-tests.el: New tests.
28492 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
28494         Fix completing-read call in reb-change-syntax
28496         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
28497         of completing-read.
28499 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
28501         sql-mode w/ sqlite: In-memory database
28503         Enable the usage of an in-memory database. Prior to this, sql-mode w/
28504         sqlite could only be used with file databases.
28505         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
28506         file name provided by the user, but call sub-process sqlite with that,
28507         in which case it uses an in-memory database.
28509 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
28511         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
28513         `abbrev--before-point' does not adjust `pos' to account for when it
28514         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
28515         `abbrev-before-point' goes to restore point, it moves point one
28516         character too far forward.
28518         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
28520 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
28522         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
28524 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28526         Restore XFLOATINT but with restricted args
28528         Turn instances of extract_float into XFLOAT_DATA when possible,
28529         and to a resurrected XFLOATINT when the arg is a number.
28530         The resurrected XFLOATINT is more like XFLOAT and XINT in
28531         that is valid only if its arg is a number.  This clarifies
28532         the ways in which floats can be extracted at the C level.
28533         * src/editfns.c (styled_format):
28534         * src/floatfns.c (extract_float, Fexpt):
28535         Use XFLOATINT rather than open-coding it.
28536         * src/fns.c (internal_equal):
28537         * src/image.c (imagemagick_load_image):
28538         * src/xdisp.c (resize_mini_window):
28539         Prefer XFLOAT_DATA to extract_float on values known to be floats.
28540         * src/frame.c (x_set_screen_gamma):
28541         * src/frame.h (NUMVAL):
28542         * src/image.c (x_edge_detection, compute_image_size):
28543         * src/lread.c (read_filtered_event):
28544         * src/window.c (Fset_window_vscroll):
28545         * src/xdisp.c (handle_single_display_spec, try_scrolling)
28546         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
28547         (on_hot_spot_p):
28548         Prefer XFLOATINT to extract_float on values known to be numbers.
28549         * src/lisp.h (XFLOATINT): Bring back this function, except
28550         it now assumes its argument is a number.
28552 2017-03-02  Glenn Morris  <rgm@gnu.org>
28554         Ert commands to error if no test at point (bug#25931)
28556         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
28557         Deactivate some items if no test at point.
28558         (ert--results-test-at-point-no-redefinition):
28559         Add option to signal an error rather than return nil.
28560         (ert-results-pop-to-backtrace-for-test-at-point)
28561         (ert-results-pop-to-messages-for-test-at-point)
28562         (ert-results-pop-to-should-forms-for-test-at-point)
28563         (ert-results-describe-test-at-point): Error if no test at point.
28565 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28567         Remove XFLOATINT
28569         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
28570         All callers changed to use extract_float.
28571         * src/frame.h (NUMVAL): Now an inline function, not a macro.
28573 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28575         Fix rounding errors in <, =, etc.
28577         * etc/NEWS: Document this.
28578         * src/bytecode.c (exec_byte_code):
28579         * src/data.c (arithcompare):
28580         Do not lose information when comparing floats to integers.
28581         * test/src/data-tests.el (data-tests-=, data-tests-<)
28582         (data-tests->, data-tests-<=, data-tests->=):
28583         Test this.
28585 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
28587         Fix display of mouse-highlight produced by overlapping overlays
28589         * src/xfaces.c (face_at_buffer_position): If called to find the
28590         mouse-face, only consider the highest-priority source for that
28591         face, and ignore the rest.  Previously, all the mouse-face
28592         definitions at POS were merged in that case.
28593         * src/xdisp.c (note_mouse_highlight): Record the overlay that
28594         specifies mouse-face _after_ clearing the info about the previous
28595         overlay, so as not to clear the information about the just-recorded
28596         overlay.  (Bug#25906)
28598 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
28600         Fix display of strike-through text in variable-height lines
28602         * src/nsterm.m (ns_draw_text_decoration):
28603         * src/xterm.c (x_draw_glyph_string):
28604         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
28605         strike-through y-coordinate for a glyph row which is taller than
28606         the strike-through text.  (Bug#25907)
28608 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
28610         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
28612         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
28613         don't call x_net_wm_state when the window is a scroll bar window.
28614         (Bug#24963, Bug#25887)
28616 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
28618         gnus-summary-select-article-buffer: Don't re-render existing article
28620         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
28621         Don't re-render existing article.
28623 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
28625         Don't add debbugs address to message body (bug#25896)
28627         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
28628         Don't add debbugs address to message body (bug#25896), and
28629         don't add it to message header either if it already exists.
28631 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28633         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
28635         (semanticdb--ih): Declare.
28636         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
28637         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
28638         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
28640 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28642         * lisp/help-fns.el (describe-variable): Use cl-print for the value
28644         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
28646 2017-03-02  Glenn Morris  <rgm@gnu.org>
28648         * test/lisp/net/puny-tests.el: New file.
28650 2017-03-02  Glenn Morris  <rgm@gnu.org>
28652         Small puny.el fix
28654         * lisp/net/puny.el (puny-decode-string-internal):
28655         Handle strings with no ascii parts.  (Bug#23688)
28657 2017-03-02  Glenn Morris  <rgm@gnu.org>
28659         Small recover-this-file improvement
28661         * lisp/files.el (recover-this-file): Explicit error if not
28662         visiting a file.  (Bug#23671)
28664 2017-03-01  Glenn Morris  <rgm@gnu.org>
28666         Fix for coding-system completion (bug#23670)
28668         * lisp/international/mule.el (read-buffer-file-coding-system):
28669         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
28670         so that completion-pcm--pattern->regex can append "*?".
28672 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
28674         Fix rounding error in ‘ceiling’ etc.
28676         Without this fix, (ceiling most-negative-fixnum -1.0) returns
28677         most-negative-fixnum instead of correctly signaling range-error,
28678         and similarly for floor, round, and truncate.
28679         * configure.ac (trunc): Add a check, since Gnulib’s doc says
28680         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
28681         also missing from some other older operating systems like Solaris
28682         9 which I know we don’t care about any more, so MSVC is the only
28683         reason to worry about ‘trunc’ here.
28684         * src/editfns.c (styled_format): Formatting a float with %c is now an
28685         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
28686         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
28687         only as a result of my misunderstanding old code that I introduced
28688         2011.  Although %d etc. is sometimes used on floats that represent
28689         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
28690         happen with characters.
28691         * src/floatfns.c (rounding_driver): Rework to do the right thing
28692         when the intermediate result equals 2.305843009213694e+18, i.e.,
28693         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
28694         Simplify so that only one section of code checks for overflow,
28695         rather than two.
28696         (double_identity): Remove.  All uses changed to ...
28697         (emacs_trunc): ... this new function.  Add replacement for
28698         platforms that lack ‘trunc’.
28699         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
28700         Make it clear that the arg cannot be floating point.
28701         * test/src/editfns-tests.el (format-c-float): New test.
28702         * test/src/floatfns-tests.el: New file, to test for this bug.
28704 2017-03-01  Glenn Morris  <rgm@gnu.org>
28706         Small help--loaded-p fix
28708         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
28709         with nil file name.  (Bug#25847)
28711 2017-03-01  Leo Liu  <sdl.web@gmail.com>
28713         * src/fns.c (Fbuffer_hash): Doc fix.
28715 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
28717         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
28719         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
28720         Instead, use a plain concat, which will create a string out of a list
28721         of characters.
28723 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
28725         Fix epg-tests with dummy-pinentry program (Bug#23619)
28727         * test/data/epg/dummy-pinentry: New file.
28728         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
28729         when a passphrase is required.  Add debug declaration.  Set
28730         GPG_AGENT_INFO non-destructively.
28732 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28734         Speed generation of ldefs-boot-auto
28736         Previously, generation of ldefs-boot-auto required at least one full
28737         bootstrap and, in extreme cases, two. Now, from build system, it
28738         requires the same time as taken to dump Emacs.
28740         * Makefile.in: Remove all calls, pass to src.
28741         * admin/ldefs-clean.el: Update for changed messages.
28742         * lisp/Makefile.in (compile-first-delete): Add.
28743         * lisp/ldefs-boot-auto.el: Update.
28744         * src/Makefile.in (generate-ldefs-boot): Add.
28746 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28748         Add error handling to magic-mode-alist
28750         * lisp/files.el (set-auto-mode): Add explicit error handling in two
28751           places.
28753 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28755         Remove conditional includes from bootstrap
28757         Previously, bootstrap-emacs includes optional functionality, depending
28758         on the platform which is not needed for bootstrap function.  As a
28759         result, bootstrap-emacs contains different functions in different
28760         circumstances.  If ldefs-boot-auto.el is generated, then loaded
28761         functions will not be added to ldefs-boot-auto.el, although they may be
28762         required during some builds.  With this change, bootstrap-emacs should
28763         always behave the same way and, therefore, require the same autoloads.
28765          * lisp/loadup.el: No longer load optional includes during bootstrap
28766            dumping.
28767          * lisp/ldefs-boot-auto.el: Regenerate.
28768          * lisp/ldefs-boot-manual.el: Add two autoloads.
28770 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
28772         Do not use find-file non-interactively
28774          * lisp/international/titdic-cnv.el (miscdic-convert): Use
28775            insert-file-contents in place of find-file.
28777 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28779         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
28781         (update_overlay_arrows): Skip non-markers.
28783 2017-02-28  Ken Brown  <kbrown@cornell.edu>
28785         Try to avoid hang when logging out of MS-Windows
28787         * src/w32term.c (x_update_window_begin, x_update_window_end)
28788         (my_show_window, my_set_window_pos, my_set_focus)
28789         (my_set_foreground_window, my_destroy_window)
28790         (my_bring_window_to_top, x_iconify_frame): Replace calls to
28791         SendMessage by calls to SendMessageTimeout with a 6-second
28792         timeout.  (Bug#25875)
28794 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28796         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
28798 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28800         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
28802         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
28803         (Methods): Document cl-defmethod.
28804         Explain in more detail the order in which the various
28805         methods are executed.  Document the conditions under which a method
28806         is redefined.  Remove reference to `eieio-generic-call-arglst`.
28807         Don't document the precise return value of cl-next-method-p.
28808         (Static Methods): Adjust to use `subclass` specializer.
28809         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
28810         (Signal Handling, Signals): Adjust names and args for cl-generic; add
28811         cl-no-primary-method.
28812         (CLOS compatibility, Wish List): Adjust to new featureset.
28814 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28816         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
28818         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
28820 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28822         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
28824         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
28825         (sgml-syntax-propertize-inside): New fun.
28827 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28829         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
28831         ": ;" after completing a property.
28833 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
28835         Show Ibuffer and jump to line listing current buffer
28837         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
28839 2017-02-27  Juri Linkov  <juri@linkov.net>
28841         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
28843         before adding it to the list of files.
28845 2017-02-27  Juri Linkov  <juri@linkov.net>
28847         Put text properties on query-replace separator string instead of "\0"
28849         * lisp/replace.el (query-replace--split-string):
28850         Split at a substring instead of just character.
28851         (query-replace-read-from): Put text properties on the
28852         separator string instead of "\0".  (Bug#25482)
28854 2017-02-27  Juri Linkov  <juri@linkov.net>
28856         Add file name and its extension to suggestions in dired-mark-files-regexp
28858         * lisp/dired.el (dired-mark-files-regexp): Add file name
28859         and its extension to the list of suggested defaults.  (Bug#25578)
28861 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
28863         Prompt default extension in dired-mark-extension
28865         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
28866         based on extension of file at point.  (Bug#25578)
28868 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
28870         Prevent for consing in cl-mapc and cl-mapl
28872         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
28873         If non-nil, accumulate values in the result (Bug#25826).
28874         (cl-mapc): Do computations inside function instead of call cl-map.
28875         (cl-mapl): Do computations inside function instead of call cl-maplist.
28876         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
28877         Call cl--mapcar-many with non-nil 3rd argument.
28878         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
28879         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
28880         (cl-extra-test-maplist): New tests.
28882 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
28884         Choose the right target dir on dired operations
28886         Prevent from changing the input target dir
28887         when dired-dwim-target is non-nil (Bug#25609).
28888         * lisp/dired-aux.el (dired-do-create-files):
28889         If dired-dwim-target is non-nil, then bind 'default' to nil.
28890         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
28892 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
28894         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
28896 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
28898         Don't record eshell/clear "command" in history (Bug#25838)
28900         `eshell/clear' is implemented by sending a series of blank lines,
28901         which is not a useful thing to have in the history.
28903         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
28904         `string-blank-p' which does check for newlines (even though newlines
28905         have comment-end syntax, not whitespace syntax class).
28906         * lisp/eshell/esh-mode.el (eshell/clear): Remove
28907         `eshell-add-to-history' from `eshell-input-filter-functions' while
28908         sending the blank lines.  This change is needed to solve the bug if
28909         the user customizes `eshell-input-filter' to something that doesn't
28910         filter newlines.
28912 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
28914         Remove a few unused C functions
28916         * src/eval.c (let_shadows_global_binding_p):
28917         * src/print.c (write_string):
28918         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
28919         Remove.
28920         * src/print.c (write_string): Rename from write_string_1.
28921         All uses changed.
28923 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
28925         Avoid segfault in overlay_arrows_changed_p
28927         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
28928         to avoid a segfault.
28930 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
28932         Don't call package--ensure-init-file if initialized during startup
28934         * lisp/emacs-lisp/package.el (package-initialize): Check
28935         `after-init-time' rather than `load-file-name' to decide if
28936         `package--ensure-init-file' should be called.  Depending on
28937         `load-file-name' will fail if the user calls `pacakge-initialize' in
28938         file which is loaded from the init file (Bug#24643, Bug#25819).
28940 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
28942         Fix display of before- and after-strings at invisible text
28944         * src/xdisp.c (next_overlay_string): Don't raise the
28945         ignore_overlay_strings_at_pos_p flag if the iterator is already
28946         set to continue at a buffer position different from the one
28947         where the overlay strings we just processed were loaded.  (Bug#25856)
28949 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
28951         Work on `tramp-completion-mode-p'
28953         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
28955         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
28956         (tramp-completion-mode-p): Reintroduce the check for 'tab.
28958 2017-02-25  Tom Tromey  <tom@tromey.com>
28960         Use font-lock-doc-face in js-mode
28962         Bug#25858:
28963         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
28964         defun.
28965         (js-mode): Use it.
28966         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
28967         test.
28969 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
28971         Don't use IP 0.0.0.0 for package test server (Bug#22582)
28973         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
28974         'server_address' when port number is given on the command line.  Print
28975         IP and port number as a URL, and flush it after printing.
28976         * test/lisp/emacs-lisp/package-tests.el:
28977         (package-test-update-archives-async): Grab the whole URL from server
28978         output.
28980 2017-02-25  Tom Tromey  <tom@tromey.com>
28982         Add more branch support to vc-dir
28984         Bug#25859:
28985         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
28986         * lisp/vc/vc.el (vc-revision-history): New defvar.
28987         (vc-read-revision): Use vc-revision-history.
28988         (vc-print-branch-log): New function.
28989         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
28990         bindings.
28991         * etc/NEWS: Mention new vc-dir bindings.
28993 2017-02-25  Alan Mackenzie  <acm@muc.de>
28995         Allow for the :: operator in C++ "enum class" declarations.
28997         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
28998         "::".
29000 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
29002         Fix bug#25854
29004         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
29005         Simplify error handling for huge inodes.
29006         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
29008 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29010         Avoid leaving garbage on screen when using 'raise' display property
29012         * src/xdisp.c (display_line): Reset voffset value of the iterator
29013         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
29014         which then leaves stuff on screen that needs to be cleared by
29015         redisplay.  (Bug#25855)
29017 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29019         Fix doc strings in info.el
29021         * lisp/info.el (Info-selection-hook, Info-mode-hook)
29022         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
29024 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
29026         Fix doc string of 'posn-at-point'
29028         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
29029         (Bug#25796)
29031 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
29033         New option -u / --suppress-output to emacsclient
29035         * lib-src/emacsclient.c (print_help_and_exit, longopts)
29036         (decode_options, main): Implement new option --suppress-output / -u to
29037         suppress printing of eval-results.
29038         * doc/emacs/misc.texi (emacsclient Options): Document the new
29039         "--suppress-output/-u" options.
29040         * etc/NEWS: Mention the new options.
29042 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
29044         Fix scrolling with partial line corner case (Bug#25792)
29046         Also fix up the scrolling tests so that they don't make so many
29047         assumptions about the current window configuration.
29049         * src/xdisp.c (try_window): Take partial line height into account when
29050         comparing cursor position against scroll margin.
29052         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
29053         HEIGHT argument, to allow setting up window with exact height and
29054         partial line.
29055         (scroll-tests-display-buffer-with-height): New display-buffer action
29056         function.
29057         (scroll-tests-scroll-margin-over-max):
29058         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
29059         `scroll-tests--scroll-margin-whole-window'.
29060         (scroll-tests-conservative-show-trailing-whitespace): New test.
29061         (scroll-tests-scroll-margin-negative): Fix line counting.
29062         (scroll-tests--point-in-middle-of-window-p): Set window height
29063         properly.
29065 2017-02-25  Tom Tromey  <tom@tromey.com>
29067         Fix indentation error in js.el
29069         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
29070         call in condition-case.
29071         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
29072         test.
29074 2017-02-24  Tom Tromey  <tom@tromey.com>
29076         add "async" and "await" keywords
29078         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
29080 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29082         Use cl-print for Edebug and EIEIO
29084         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
29085         (edebug-prin1, edebug-print): Remove.
29087         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
29088         (cl-print-object): Add a method for EIEIO objects.
29089         (eieio-edebug-prin1-to-string): Delete.
29090         (edebug-prin1-to-string): Don't advise any more.
29092         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
29093         Replace `object-print' -> `cl-prin1-to-string'.
29095 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29097         Fix left over uses of `call-next-method'
29099         * lisp/cedet/semantic/db-global.el (object-print):
29100         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
29102 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29104         Minor redisplay optimizations
29106         * src/frame.c (Ficonify_frame): No need to redisplay everything.
29108         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
29109         (redisplay_internal): Use it to avoid redisplaying everything.
29110         (try_window_id): Use it keep the same behavior as before.
29112 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29114         * lisp/emacs-lisp/cl-print.el: New file
29116         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
29117         (advice--make-docstring): Use it.
29119         * src/print.c (print_number_index): Don't declare here any more.
29120         (Fprint_preprocess): New function.
29122         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
29124 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
29126         Make calc's least common multiple positive (bug#25255)
29128         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
29129         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
29131 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
29133         Documentation fix in elisp reference manual
29135         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
29136         on 'declare' forms (Bug#25846).
29138 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
29140         Support read syntax for circular objects in Edebug (Bug#23660)
29142         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
29143         for edebug-read-function. Handle the read syntax for circular
29144         objects.
29145         (edebug-read-objects): New variable.
29146         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
29148         * src/lread.c (Fsubstitute_object_in_subtree): Make
29149         substitute_object_in_subtree into a Lisp primitive.
29151 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
29153         Add Conference to the list of valid bibtex entry types
29155         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
29156         Add Conference as a duplicate of InProceedings.  (Bug#25143)
29158 2017-02-23  Glenn Morris  <rgm@gnu.org>
29160         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
29162 2017-02-23  Glenn Morris  <rgm@gnu.org>
29164         Small dunnet score file improvements
29166         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
29167         (dun-do-logfile): Handle non-existing score file.
29169 2017-02-23  Glenn Morris  <rgm@gnu.org>
29171         * lisp/play/dunnet.el (dun-help): Doc fix.
29173 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
29175         Declare dun-line and dun-line-list
29177         Previously, there were free variables 'line' and 'line-list'.
29178         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
29179         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
29180         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
29181         (dun-batch-unix-interface): Use them.
29183 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
29185         Merge from gnulib
29187         This incorporates:
29188         2017-02-16 xbinary-io: rename from xsetmode
29189         2017-02-15 xsetmode: new module
29190         * lib-src/etags.c (main):
29191         * lib-src/hexl.c (main):
29192         * src/emacs.c (main) [MSDOS]:
29193         Prefer set_binary_mode to the obsolescent SET_BINARY.
29194         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
29196 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
29198         hexl: handle large files and I/O errors
29200         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
29201         Do not include ctype.h, as the code no longer uses isdigit.
29202         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
29203         (DEFAULT_BASE, endian): Remove; was not really used.
29204         (usage): Remove; now done by ‘main’, as that’s simpler.
29205         (progname): Now static.
29206         (output_error, hexchar): New functions.
29207         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
29208         "-little-endian" options, as they did not work and were not used.
29209         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
29210         Use SET_BINARY only once on stdout.
29211         Do not assume file offsets fit in ‘long’.
29212         If an I/O error occurs, report it and exit with nonzero status.
29214 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
29216         Avoid quitting inside a critical section on MS-Windows
29218         * src/w32uniscribe.c (uniscribe_list_family):
29219         * src/w32font.c (w32font_list_family, w32font_text_extents)
29220         (w32font_list_internal, w32font_match_internal)
29221         (list_all_matching_fonts): Prevent quitting while these functions
29222         cons lists of fonts, to avoid leaving the critical section taken
29223         by the main thread, which will then cause any other thread
29224         attempting to enter the critical section to hang.  (Bug#25279)
29226 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
29228         Use revision-completion-table in vc-retrieve-tag
29230         * lisp/vc/vc.el (vc-retrieve-tag): Use the
29231         revision-completion-table command for completion (bug#25710).
29233 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
29235         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
29237         remove entries whose car can't be returned by type-of.
29238         (cl--generic-all-builtin-types): New var.
29239         (cl-generic-generalizers): Use it to avoid requiring
29240         extra entries in cl--generic-typeof-types.
29242 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
29244         Find macro binding for symbol-bound macros too (Bug#6848)
29246         There are 2 ways to bind a macro: with global-set-key or
29247         kmacro-bind-to-key.  The former binds a key to a symbol, while the
29248         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
29249         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
29250         case, but broke the symbol case.
29252         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
29253         MACRONAME.
29255 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
29257         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
29259 2017-02-22  Juri Linkov  <juri@linkov.net>
29261         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
29263 2017-02-22  Juri Linkov  <juri@linkov.net>
29265         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
29267         (isearch-lazy-highlight-update): Check it to decide whether to apply
29268         overlays only on the selected window.
29270         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
29271         (Bug#17453, bug#21092)
29273 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29275         Minor weak hash table performance tweaks
29277         * src/fns.c (make_hash_table): Omit unnecessary assignment to
29278         h->next_weak when the hash table is not weak.
29279         (copy_hash_table): Put the copy next to the original in the
29280         weak_hash_tables list, as this should have better locality
29281         when scanning the weak hash tables.
29283 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29285         Use float instead of Lisp_Object for rehash_size
29287         * src/alloc.c (purecopy_hash_table):
29288         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
29289         (Fhash_table_rehash_size):
29290         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
29291         The rehash_size member of struct Lisp_Hash_Table is now a
29292         float, not a Lisp_Object.
29293         * src/alloc.c (purecopy_hash_table): Assign members in order.
29294         * src/fns.c (make_hash_table): Use EMACS_INT for size and
29295         float for rehash_size, instead of Lisp_Object for both.
29296         All callers changed.
29297         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
29298         and 1 smaller.
29299         * src/print.c (print_object): Simplify by calling
29300         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
29301         Avoid unnecessary NILP.
29303 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29305         Use ptrdiff_t instead of Lisp_Object for collision
29307         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
29308         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
29309         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
29310         integer (or Qnil if empty).  All callers changed.
29311         (larger_vecalloc): New static function.
29312         (larger_vector): Use it.
29313         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
29314         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
29315         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
29316         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
29317         * src/profiler.c (evict_lower_half, record_backtrace):
29318         -1, not nil, is now the convention for end of collision list.
29319         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
29320         of the free list.  Reallocate H->next last, in case other
29321         reallocations exhaust memory.
29322         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
29323         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
29324         ‘index’, which no longer contain nil.
29325         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
29327 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29329         Hash table threshold is now float, not double
29331         Change default from 0.8 to 0.8125 so it fits in float without
29332         rounding glitches.
29333         * doc/lispref/hash.texi (Creating Hash):
29334         * doc/lispref/objects.texi (Hash Table Type):
29335         * etc/NEWS:
29336         Document change.
29337         * src/fns.c (make_hash_table, maybe_resize_hash_table)
29338         (Fmake_hash_table): Threshold is now float, not double.
29339         Be consistent about how this is rounded.
29340         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
29341         Change back to float, now that the other code rounds consistently.
29342         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
29344 2017-02-22  Juri Linkov  <juri@linkov.net>
29346         Avoid flicker in lazy-highlight by doing all updates without redisplay.
29348         * lisp/isearch.el (lazy-highlight-max-at-a-time):
29349         Change default value from 20 to nil to not trigger redisplay
29350         between updating iterations.
29351         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
29352         overlays when non-nil.
29353         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
29354         with non-nil second arg when the search string is not empty.
29355         Run timer with isearch-lazy-highlight-start instead of
29356         isearch-lazy-highlight-update.
29357         (isearch-lazy-highlight-start): New function. (Bug#25751)
29359 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29361         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
29363         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
29365 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29367         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
29369         which resulted in incomplete list of parents in one copy of the
29370         cl-structure-class class.
29372 2017-02-21  Glenn Morris  <rgm@gnu.org>
29374         Tweak recent custom-reevaluate-setting change
29376         * lisp/custom.el (custom-reevaluate-setting):
29377         Tweak previous change to avoid font-lock init issues.
29379 2017-02-21  Glenn Morris  <rgm@gnu.org>
29381         Ensure delayed-init custom variables get marked special
29383         * lisp/custom.el (custom-reevaluate-setting):
29384         If the variable has never been set, defvar it.  (Bug#25770)
29386 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
29388         Turn on lexical-binding in dunnet.el
29390         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
29391         byte compile warnings.
29393 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
29395         Make dunnet insertion functions n-ary
29397         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
29398         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
29399         any number of arguments.
29400         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
29401         (dun-take, dun-go, dun-move, dun-press, dun-score):
29402         (dun-compile-save-out, dun-do-logfile): Collect arguments from
29403         multiple insertion calls into less calls with more args.
29405 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
29407         message-goto-body-1: Fix regexp so as not to match multi-line
29409         * lisp/gnus/message.el (message-goto-body-1):
29410         Fix regexp so as not to match multi-line.
29412 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
29414         Simplify cl-get using `plist-member'
29416         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
29417         `plist-member' instead of explicit loop.
29418         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
29420 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29422         Verify xwidget USE_LSB_TAG assumption
29424         * src/xwidget.c (Fxwidget_webkit_execute_script):
29425         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
29427 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
29429         * src/insdel.c (make_gap): Improve comment.
29431 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29433         Do not use switch-to-buffer for working in a temp buffer
29435         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
29436         cf. Bug#22244.
29437         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
29438         with-temp-buffer instead.
29440 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29442         Make dun-room-shorts a defconst
29444         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
29445         initial value into the declaration.
29446         (dun-space-to-hyphen): Remove.
29448 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29450         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
29452         * src/xwidget.c (webkit_javascript_finished_cb)
29453         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
29454         integer.  This fix is just a hack; I’ll file a bug report about
29455         the underlying problem.
29457 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
29459         mm-decode.el: Simplify regexp used to search html meta tag
29461         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
29462         Simplify regexp used to search html meta tag.
29464 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
29466         mm-shr: Ignore coding-system `ascii'
29468         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
29470 2017-02-20  Tom Tromey  <tom@tromey.com>
29472         vc-log-outgoing fixes for git; add binding to vc-dir
29474         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
29475         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
29476         async execution.
29477         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
29478         log-incoming.
29479         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
29480         as remote-location argument.
29482 2017-02-20  Tom Tromey  <tom@tromey.com>
29484         Remove stale comments from vc-git and vc-hg
29486         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
29487         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
29489 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29491         Remove member clone
29493         * lisp/play/dunnet.el (dun-answer): Use member instead.
29494         (dun-members): Remove.
29496 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29498         Prefix global var
29500         * lisp/play/dunnet.el (room): Rename to dun-room.
29501         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
29502         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
29504 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
29506         Replace nested ifs with cond
29508         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
29509         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
29510         and cond where appropriate.
29511         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
29512         (dun-take): Use null and dun-mprincl.
29513         (dun-inven-weight, dun-load-d): Reformat.
29514         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
29516 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29518         Fix glitches in recent hash table changes
29520         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
29521         by using 0 rather than -1.
29522         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
29523         than a bitfield, for speed (the bitfield did not save space).
29524         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
29525         float, since the float caused unwanted rounding errors, e.g.,
29526         (hash-table-rehash-threshold (make-hash-table)) yielded
29527         0.800000011920929 instead of the correct 0.8.
29529 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
29531         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
29533 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
29535         Avoid aborts during loadup
29537         * src/emacs-module.c (syms_of_module):
29538         * src/image.c (xpm_make_color_table_h): Update calls to
29539         make_hash_table to adjust to a recent change in fns.c.
29540         * src/fns.c (make_hash_table):
29541         * src/lisp.h (make_hash_table): 4th arg is now of type double.
29543 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
29545         Rework connection local variables
29547         For connection local variables interface, `class' is renamed
29548         to `profile'.  All arguments `criteria' are a plist now.
29550         * doc/lispref/variables.texi (Connection Local Variables):
29551         Rewrite.
29553         * lisp/files-x.el (connection-local-profile-alist): Rename
29554         from `connection-local-class-alist'.  Adapt docstring.
29555         (connection-local-criteria-alist): Adapt docstring.
29556         (connection-local-normalize-criteria): New defun.
29557         (connection-local-get-profiles): Rename from
29558         `connection-local-get-classes'.  Rewrite.
29559         (connection-local-set-profiles): Rename from
29560         `connection-local-set-classes'.  Rewrite.
29561         (connection-local-get-profile-variables): Rename from
29562         `connection-local-get-class-variables'.  Rewrite.
29563         (connection-local-set-profile-variables): Rename from
29564         `connection-local-set-class-variables'.  Rewrite.
29565         (hack-connection-local-variables)
29566         (hack-connection-local-variables-apply)): Rewrite.
29567         (with-connection-local-profiles): Rename from
29568         `ith-connection-local-classes'.  Rewrite.
29570         * lisp/net/tramp.el (tramp-set-connection-local-variables):
29571         Compute criteria.
29573         * lisp/net/tramp-cmds.el (tramp-bug):
29574         Use `connection-local-profile-alist'.
29576         * test/lisp/files-x-tests.el (files-x-test--variables1)
29577         (files-x-test--variables2, files-x-test--variables3)
29578         (files-x-test--variables4, files-x-test--criteria1)
29579         (files-x-test--criteria2): Make them a defconst.
29580         (files-x-test--application)
29581         (files-x-test--another-application, files-x-test--protocol)
29582         (files-x-test--user, files-x-test--machine): New defconst.
29583         (files-x-test--criteria): New defvar.
29584         (files-x-test--criteria3): Remove.
29585         (files-x-test-connection-local-set-profile-variables):
29586         Rename from `files-x-test-connection-local-set-class-variables'.
29587         Rewrite.
29588         (files-x-test-connection-local-set-profiles): Rename from
29589         `files-x-test-connection-local-set-classes'.  Rewrite.
29590         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
29591         (files-x-test-with-connection-local-profiles): Rename from
29592         `files-x-test-with-connection-local-classes'.  Rewrite.
29594 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29596         Set up combination and random item location
29598         * lisp/play/dunnet.el (dun-combination): Make defconst.
29599         (tloc, tcomb): Remove.  Replace with a top-level form.
29601 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29603         Replace movement variables with an alist and accessor
29605         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
29606         (northwest, southwest, up, down, in, out): Remove.
29607         (dun-movement-alist): New constant.
29608         (dun-movement): New function.
29609         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
29610         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
29611         (dun-move, dun-special-move): Translate movement symbol to an
29612         enumeration.
29614 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29616         Change top-level setq forms to defvar or defconst
29618         Also collect some code onto fewer lines and reindent.
29619         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
29620         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
29621         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
29622         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
29623         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
29624         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
29625         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
29626         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
29627         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
29628         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
29629         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
29630         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
29631         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
29632         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
29633         declaration to use defvar or defconst.
29634         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
29635         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
29636         dun-verblist.  Those are now constants and the byte compiler doesn't
29637         allow defconsts in lambda lists.
29639 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29641         Move all dunnet globals up to the top
29643         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
29644         (dun-visited, dun-current-room, dun-exitf):
29645         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
29646         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
29647         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
29648         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
29649         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
29650         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
29651         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
29652         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
29653         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
29654         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
29655         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
29656         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
29657         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
29658         top of the file, before any uses.
29660 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
29662         Fix bug#25788
29664         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
29665         Do not load tramp.el just for "/".  (Bug#25788)
29667 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
29669         Fix fringe bitmap initialization on MS-Windows
29671         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
29672         of fb->bits.  (Bug#25673)
29674 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
29676         Change type of `rehash_threshold' and `pure' fields in hash-tables
29678         * src/lisp.h (struct Lisp_Hash_Table): Change type of
29679         `rehash_threshold' and `pure' fields and move them after `count'.
29680         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
29681         (Fmake_hash_table, Fhash_table_rehash_threshold):
29682         * src/category.c (hash_get_category_set):
29683         * src/xterm.c (syms_of_xterm):
29684         * src/profiler.c (make_log):
29685         * src/print.c (print_object):
29686         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
29688 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29690         Use 'char *FOO' instead of 'char* FOO'
29692 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
29694         More json.el changes
29696         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
29697         (json-read-array): Just use = for char comparison.
29699 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
29701         * lisp/woman.el (woman): Fix docstring prefix arg description.
29703 2017-02-18  Alan Mackenzie  <acm@muc.de>
29705         Fix edebug-spec on c-lang-defvar.
29707         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
29708         optional documentation to be instrumented for edebug.
29710         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
29711         c-lang-defvar.
29712         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
29713         'dont-doc.
29715 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
29717         Lists used as plists now have to be an even length
29719         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
29720         (eww-process-text-input): Not here, either.
29722 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
29724         Unset `non-essential' in Tramp when not needed anymore
29726         * doc/misc/trampver.texi:
29727         * lisp/net/trampver.el: Change version to "2.3.2-pre".
29729         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
29730         Use `tramp-completion-mode-p'.
29732         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
29733         when file name doesn't match `tramp-completion-file-name-regexp'.
29735 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29737         Automatically regenerate emacs.1 and *.rc files
29739         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
29740         non-Makefile files produced by config.status.
29741         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
29742         their targets are regenerated when the source changes.
29744 2017-02-18  Alan Mackenzie  <acm@muc.de>
29746         Set the syntax table in AWK Mode.
29748         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
29749         It fixes bug #25722.
29751         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
29753 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29755         Mention "editor" in Emacs man page header
29757         * doc/man/emacs.1.in: Mention "editor" in the header line.
29758         (Bug#25771, Bug#25779)
29760 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
29762         Fix Turkish language environment setup
29764         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
29765         language setup.  (Bug#25763)
29767 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
29769         Support 24-bit direct colors on text terminals
29771         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
29772         foreground and background functions are present in terminal type
29773         definition.
29774         * src/tparam.h: Define prototype for tigetstr.
29776         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
29777         index to pixel value on 16.7M color terminals.
29778         (tty-color-24bit): New function to convert color palette index to
29779         pixel value on 16.7M color terminals.
29780         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
29781         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
29782         TTY colors on 16.7M color terminals.
29784         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
29785         enable direct color TTY mode.
29786         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
29788 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
29790         Remove unused TN_max_pairs field
29792         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
29793         describing maximum number of terminal background/foreground color pairs.
29794         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
29795         (init_tty): Remove references to TN_max_pairs.
29797 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29799         Improve documentation of query-replace-from-to-separator
29801         * doc/emacs/search.texi (Query Replace): Document the meaning of
29802         the nil value of query-replace-from-to-separator.  (Bug#25482)
29804 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29806         Document problems with nerd-fonts
29808         * etc/PROBLEMS (fonts): Describe the potential problems with
29809         nerd-fonts that cause slow display.  (Bug#25697)
29811 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29813         Improve commentary for a recent change in keyboard.c
29815         * src/keyboard.c (Fset__this_command_keys): Add a comment about
29816         the magic 248 value.  (Bug#25612)
29818 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29820         Avoid infloop in rect.el
29822         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
29823         with argument N whose absolute value is greater than 1.  (Bug#25773)
29825 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
29827         Remove annoying warnings about let-binding
29829         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
29830         Remove warnings about making symbols local while let-bound.
29831         (Bug#25561)
29833 2017-02-18  Hong Xu  <hong@topbug.net>
29835         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
29837         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
29838         functionp instead of fboundp on
29839         flyspell-generic-check-word-predicate (Bug#25765).
29841 2017-02-18  Glenn Morris  <rgm@gnu.org>
29843         Remove the build number from emacs-version variable
29845         It's a largely internal detail that can confuse users.  (Bug#25590)
29846         * lisp/version.el (emacs-build-number): New constant.
29847         (emacs-version): Use emacs-build-number.
29848         * lisp/loadup.el (top-level): When dumping, increment
29849         emacs-build-number rather than emacs-version.
29850         * src/emacs.c (emacs-version): Doc fix.
29851         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
29852         Mention emacs-build-number.
29853         * lisp/gnus/gnus-util.el (gnus-emacs-version):
29854         * lisp/mail/emacsbug.el (report-emacs-bug):
29855         * admin/admin.el (set-version): Update for emacs-version change.
29857 2017-02-18  Glenn Morris  <rgm@gnu.org>
29859         Ensure that user-mail-address always has a value
29861         * lisp/startup.el (user-mail-address): Initialize in the normal way.
29862         (command-line): Reset user-mail-address if needed using
29863         standard custom machinery.
29864         * lisp/mail/feedmail.el (feedmail-fiddle-from):
29865         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
29866         * lisp/mail/rmailsum.el (rmail-header-summary):
29867         Simplify now that user-mail-address is always set.
29869 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
29871         Turn on lexical-binding in ruby-mode
29873         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
29874         (ruby-font-lock-syntax-table): Use make-syntax-table.
29875         (ruby-mode): 'define-derived-mode' writes the keys for us.
29877 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
29879         Turn on lexical-binding in elint.el
29881         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
29882         (elint-running, elint-current-pos): Move these dynamic vars to toward
29883         the top of the file.
29884         (elint-check-quote-form): Ignore unused argument.
29885         (elint-check-conditional-form): Remove unused binding.
29887 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
29889         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
29891 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
29893         Enable erc-accidental-paste-threshold-seconds by default
29895         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
29896         default to 0.2 (Bug#25709).
29898 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
29900         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
29902         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
29903         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
29904         one created with ‘make extraclean’), see
29905         <http://hydra.nixos.org/build/48774928>.
29907         The failure was caused by characters.el trying to read Unicode
29908         property tables which aren’t available so early in the build process.
29910         Wrap the part that requires Unicode property tables in a condition
29911         checking if those are available.  If they aren’t they case and syntax
29912         tables won’t be fully set but later on, the characters.el file will be
29913         evaluated again and this time with Unicode properties available so
29914         final Emacs ends up with the exact same case and syntax tables.
29916 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
29918         mm-add-meta-html-tag: Improve regexp
29920         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
29921         Improve regexp to search html meta tag.
29923 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
29925         mm-shr: Prefer charset specified in html meta tag
29927         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
29928         meta tag than mail-parse-charset in the case there is no charset spec
29929         in MIME header.
29931 2017-02-17  Glenn Morris  <rgm@gnu.org>
29933         Stop duplicating some custom-types in message.el
29935         * lisp/gnus/message.el (user-mail-address, user-full-name):
29936         No need to re-specify custom-type.
29938 2017-02-17  Glenn Morris  <rgm@gnu.org>
29940         Whitespace trivia in dunnet.el
29942         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
29943         (dun-rlogin-endgame): Whitespace trivia.
29945 2017-02-17  Glenn Morris  <rgm@gnu.org>
29947         Explicit error on changing case of negative integers
29949         * src/casefiddle.c (casify_object): Reject negative integers:
29950         Emacs characters are positive integers.  (Bug#25684)
29952 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
29954         Fix buffers update in vc-retrieve-tag
29956         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
29957         `repository', use the repository root and pass it to
29958         vc-resynch-buffer (bug#25714).
29960 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
29962         * src/buffer.h: Fix indenting.
29964 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
29966         Add sanity checks for Bswitch hash tables
29968         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
29969         Check that operand is a hash table and hashes to ints.
29971 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
29973         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
29975 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
29977         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
29979         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
29980           redundant operations while calculating the correct jump addresses
29981           from TAGs in jump tables.
29983 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
29985         Minor changes in json.el
29987         * lisp/json.el (json-advance): Simpler docstring.
29988         (json-read-escaped-char): Use xdigit subform in rx expression.
29989         (json-read-string): Just use = for char comparison.
29991 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
29993         Don't expand body inside a let-binding when there are no bindings
29995         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
29996         is non-nil.
29998 2017-02-16  Glenn Morris  <rgm@gnu.org>
30000         Handle user-mail-address being the empty string
30002         * lisp/mail/feedmail.el (feedmail-fiddle-from):
30003         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
30004         * lisp/mail/rmailsum.el (rmail-header-summary):
30005         Belated update for 2002-09-29 startup.el change, 680ebfa, where
30006         the value of user-mail-address during initialization was changed
30007         from nil to the empty string.
30009 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
30011         Continue to fix bug#25607
30013         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
30014         (ido-file-name-all-completions-1): Do not bind `non-essential'.
30016         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
30017         Improve autoloaded version.
30018         (tramp-completion-file-name-handler): Remove old compat code.
30019         Check only for `tramp-completion-mode-p'.
30020         (tramp-completion-mode-p): Autoload.  Do not check any longer
30021         for `last-input-event'.
30022         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
30024 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30026         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
30028         A compatibility digraph characters, such as Dž, are neither upper- nor
30029         lower-case.  At the moment however, those are reported as upper-case¹
30030         despite the fact that they change when upper-cased.
30032         Stop checking if a character is upper-case before trying to up-case it
30033         so that title-case characters are handled correctly.  This fixes one of
30034         the issues mentioned in bug#24603.
30036         ¹ Because they change when converted to lower-case.  Notice an asymmetry
30037           in that for a character to be considered lower-case it must not be
30038           upper-case (plus the usual condition of changing when upper-cased).
30040         * src/buffer.h (upcase1): Delete.
30041         (upcase): Change to upcase character unconditionally just like downcase
30042         does it.  This is what upcase1 was.
30044         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
30045         of upcase1 and don’t check !uppercasep(x) before calling upcase.
30047         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
30048         downcase(x) and see if it changed.
30050         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
30051         casefiddle-tests-casing): Update test cases which are now passing.
30053 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30055         Generate upcase and downcase tables from Unicode data  (bug#24603)
30057         Use Unicode data to generate case tables instead of mostly repeating
30058         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
30059         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
30061         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
30062         changes to syntax table and case tables introduced by this commit.
30064         * lisp/international/characters.el: Remove case-pairs defined with
30065         explicit Lisp code and instead use Unicode character properties.
30067         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
30068         casefiddle-tests-casing): Update test cases which are now working
30069         as they should.
30071 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30073         Add tests for casefiddle.c  (bug#24603)
30075         Fixes cases marked FIXME upcoming in followup commits.
30077         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
30078         casefiddle-tests-case-table, casefiddle-tests-casing-character,
30079         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
30080         casefiddle-tests-casing-byte8-with-changes): New tests.
30081         (casefiddle-tests--test-casing): New helper function for runnig
30082         some of the tests.
30084 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
30086         oldXMenu: add missing #include <string.h>
30088         Some of the files in oldXMenu use functions from string.h without
30089         including that header which results in compile warnings:
30091                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
30092                 ChgPane.c:46:20: warning: incompatible implicit declaration of
30093                         built-in function ‘strlen’
30094                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
30095                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
30096                         function ‘strlen’
30097                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
30098                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
30099                 InsPane.c:65:20: warning: incompatible implicit declaration of
30100                         built-in function ‘strlen’
30101                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
30102                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
30103                         function ‘strlen’
30104                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
30106         Add the necessary ‘#include <string.h>’.
30108         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
30109         oldXMenu/InsSel.c: add missing #include <string.h>
30111 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
30113         Fixup recent rmail patch
30115         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
30117 2017-02-15  Richard Stallman  <rms@gnu.org>
30119         Rmail fix
30121         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
30122         as element 4 of the value.
30123         (rmail-epa-decrypt): Take the text to insert from that element.
30125 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
30127         bytecomp-tests.el: Store all test forms in one constant.
30129         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
30130         in a single constant (byte-opt-testsuite-arith-data), add new forms
30131         which generate lapcode with adjacent/redundant tags.
30133 2017-02-15  Glenn Morris  <rgm@gnu.org>
30135         Small lispref edit
30137         * doc/lispref/os.texi (User Identification):
30138         Remove extraneous detail about user-mail-address.
30140 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
30142         Document fill-separate-heterogeneous-words-with-space (bug#25685)
30144         * doc/lispref/text.texi (Filling):
30145         Document fill-separate-heterogeneous-words-with-space (bug#25685).
30147 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
30149         Test comment-multi-line = nil auto fill case too
30151         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
30152         `comment-multi-line' both nil and non-nil.
30153         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
30154         boolean.
30155         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
30157 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
30159         Don't delete leading and trailing space from CJK word (bug#25685)
30161         * lisp/textmodes/fill.el (fill-delete-newlines):
30162         Don't delete leading and trailing space from CJK word.
30163         (fill-separate-heterogeneous-words-with-space):
30164         New user option that controls it (bug#25685).
30166 2017-02-15  Juri Linkov  <juri@linkov.net>
30168         ‘M-s w RET word C-s’ repeats incremental search.
30170         * lisp/isearch.el (isearch-new-nonincremental): New variable.
30171         (with-isearch-suspended): Bind isearch-new-nonincremental to
30172         isearch-nonincremental, and restore it afterwards.
30173         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
30174         Set isearch-new-nonincremental to nil.  (Bug#25562)
30176 2017-02-14  Tom Tromey  <tom@tromey.com>
30178         Make vc-git detect conflict state for vc-dir
30180         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
30181         (vc-git-dir-status-update-file): New function.
30182         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
30183         vc-git-dir-status-state; add 'ls-files-conflict state.
30184         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
30186 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
30188         byte-opt: Replace merged tags in jump tables too. (bug#25716)
30190         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
30191           adjacent tags, make sure that the old tag is replaced in all jump
30192           tables, if any. This fixes the bytecode VM jumping to the wrong
30193           address in compiled cond forms where the body of a clause was a loop
30194           of any sort.
30196 2017-02-14  Glenn Morris  <rgm@gnu.org>
30198         Remove overly broad element from default mail-dont-reply-to-names
30200         * lisp/mail/mail-utils.el (mail-dont-reply-to):
30201         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
30202         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
30203         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
30204         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
30206 2017-02-14  Juri Linkov  <juri@linkov.net>
30208         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
30210 2017-02-13  Arash Esbati  <arash@gnu.org>
30212         Match all characters in optional argument of \documentclass
30214         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
30215         characters in optional argument containing name of the main file.
30217 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
30219         Merge branch 'master' into feature/byte-switch
30221 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
30223         Fix non-ASCII text encoding (bug#25658)
30225         * lisp/gnus/mm-bodies.el (mm-encode-body):
30226         Fix non-ASCII text encoding (bug#25658).
30228 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
30230         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
30232 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
30234         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
30236 2017-02-13  Glenn Morris  <rgm@gnu.org>
30238         Fix recent bootstrap issue by moving string-to-list
30240         * lisp/international/mule-util.el (string-to-list, string-to-vector):
30241         Move from here...
30242         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
30243         The implementation is trivial and at least string-to-list
30244         has ended up being needed early during bootstrap.
30246 2017-02-13  Glenn Morris  <rgm@gnu.org>
30248         Doc fixes related to mail-host-address
30250         * lisp/startup.el (mail-host-address): Doc fix.
30251         * doc/lispref/os.texi (System Environment):
30252         Remove extraneous details of mail-host-address.
30254 2017-02-13  Glenn Morris  <rgm@gnu.org>
30256         Simplify time-stamp mail host usage
30258         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
30259         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
30261 2017-02-13  Glenn Morris  <rgm@gnu.org>
30263         Doc fix for vhdl-mode re mail-host-address
30265         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
30266         (mail-host-address): Do not add to vhdl-related custom group,
30267         since vhdl-template-replace-header-keywords doesn't use it.
30269 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
30271         Substitute leading $HOME/ in xdg-user-dirs
30273         * lisp/xdg.el (xdg--substitute-home-env): New function.
30274         (xdg--user-dirs-parse-line): Use it.
30275         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
30277 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
30279         * lisp/buff-menu.el: Turn on lexical-binding.
30281 2017-02-13  Juri Linkov  <juri@linkov.net>
30283         * lisp/replace.el (query-replace-from-to-separator): Move propertize
30285         and char-displayable-p test to query-replace-read-from.
30286         Add choice nil to disable this feature.
30287         (query-replace-read-from): Don't reevaluate custom setting.
30288         Use char-displayable-p to test the first non-whitespace character
30289         in query-replace-from-to-separator, use " -> " when fails.
30290         Add prompt for the case when separator is nil but
30291         query-replace-defaults is non-nil.
30292         Remove unused test for regexp-flag.
30293         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
30295 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
30297         Convert more uses of `looking-at' to `following-char'
30299         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
30300         (commit 91478f46238a) with more of the same.
30302         * lisp/bookmark.el (bookmark-send-edited-annotation):
30303           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
30304           with char comparisons using following-char.
30306 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30308         Fix typos in tests for lax-plist-get etc.
30310         Problem reported by Eli Zaretskii (Bug#25606#62).
30311         * test/src/fns-tests.el (test-cycle-lax-plist-get)
30312         (test-cycle-plist-put, test-cycle-lax-plist-put):
30313         Fix tests to match behavior.
30315 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
30317         Fix bug#25607
30319         * lisp/net/tramp.el (tramp-completion-file-name-handler):
30320         Improve autoloaded version.
30321         (tramp-autoload-file-name-handler): Avoid recursive load.
30322         (tramp-completion-handle-expand-file-name): Handle empty NAME.
30323         (Bug#25607)
30325 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
30327         Remove server-buffer-clients string from minor-mode-alist
30329         * lisp/server.el: Don't put an element for server-buffer-clients into
30330         minor-mode-alist. (Bug#20201)
30332 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
30334         Nix some useless uses of looking-at, looking-back
30336         * lisp/allout.el (allout-kill-topic):
30337         (allout-next-topic-pending-encryption):
30338         * lisp/bookmark.el (bookmark-kill-line):
30339         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
30340         * lisp/cus-theme.el (custom-theme-write-variables):
30341         (custom-theme-write-faces):
30342         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
30343         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
30344         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
30345         (checkdoc-interactive-ispell-loop):
30346         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
30347         (checkdoc-this-string-valid-engine):
30348         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
30349         * lisp/emulation/viper-cmd.el (viper-backward-indent):
30350         * lisp/image-dired.el (image-dired-delete-char):
30351         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
30352         looking-back with char comparisons using following-char, preceding-char.
30354 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
30356         Clarify what is the "cursor"
30358         * doc/lispref/windows.texi (Window Point): Clarify the notion of
30359         "cursor".
30361 2017-02-11  Tom Tromey  <tom@tromey.com>
30363         Recognize JS regexp literals more correctly
30365         Bug#25529
30366         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
30367         constant.
30368         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
30369         (js--syntax-propertize-regexp-syntax-table): Remove.
30370         (js-syntax-propertize): Update.
30371         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
30372         New test.
30374 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30376         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
30378         This avoids using XUINT every time while comparing it with
30379         HASH_HASH (h, i), replacing it with EQ.
30381 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30383         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
30385 2017-02-11  Tom Tromey  <tom@tromey.com>
30387         Fix bug in css--mdn-find-symbol
30389         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
30390         before skipping word characters.
30391         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
30392         regression test.
30394 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30396         src/bytecode.c: Add optional sanity check for jump tables.
30398         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
30399           check that the jump table's size is equal to it's count.
30401 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
30403         Merge branch 'master' into feature/byte-switch
30405         * src/bytecode.c: Refactor to follow GNU coding standards
30407 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
30409         Fix handling of XBM images on MS-Windows
30411         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
30412         'nbytes' when inverting XBM data bits.  (Bug#25661)
30414 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
30416         Fix handling of PBM data
30418         * src/image.c (pbm_load): Handle PBM data with no blanks between
30419         individual pixel values correctly.  (Bug#25660)
30421 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
30423         Fix warnings in debug tracing code
30425         * src/xdisp.c (dump_glyph, dump_glyph_string):
30426         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
30427         specifiers to match signedness.
30429 2017-02-10  Sam Steingold  <sds@gnu.org>
30431         Extract grep-find-ignored-directories processing from rgrep-default-command
30433         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
30434         Some Emacs packages use `grep-find-ignored-directories' to ignore some
30435         directories, so will use this function instead of custom code.
30436         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
30438 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
30440         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
30442         * src/bytecode.c: (exec_byte_code) While linear searching the jump
30443           table, compare the value's hash table first to avoid calling
30444           h->test.cmpfn every time.
30446 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
30448         Fix a few integer-overflow glitches
30450         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
30451         * src/dispextern.h (struct composition_it.rule_idx):
30452         * src/keyboard.c (Fset__this_command_keys):
30453         * src/xwidget.c (webkit_js_to_lisp):
30454         Don’t assume object sizes fit in ‘int’.
30455         * src/xwidget.c (Fxwidget_resize):
30456         Don’t assume Emacs integers fit in ‘int’.
30458 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
30460         Fix a bug with displaying an image after a TAB
30462         * src/xdisp.c (display_line): Handle TAB at end of screen line
30463         specially only when we are displaying characters.  (Bug#25662)
30465 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
30467         Improve commentary in lisp.h
30469         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
30470         object is discouraged.
30472 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
30474         Move cyclic tests to fns-tests.el
30476         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
30477         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
30478         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
30479         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
30480         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
30481         (test-cycle-plist-get, test-cycle-lax-plist-get)
30482         (test-cycle-plist-member, test-cycle-plist-put)
30483         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
30484         New tests.
30485         * test/manual/cyclic-tests.el: File deleted.
30487 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
30489         Fix instrumenting code with propertized strings in Edebug
30491         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
30492         'read' to decide what is and isn't a syntax error.  (Bug#25068)
30494 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
30496         Improve fontification in bat-mode
30498         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
30499         word and symbol constituents when looking for variable names
30500         to fontify; also, correct the syntax table and mark the equal
30501         sign (=) character as punctuation.  Improve fontification
30502         accuracy of iteration/positional variables.
30503         (bat-mode): Set comment-start-skip.  (Bug#25541)
30505         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
30506         bat-mode.el.
30508 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
30510         Restore special setting of this-command-keys by M-x
30512         It was lost when execute-extended-command was reimplemented in Lisp.
30514         * src/keyboard.c (Fset__this_command_keys): New function.
30515         (syms_of_keyboard): Defsubr it.
30517         * lisp/simple.el (execute-extended-command): Set this-command-keys
30518         as novice.el expects.  (Bug#25612)
30520 2017-02-09  Juri Linkov  <juri@linkov.net>
30522         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
30524         to t to display "Pending" in the search prompt for lax
30525         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
30526         when 'bound' is non-nil.
30527         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
30528         at the beginning of regexp (bug#22589).
30530         * lisp/info.el (Info-isearch-search):
30531         Use isearch--lax-regexp-function-p.
30533         * doc/emacs/search.texi (Word Search, Symbol Search):
30534         Mention "Pending" prompt for lax word/symbol search.
30536 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
30538         src/bytecode.c (exec_byte_code): Remove unneeded assert.
30540         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
30542 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
30544         bytecode.c (exec_byte_code): don't check hash code in linear search.
30546         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
30547           not nil when linear scanning the jump table. Hash tables for are
30548           declared with :size as the exact number of cases, so each entry i
30549           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
30550           check.
30552 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
30554         Ibuffer: Update mode documentation
30556         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
30558 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
30560         Fix environment variable for xdg-data-dirs
30562         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
30564 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
30566         Ibuffer: Erase output buffer before shell commands
30568         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
30569         BEFORE and AFTER; they are forms to run before/after the operation.
30570         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
30571         New defun; if shell-command-dont-erase-buffer is nil, then
30572         erase shell command output buffer.
30573         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
30575 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
30577         Ibuffer: Don't truncate shell command output
30579         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
30580         (ibuffer-do-shell-command-pipe-replace)
30581         Use 'call-shell-region' (Bug#22679).
30582         (ibuffer-do-shell-command-file): Use call-process-shell-command.
30583         If FILE, the file that the buffer object is visiting,
30584         exists and the buffer is up-to-date, then use
30585         FILE instead of creating a temporary file (Bug#22679).
30587 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
30589         Improve byte-switch execution.
30591         * lisp/emacs-lisp/byte-opt.el,
30592           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
30593           (byte-compile-lapcode): Calculate the actual jump address while
30594           compiling, store it in the jump table.
30596         * src/bytecode.c: Jump to the looked up value directly, do a linear
30597           search when the number of elements is <= 5.
30599 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
30601         Make sure eshell pipelines don't drop data
30603         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
30604         handling output of the process, make sure to close the pipes only later,
30605         so that the next process in the pipeline recieves EOF only after getting
30606         all its input (Bug#25549).
30608 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
30610         Make mm-shr use mail-parse-charset by default
30612         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
30613         This helps an html message with no charset spec to be decoded.
30615 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
30617         describe-char: unambiguous name for inserting ASCII 7
30619         * lisp/descr-text.el (describe-char): Make the input
30620         suggestion for inserting ASCII character 7 by name use the
30621         unambiguous name "BELL (BEL)" (bug#25641).
30623 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
30625         Modify suppressing `vc-refresh-state' in filenotify-tests.el
30627         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
30628         Use an advice rather than an alias for suppressing `vc-refresh-state'.
30630 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
30632         Disable native completion for ipython (Bug#25067)
30634         * lisp/progmodes/python.el:
30635         (python-shell-completion-native-disabled-interpreters): Add "ipython".
30637 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
30639         Suppress undesired error messages in filenotify-tests.el
30641         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
30642         Suppress `vc-refresh-state', it produces undesired error messages.
30644 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
30646         Fix a typo in ada-mode manual
30648         * doc/misc/ada-mode.texi (Project file variables): Add a missing
30649         right bracket.  Reported by Jean-Christophe Helary
30650         <jean.christophe.helary@gmail.com>.
30652 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
30654         Ensure that Gnus bugs show up in the Emacs tracker
30656         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
30657         package spec.
30659 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
30661         Revert "Don't tag Gnus bugs with "gnus""
30663         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
30665         The debbugs syntax requires a package name
30667 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
30669         Add tests for checking byte-switch code.
30671         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
30672           test byte-switch bytecode.
30674 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
30676         Add xdg library
30678         * etc/NEWS: Mention new library.
30679         * lisp/xdg.el: New file.
30681 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30683         Do not trick info/dir’s timestamp
30685         * Makefile.in (${srcdir}/info/dir): When making this file, do not
30686         do anything special about its timestamp.  Previously this rule
30687         used move-if-change, which meant that this file’s timestamp could
30688         end up being older than the files it depends on, and this caused
30689         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
30690         now that ‘make-dist’ invokes ‘make --question info’.
30692 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30694         Make FOR_EACH_TAIL more like other FOR_EACH macros
30696         See comments by Stefan Monnier in:
30697         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
30698         and by Eli Zaretskii in:
30699         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
30700         * src/fns.c (internal_equal): Do not bypass check for depth
30701         overflow when tail-recursing via a dotted list tail or an overlay
30702         plist, to avoid a rare infloop.
30703         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
30704         arg, and update it at each iteration, rather than have callers
30705         access it.tail.  All callers changed.
30706         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
30707         the caller’s responsibility.  All callers changed.
30708         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
30709         (struct for_each_tail_internal.tail): Remove; no longer needed.
30710         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
30711         arg each time through the loop.  All callers changed.
30713 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30715         Port to clang 3.8.0
30717         It does not allow a for-loop's control var to be an anonymous struct.
30718         * src/lisp.h (struct for_each_tail_internal): New type.
30719         (FOR_EACH_TAIL_INTERNAL): Use it.
30721 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30723         Add cyclic-list tests
30725         * test/manual/cycle-tests.el: New file (Bug#25606).
30727 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30729         FOR_EACH_TAIL now checks for quit
30731         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
30732         maybe_quit are unnecessary in practice, Eli was not convinced
30733         that the calls are unnecessary.
30734         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
30735         Call maybe_quit every so often.
30736         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
30738 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30740         Signal list cycles in ‘length’ etc.
30742         Use macros like FOR_EACH_TAIL instead of maybe_quit to
30743         catch list cycles automatically instead of relying on the
30744         user becoming impatient and typing C-g (Bug#25606).
30745         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
30746         (Frassoc, Fdelete, Freverse):
30747         Use FOR_EACH_TAIL instead of maybe_quit.
30748         (Fnreverse): Use simple EQ to check for circular list instead
30749         of rarely_quit, as this suffices in this unusual case.
30750         (Fplist_put, Flax_plist_put, Flax_plist_put):
30751         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
30752         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
30753         of by-hand tail recursion that did not catch cycles.
30754         * src/fns.c (Fsafe_length, Fplist_get):
30755         * src/xdisp.c (display_mode_element):
30756         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
30757         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
30758         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
30759         fancier versions are no longer needed.
30760         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
30761         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
30762         mostly taken from FOR_EACH_TAIL.
30763         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
30765 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30767         Simplify use of FOR_EACH_TAIL
30769         * src/data.c (circular_list): New function.
30770         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
30771         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
30772         to speed things up a bit on typical hosts with optimization.
30773         All uses changed (Bug#25605).
30775 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
30777         * lisp/textmodes/css-mode.el: Require subr-x at compile time
30779 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
30781         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
30783         * doc/lispref/nonascii.texi (Text Representations): Clarify that
30784         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
30785         'filepos-to-bufferpos' can lead to expensive and slow processing.
30787         * lisp/international/mule-util.el (filepos-to-bufferpos)
30788         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
30790 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30792         Merge remote-tracking branch 'origin/master' into feature/byte-switch
30794 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30796         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
30798         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
30799           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
30800           make sure that obj1/obj2 can be compared with `eq'.
30802 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30804         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
30806 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30808         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
30810         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
30811           Restore value of byte-compile-depth after emitting a jump to a tag
30812           in a jump table, or default/done tags.
30813           Set the depth of final tags for byte-switch to nil after emitting
30814           any jumps to them.
30816 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30818         byte-opt.el: Replace jump tables while decompiling correctly.
30820         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
30821           Don't make a copy of the constant vector, as it isn't used with
30822           the decompiled lapcode.
30823           Make sure that the correct lapcode pair/list is being modified while
30824           replacing the jump table.
30826 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
30828         bytecomp.el: Don't store non-keyword symbols in jump-tables.
30830         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
30831           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
30832           table can only be used when comparing variables with constant values.
30834 2017-02-04  Tom Tromey  <tom@tromey.com>
30836         typo fix
30838         (css--colon-inside-selector-p): Fix typo in docstring.
30840 2017-02-04  Tom Tromey  <tom@tromey.com>
30842         Set comment-multi-line in js-mode
30844         Bug#6806:
30845         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
30846         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
30848 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
30850         * test/manual/indent/scss-mode.scss: Fix indentation
30852 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
30854         Fix indentation of multiline CSS property values
30856         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
30857         to properties higher precedence.
30858         (css--colon-inside-selector-p, css--colon-inside-funcall): New
30859         functions for helping SMIE during tokenization.
30860         (css-smie--forward-token, css-smie--backward-token): Distinguish
30861         colons belonging to properties from other colons.
30863         * test/manual/indent/css-mode.css: Add tests for the changes above.
30865         * test/manual/indent/scss-mode.scss: Ditto.
30867 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30869         Add tests for lisp/kmacro.el
30871         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
30873 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30875         Fix autorevert-tests on MS-Windows
30877         * test/lisp/autorevert-tests.el
30878         (auto-revert-test02-auto-revert-deleted-file): Don't check that
30879         auto-revert-use-notify was reset to nil on w32.
30881 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30883         New macro 'ert-with-message-capture'
30885         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
30886         (Bug#25158)
30888         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
30889         (auto-revert-test00-auto-revert-mode)
30890         (auto-revert-test01-auto-revert-several-files)
30891         (auto-revert-test02-auto-revert-deleted-file)
30892         (auto-revert-test03-auto-revert-tail-mode)
30893         (auto-revert-test04-auto-revert-mode-dired):
30894         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
30895         ert-with-message-capture.
30897 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30899         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
30901         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
30902         'declare' form.  (Bug#24722)
30904 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30906         Fix a syntax error when evaluating pcase.el under Edebug
30908         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
30909         with an explicit 'put' form.  Suggested by Gemini Lasswell
30910         <gazally@runbox.com>.  (Bug#24717)
30912 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30913             Eli Zaretskii  <eliz@gnu.org>
30915         Change edebug-max-depth from defconst to defcustom
30917         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
30918         (Bug#24713)
30920         * etc/NEWS: Mention edebug-max-depth.
30922         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
30923         edebug-max-depth and index it.  Add cross-references for
30924         max-lisp-eval-depth and max-specpdl-size.
30926 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30928         Support options with embedded whitespace in 'dired-listing-switches'
30930         * lisp/dired.el (dired-listing-switches): Document how to quote
30931         options with embedded whitespace.
30933         * lisp/files.el (insert-directory): Use split-string-and-unquote
30934         to support dired-listing-switches that specify command-line
30935         options with embedded spaces.  (Bug#25485)
30937 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
30938             Noam Postavsky  <npostavs@users.sourceforge.net>
30940         Add tests for lisp/emacs-lisp/testcover.el
30942         * test/lisp/emacs-lisp/testcover-tests.el: New file.
30943         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
30945 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
30947         Document 'save-some-buffers-default-predicate'
30949         * doc/lispref/files.texi (Saving Buffers):
30950         * doc/emacs/files.texi (Save Commands): Document
30951         save-some-buffers-default-predicate.
30953 2017-02-04  Richard Stallman  <rms@gnu.org>
30955         New defcustom 'save-some-buffers-default-predicate'
30957         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
30958         (save-some-buffers): Use it when PRED is nil or omitted.
30960 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
30962         Rename to if-let* and when-let*
30964         Make the existing if-let and when-let aliases.
30965         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
30966         docstrings, incorporating that from let* and the existing if-let.
30967         (if-let, when-let, and-let*): Alias them.
30969 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
30971         Revert "Use maphash instead of cl-loop."
30973         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
30975 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
30977         Bump Emacs version to 25.2 RC1
30979         * README:
30980         * configure.ac:
30981         * msdos/sed2v2.inp:
30982         * nt/README.W32: Bump Emacs version.
30983         * lisp/ldefs-boot.el: Update.
30985 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
30987         * admin/make-tarball.txt: Add documentation regarding the release banner.
30989 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
30991         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
30993 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
30995         Re-port alloc.c to Solaris sparc and simplify
30997         alloc.c had bitrotted a bit, and used an undefined symbol
30998         stack_base when Emacs was built on Solaris sparc, leading to
30999         compilation failures.  Also, code related to __builtin_unwind_init
31000         was unnecessarily duplicated.  Fix the bitrot and remove some
31001         duplication.
31002         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
31003         is never defined.
31004         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
31005         Define a no-op dummy, to simplify use.
31006         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
31007         than in the caller, to simplify use.
31008         (stacktop_sentry): New type.
31009         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
31010         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
31011         (flush_stack_call_func, Fgarbage_collect): Use it.
31012         (init_alloc): Omit unnecessary initialization.
31013         After dumping, Emacs need not re-test setjmp.
31015 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31017         Add tests for scrolling
31019         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
31021 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31023         Fix scrolling with partial lines
31025         * src/xdisp.c (partial_line_height): New function.
31026         (try_scrolling):
31027         * src/window.c (window_scroll_pixel_based): Use it for calculating the
31028         pixel scroll margin correctly in a window with partial lines.
31030 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31032         Make limit on scroll-margin variable
31034         * src/xdisp.c (maximum-scroll-margin): New variable.
31035         * lisp/cus-start.el: Make it customizable.
31036         * etc/NEWS: Mention it.
31037         * doc/emacs/display.texi (Auto Scrolling):
31038         * doc/lispref/windows.texi (Textual Scrolling): Document it.
31039         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
31040         division by 4 (Bug #5718).
31042 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31044         Don't count mode line for scroll-margin limit
31046         * src/window.c (window_scroll_margin): Use window_box_height to avoid
31047         counting header line, scrollbars for scroll-margin limit (Bug #5718).
31049 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
31051         Refactor uses of scroll_margin to a function
31053         Its effective range needs to be clamped between 0 and (window height /
31054         4), so it's better to have this constraint in a single place.
31056         * src/window.c (window_scroll_margin): New function.
31057         (window_scroll_pixel_based, window_scroll_line_based):
31058         (Frecenter, Fmove_to_window_line):
31059         * src/xdisp.c (try_scrolling, try_cursor_movement):
31060         (redisplay_window, try_window, try_window_id): Use it.
31062 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
31064         (xref-collect-matches): Use '-E' together with '-e'
31066         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
31067         together with '-e', as suggested by Noam Postavsky
31068         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
31070 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31072         Pacify Oracle Studio 12.5
31074         * src/emacs.c (main): Do not silently convert char * to bool.
31076 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31078         Fix lisp.h underparenthesization
31080         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
31081         Parenthesize compound literals that are function call args.
31082         Although this does not fix any bugs, it is the proper style for
31083         macro parenthesization as it means this code will continue to
31084         work even if make_lisp_ptr is changed to a macro.
31086 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
31088         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
31090         (doc-view-revert-buffer): Silence overflow warnings.
31092 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31094         Merge from gnulib
31096         2017-01-30 Port to PGI 16.10 x86-64
31097         2017-01-20 time_rz: fix comment typo
31098         2017-01-14 strftime: %z is -00 if unknown
31099         This incorporates:
31100         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
31101         * lib/time-internal.h, lib/verify.h:
31102         Copy from gnulib.
31104 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31106         Check if there are hunks before kill or refine a hunk
31108         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
31109         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
31111 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31113         Ignore error after kill last file or hunk
31115         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
31116         Ignore error after kill last hunk (Bug#25570).
31117         (diff-file-kill): Idem.
31119 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31121         Show current line highlighted in *Occur* buffer
31123         * lisp/replace.el (list-matching-lines-current-line-face)
31124         (list-matching-lines-jump-to-current-line): New user options.
31125         (occur--orig-line, occur--orig-line-str): New variables.
31126         (occur, occur-engine): Use them.
31127         (occur--final-pos): New variable.
31128         (occur-1): Use it.
31129         (occur-engine): Idem.
31130         Show the current line with 'list-matching-lines-current-line-face'.
31131         Set point on the first matching line after the current one.
31132         * etc/NEWS: Add entry for the new option.
31134 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
31136         Allow occur command to operate on the region
31138         See discussion in:
31139         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
31140         * lisp/replace.el (occur--region-start, occur--region-end)
31141         (occur--matches-threshold): New variables.
31142         (occur-engine): Use them.
31143         (occur): Idem.
31144         Add optional arg REGION; if non-nil occur applies in that region.
31145         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
31146         * doc/emacs/search.texi (Other Repeating Search): Idem.
31148 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31150         Treat list-buffers-directory as a string
31152         Another step in the long history of list-buffers-directory.  A thread
31153         branch discussing the meaning/use of the variable starts here
31154         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
31155         Also see (info "(elisp) Buffer File Name").
31156         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
31157         Info-* defvars.
31158         (Buffer-menu--pretty-file-name): Remove special case.  Use
31159         bound-and-true-p.
31160         (Buffer-menu-info-node-description): Remove.
31161         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
31162         list-buffers-directory as a string.
31163         * lisp/info.el (Info-node-description): New function.
31164         (Info-select-node): Use it.
31166 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31168         Turn on lexical-binding in parse-time.el
31170         * lisp/calendar/parse-time.el: Turn on lexical-binding.
31171         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
31172         bindings.
31174 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
31176         Prevent creating thumbnails of all gif frames
31178         With the previous defaults, doing image-dired on a directory with an
31179         animated foo.gif would cause creation of foo.thumb-N.gif for each of
31180         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
31181         there additionally is no usable thumbnail after all the needless effort.
31182         image-dired never handled animation, regardless.
31183         * lisp/image-dired.el: Mention limitation.
31184         (image-dired-cmd-create-thumbnail-options):
31185         (image-dired-cmd-create-temp-image-options):
31186         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
31187         filename to indicate only converting the 0th frame.
31188         (image-dired-display-image-mode): Don't show a cursor.
31190 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31192         Fix quitting bug when buffers are frozen
31194         Problem noted by Eli Zaretskii in:
31195         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
31196         This patch also fixes some other issues in that report.
31197         * src/lisp.h (incr_rarely_quit): Remove.
31198         All callers changed to use rarely_quit directly.
31199         * src/search.c (freeze_buffer_relocation)
31200         (thaw_buffer_relocation): New functions.
31201         (looking_at_1, fast_looking_at, search_buffer):
31202         Use them to fix bug when quitting when buffers are frozen.
31203         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
31204         All uses changed.
31206 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31208         Revamp quitting and fix infloops
31210         This fixes some infinite loops that cannot be quitted out of,
31211         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
31212         when byte-compiled and when run under X.  See:
31213         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
31214         This also attempts to keep the performance improvements I recently
31215         added, as much as possible under the constraint that the infloops
31216         must be caught.  In some cases this fixes infloop bugs recently
31217         introduced when I removed immediate_quit.
31218         * src/alloc.c (Fmake_list):
31219         Use rarely_quit, not maybe_quit, for speed in the usual case.
31220         * src/bytecode.c (exec_byte_code):
31221         * src/editfns.c (Fcompare_buffer_substrings):
31222         * src/fns.c (Fnthcdr):
31223         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
31224         (Fbackward_prefix_chars):
31225         Use rarely_quit so that users can C-g out of long loops.
31226         * src/callproc.c (call_process_cleanup, call_process):
31227         * src/fileio.c (read_non_regular, Finsert_file_contents):
31228         * src/indent.c (compute_motion):
31229         * src/syntax.c (scan_words, Fforward_comment):
31230         Remove now-unnecessary maybe_quit calls.
31231         * src/callproc.c (call_process):
31232         * src/doc.c (get_doc_string, Fsnarf_documentation):
31233         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
31234         * src/lread.c (safe_to_load_version):
31235         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
31236         Use emacs_read_quit instead of emacs_read in places where
31237         C-g handling is safe.
31238         * src/eval.c (maybe_quit): Move comment here from lisp.h.
31239         * src/fileio.c (Fcopy_file, e_write):
31240         Use emacs_write_quit instead of emacs_write_sig in places where
31241         C-g handling is safe.
31242         * src/filelock.c (create_lock_file): Use emacs_write, not
31243         plain write, as emacs_write no longer has a problem.
31244         (read_lock_data): Use emacs_read, not read, as emacs_read
31245         no longer has a problem.
31246         * src/fns.c (rarely_quit): Move to lisp.h and rename to
31247         incr_rarely_quit.  All uses changed..
31248         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
31249         * src/indent.c (compute_motion):
31250         * src/syntax.c (find_defun_start, back_comment, forw_comment)
31251         (Fforward_comment, scan_lists, scan_sexps_forward):
31252         Use incr_rarely_quit so that users can C-g out of long loops.
31253         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
31254         inner loop, so that it catches C-g there too.
31255         * src/keyboard.c (tty_read_avail_input): Remove commented-out
31256         and now-obsolete code dealing with interrupts.
31257         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
31258         the latter moved here from fns.c and renamed from rarely_quit.
31259         (emacs_read_quit, emacs_write_quit): New decls.
31260         * src/search.c (find_newline, search_buffer, find_newline1):
31261         Add maybe_quit to catch C-g.
31262         * src/sysdep.c (get_child_status): Always invoke maybe_quit
31263         if interruptible, so that the caller need not bother.
31264         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
31265         New functions.
31266         (emacs_read): Rewrite in terms of emacs_nointr_read.
31267         Do not handle C-g or signals; that is now for emacs_read_quit.
31268         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
31269         with INTERRUPTIBLE three-way arg.  All uses changed.
31271 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31273         Remove immediate_quit.
31275         The old code that sets and clears immediate_quit was
31276         ineffective except when Emacs is running in terminal mode, and
31277         has problematic race conditions anyway, so remove it.  This
31278         will introduce some hangs when Emacs runs in terminal mode,
31279         and these hangs should be fixed in followup patches.
31280         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
31282 2017-02-01  Alan Mackenzie  <acm@muc.de>
31284         Allow C++ nested brace-list-entries to be better indented.
31286         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
31287         nested brace lists when the opening element stands on the same line as both
31288         its introductory brace and an enclosing parameter list parenthesis.
31290         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
31292         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
31293         presence of exactly an identifier between an open parenthesis and an open
31294         brace as evidence of the brace starting a brace list.
31295         (c-looking-at-statement-block): New function, extracted from
31296         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
31297         when needed.
31298         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
31299         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
31300         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
31301         all added syntactic symbols to those having an anchor point on the same line.
31302         Add, in addition to the current additional symbols, c-brace-list-entry when
31303         needed; use c-looking-at-statement-block to determine the latter.
31304         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
31305         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
31306         getting, possibly, several accompanying syntactic entries.
31308         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
31309         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
31311         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
31312         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
31314         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
31315         brace-list-intro.
31316         (Brace List Symbols): Amend the example to show the new analysis of brace
31317         lists when the first element comes on the same line as the opening brace.
31318         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
31320 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
31322         Revert "DOn't use string-as-unibyte in Gnus"
31324         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
31326         Not all the cases where we had string-as-unibyte were characters,
31327         so this needs to be considered more thoroughly before being redone.
31329 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
31331         Use maphash instead of cl-loop.
31333         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
31334           instead of cl-loop
31336 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
31338         Fix a subtle problem in Tramp with timers
31340         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
31341         list.  Make it work when called inside a timer.  See
31342         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
31344 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
31346         Index byte-compile-debug
31348         * doc/lispref/compile.texi (Compilation Functions): Index
31349         byte-compile-debug.
31351 2017-01-31  Philipp Stephani  <phst@google.com>
31353         Document `byte-compile-debug' in the ELisp manual
31355         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
31357 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
31359         read-multiple-choice: explain dialog popups more
31361         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
31362         when a graphical popup is used and how it can be avoided.
31364 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
31366         auth-source-user-and-password: add forgotten user parameter
31368                 * lisp/auth-source.el (auth-source-user-and-password): Use
31369                   accidentally unused "user" parameter.
31370                   Reported by Oscar Najera <najera.oscar@gmail.com>.
31372 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
31374         Fix typo in a NEWS entry for CSS mode
31376 2017-01-31  Philipp Stephani  <phst@google.com>
31378         Document variable `byte-compile-debug'
31380         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
31382 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
31384         DOn't use string-as-unibyte in Gnus
31386         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
31387         string-as-unibyte.
31388         (nnmail-insert-xref): Ditto.
31390         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
31392         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
31394         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
31395         (gnus-browse-foreign-server): Ditto.
31396         (gnus-browse-foreign-server): Ditto.
31398         * lisp/gnus/gnus-start.el
31399         (gnus-update-active-hashtb-from-killed): Ditto.
31400         (gnus-read-newsrc-el-file): Ditto.
31402         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
31404         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
31405         (nnir-get-active): Ditto.
31407 2017-01-31  Juri Linkov  <juri@linkov.net>
31409         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
31411         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
31412         M-. in article buffers work for `foo' strings, and still allow
31413         C-s C-w to yank ' to the search ring (bug#22248).
31415 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
31417         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
31419 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
31421         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
31423 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31425         New test for diff-mode handling trailing --
31427         test/lisp/vc/diff-mode-tests.el: New test file
31429 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31431         Handle patch terminators produced by git and bzr patch export
31433         Patch by Juri Linkov posted in the #9597 bug report
31435         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
31436         terminator (Bug #9597, #5302)
31438 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31440         Revert two accidental commits
31442         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
31443         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
31445 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31447         stash
31449 2017-01-31  Dima Kogan  <dima@secretsauce.net>
31451         comint-get-old-input-default: behavior follows docstring
31453         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
31454         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
31455         if point is on an output field.
31457 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
31459         Fix call to debugger on assertion failure
31461         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
31462         argument must be `error', and the second is a list of arguments for
31463         `signal'.
31465 2017-01-30  Tom Tromey  <tom@tromey.com>
31467         css-mode documentation lookup feature
31469         * etc/NEWS: Mention new feature.
31470         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
31471         (css--mdn-lookup-history): New defvar.
31472         (css-lookup-url-format): New defcustom.
31473         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
31474         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
31475         defuns.
31476         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
31477         test.
31479 2017-01-30  Glenn Morris  <rgm@gnu.org>
31481         edt-mapper: just loading a library should not run code
31483         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
31484         containing code previously at top-level.
31485         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
31486         run edt-mapper function.
31488 2017-01-30  Glenn Morris  <rgm@gnu.org>
31490         mh-compat.el: remove duplicate definition
31492         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
31493         Remove duplicate definition.
31495 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
31497         Add delq list arg check
31499         * src/fns.c (Fdelq): Check that list is a proper list.
31500         This is more compatible with what ‘delete’ does.
31502 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
31504         * lisp/indent.el (indent-region-line-by-line): New function.
31506         Extracted from indent-region.
31507         (indent-region, indent-region-function): Use it.
31509 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
31511         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
31513 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
31515         More fixes to prevent crashes on C-g
31517         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
31518         before returning, to avoid crashes in quit.  (Bug#25566)
31520 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
31522         Avoid crashes on C-g in TTY sessions
31524         * src/keyboard.c (handle_interrupt): Don't quit if
31525         waiting_for_input is set, as doing that is "unsafe": it will
31526         abort.  (Bug#25566)
31528 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
31530         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
31532         Merge remote-tracking branch 'origin/master' into feature/byte-switch
31534 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
31536         Fix hash tables not being purified correctly.
31538         * src/alloc.c
31539         (purecopy_hash_table) New function, makes a copy of the given hash
31540         table in pure storage.
31541         Add new struct `pinned_object' and `pinned_objects' linked list for
31542         pinning objects.
31543         (Fpurecopy) Allow purifying hash tables
31544         (purecopy) Pin hash tables that are either weak or not declared with
31545         `:purecopy t`, use purecopy_hash_table otherwise.
31546         (marked_pinned_objects) New function, marks all objects in pinned_objects.
31547         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
31548         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
31549         * src/fns.c: Add `purecopy' parameter to hash tables.
31550         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
31551         to make_hash_table.
31552         (make_hash_table): Add `pure' parameter, set h->pure to it.
31553         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
31554         CHECK_IMPURE.
31555         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
31556           hash tables.
31557         * src/print.c: (print_object) add the `purecopy' parameter while
31558           printing hash tables.
31559         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
31560           src/xterm.c: Use new (make_hash_table).
31562 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
31564         Escape dash in xref rgrep regexp
31566         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
31567         in REGEXP if it's the first character.
31569 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
31571         Say JavaScript, not Javascript
31573         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
31574         (js-js-error, js-eval, js-set-js-context)
31575         (js--get-js-context):
31576         Refer to the language consistently as JavaScript.
31578 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
31580         lisp/*.el: Fix some warnings
31582         * lisp/battery.el (dbus-get-property):
31583         * lisp/dired-aux.el (format-spec): Declare function.
31585         * lisp/net/zeroconf.el (zeroconf-list-service-names)
31586         (zeroconf-list-service-types, zeroconf-list-services):
31587         Mark unused lexical arg.
31589         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
31590         * lisp/progmodes/sql.el (sql-end-of-statement):
31591         Pass LIMIT to 'looking-back'.
31593 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
31595         Don't warn about obsolete defgenerics when defining them
31597         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
31598         should run after the definition code (Bug#25556).
31600 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
31602         Call modification hooks in org-src fontify buffers
31604         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
31605         `inhibit-modification-hooks' to nil, since this function can be called
31606         from jit-lock-function which binds that variable to t (Bug#25132).
31608 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
31610         Fix Bug#25524
31612         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
31613         Return position at the beginning off the hunk.
31614         (diff-file-junk-re): Add SVN keywords.
31616 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
31618         hl-line.el: Don't try to operate on a killed buffer
31620         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
31621         live buffers (bug#25522).
31623 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
31625         Use access-file in EWW to check before downloading a file
31627         * lisp/net/eww.el (eww-download): Check accessibility of
31628         eww-download-directory to prevent starting a download that will fail
31629         to write.
31630         * src/fileio.c (Faccess_file): Clarify the use of string argument in
31631         the docstring.
31633 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
31635         Subject: Check Bcc after the Messag hook has run
31637         * lisp/gnus/message.el (message-send): If the hook modifies
31638         the message (mml tags or headers), we should check bcc on the
31639         final message, not on the original.
31641 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
31643         Improve documentation of 'format' conversions
31645         * src/editfns.c (Fformat): More accurate description of %g and
31646         effects of the various flags on it.  More accurate description of
31647         integer conversions.
31649         * doc/lispref/strings.texi (Formatting Strings): More accurate
31650         description of %g and effects of the various flags on it.  More
31651         accurate description of integer conversions.  (Bug#25557)
31653 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
31655         test/*.el: Avoid byte-compiler warnings
31657         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
31659         * test/lisp/faces-tests.el (faces--test): New customization group.
31660         (faces--test1, faces--test2): Use it.
31662         * test/lisp/ffap-tests.el (ffap-tests-25243):
31663         Call 'mark-whole-buffer' interactively.
31665         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
31666         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
31667         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
31668         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
31670         * test/lisp/minibuffer-tests.el (completion-test1):
31671         Mark unused lexical arguments.
31673         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
31674         'with-no-warnings' to avoid them when the macro is invoked for effect.
31676         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
31677         Mark unused lexical arguments.
31679         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
31680         Mark unused lexical arguments.
31681         (let-alist-cons): Remove unused let binding.
31683         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
31684         (dbus-get-unique-name): Declare.
31686         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
31687         Call 'font-lock-fontify-buffer' interactively.
31689         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
31690         Mark unused lexical argument.
31692 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31694         Restore a test that was removed by a recent commit
31696         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
31697         errno value unless it's necessary.  (Bug#25419)
31699 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
31701         Fix a couple eww customization types
31703         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
31704         Change customization type to "directory".
31706 2017-01-27  Philipp Stephani  <phst@google.com>
31708         Don't require a shell when loading htmlfontify
31710         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
31711         detecting the etags version (Bug#25468).
31712         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
31713         test.
31715 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
31717         Slightly tune file-accessible-directory-p fix
31719         * src/fileio.c (Ffile_accessible_directory_p):
31720         Remove unnecessary test (Bug#25419).
31722 2017-01-27  Arash Esbati  <arash@gnu.org>
31724         Add \citetitle to biblatex cite format
31726         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
31727         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
31728         per user request
31729         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
31731 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31733         Fix charsets and encodings from non-file MIME parts
31735         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
31736         encoding right for parts that do not originate from files.
31738 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31740         Fix 'describe-variable' for longish variable values
31742         * lisp/help-fns.el (describe-variable): Don't accidentally remove
31743         the last character of a variable's value.  (Bug#25545)
31745 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
31747         Remove stale functions from ert manual
31749         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
31750         Replace ert--mismatch references with its cl-lib replacement,
31751         cl-mismatch.
31753 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31755         Fix a typo in Eshell manual
31757         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
31758         Kolybabi <mak@kolybabi.com>.
31760 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31762         Ensure last line is at window bottom in shell buffers
31764         * lisp/shell.el (shell-mode): Use setq-local.  Set
31765         scroll-conservatively to 101 locally.  See the discussion at
31766         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
31767         for the reasons.
31769 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
31771         Support Bash Ctrl-Z indication of directory name in term.el
31773         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
31774         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
31776 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31778         Don't report zero errno for inaccessible directory
31780         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
31781         a file handler reports a failure.  (Bug#25419)
31783 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
31785         Fix filenotify-tests on MS-Windows
31787         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
31788         (file-notify-test05-dir-validity)
31789         (file-notify-test06-many-events)
31790         (file-notify-test08-watched-file-in-watched-dir): Manually remove
31791         the watch descriptor before calling file-notify--test-cleanup-p.
31792         (Bug#25539)
31794 2017-01-27  Hong Xu  <hong@topbug.net>
31796         python-mode: Fix detection for opening blocks.
31798         * lisp/progmodes/python.el
31799         (python-info-dedenter-opening-block-positions): There can't be any
31800         back-indented lines between an opening block and the current line.
31802         * test/lisp/progmodes/python-tests.el
31803         (python-indent-electric-colon-4): Add an indent test case where
31804         there is one-more indented previous opening block.
31806 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31808         Fix Message check for bogus domain names
31810         * lisp/gnus/message.el (message-make-fqdn): Fix check for
31811         bogus system names (bug#24570).
31813 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
31815         Subject: Restore correct Gnus newsgroup name after sending message
31817         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
31818         gnus-newsgroup-name in the correct buffer (bug#24329).
31820 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31822         Mention the new Gnus sorting command
31824 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31826         Don't try to find charsets of non-text MIME parts
31828         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
31829         to try to determine the charset of non-text message parts, so
31830         skip that (bug#24190).  This will also remove messages like
31831         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
31832         if you include such files.
31834 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
31836         Add new command gnus-article-sort-by-marks
31838         * doc/misc/gnus.texi (Summary Sorting): Mention
31839         gnus-summary-sort-by-marks.
31841         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
31842         function (bug#23393).
31843         (gnus-thread-sort-by-marks): Ditto.
31844         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
31845         (gnus-summary-mode-map): Add keystroke.
31846         (gnus-summary-make-menu-bar): Add to menu.
31848 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
31850         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
31852         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
31853         Ignore summary commands that aren't bound to
31854         gnus-article-read-summary-keys keys (bug#18257).
31856 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31858         Fix crossposting in non-primary groups
31860         * lisp/gnus/message.el
31861         (message-cross-post-followup-to-header): Gnus server prefixes
31862         shouldn't be included in the group names (bug#21661).
31863         (message-cross-post-followup-to): Ditto.
31865 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31867         Gnus doc clarification
31869         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
31870         that "unreachable" is the same as disabling it (bug#21630).
31872 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31874         Remove dead code from rfc2047
31876         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
31878         It's been disabled since 2005, when I made the change with the
31879         following comment.
31881         (rfc2047-encode-message-header): Disabled header folding -- not
31882         all headers can be folded, and this should be done by the message
31883         composition mode.  Probably.  I think.
31885 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31887         Fill too long mail headers
31889         * lisp/gnus/message.el (message--fold-long-headers): New
31890         function to fold too-long headers (bug#21608).
31891         (message-send-mail): Use it to fill headers longer than 998
31892         characters (which is the protocol limit).
31894 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31896         Make nndoc more resilient against corrupted files
31898         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
31899         out on invalid files, like invalid .gz files (bug#21538).
31900         This may hinder Gnus from starting up.
31902 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31904         Respect buffer-local message-fcc-handler-function
31906         * lisp/gnus/message.el (message-do-fcc): Copy the local
31907         variables from the Message buffer so that local settings of
31908         `message-fcc-handler-function' etc are respected (bug#21174).
31910 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31912         (message-do-fcc): Modernize the code slightly.
31914         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
31916 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31918         Avoid a regexp overflow in message-goto-body
31920         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
31921         complicated backtracking regexp, because they may overflow on
31922         large headers (bug#21160).
31924 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31926         Refactor message-goto-body
31928         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
31930 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31932         Fix typo in last checkin
31934         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
31935         nnimap-shell-program (bug#20651).
31937 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31939         Document nnimap-shell-program
31941         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
31942         nnimap-shell-program (bug#20651).
31944 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31946         Document :shell-command in `make-network-process'
31948         * doc/lispref/processes.texi (Network): Document :shell-command.
31950         * lisp/net/network-stream.el (open-network-stream): Document
31951         the :shell-command parameter (bug#20651).
31953 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31955         Gnus doc clarification
31957         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
31958         the gnus-prompt-before-saving variable (bug#20500).
31960 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31962         Fix the previous mml patch better
31964         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
31965         previous patch in a better way (bug#20480).
31967 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31969         Give a slight better error message in mml-minibuffer-read-file
31971         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
31972         better error message when the user enters nothing (bug#20480).
31974 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
31976         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
31978 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31980         Make eww buffers prettier in the buffer listing
31982         * lisp/net/eww.el (eww-render): Put the currently visited URL
31983         into the buffer listing (bug#23738).
31984         (eww-render): Ditto.
31986 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31988         Allow mml-attach-file to prompt less
31990         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
31991         prompt for type/description/disposition, but use defaults
31992         (bug#19202).
31994 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
31996         Don't allow message-newline-and-reformat to be run outside the body
31998         * lisp/gnus/message.el (message-newline-and-reformat): Error
31999         out if run outside the body of a message (bug#18820).
32001 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32003         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
32005         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
32006           byte-compile-constant instead of byte-compile-form to push nil.
32008 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
32010         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
32012 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32014         Replace QUIT with maybe_quit
32016         There’s no longer need to have QUIT stand for a slug of C statements.
32017         Use the more-obvious function-call syntax instead.
32018         Also, use true and false when setting immediate_quit.
32019         These changes should not affect the generated machine code.
32020         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
32022 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32024         A quicker check for quit
32026         On some microbenchmarks this lets Emacs run 60% faster on my
32027         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
32028         * src/atimer.c: Include keyboard.h, for pending_signals.
32029         * src/editfns.c (Fcompare_buffer_substrings):
32030         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
32031         (Fnconc, Fplist_member):
32032         Set and clear immediate_quit before and after loop instead of
32033         executing QUIT each time through the loop.  This is OK for loops
32034         that affect only locals.
32035         * src/eval.c (process_quit_flag): Now static.
32036         (maybe_quit): New function, containing QUIT’s old body.
32037         * src/fns.c (rarely_quit): New function.
32038         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
32039         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
32040         Use it instead of QUIT, for
32041         speed in tight loops that might modify non-locals.
32042         * src/keyboard.h (pending_signals, process_pending_signals):
32043         These belong to keyboard.c, so move them here ...
32044         * src/lisp.h: ... from here.
32045         (QUIT): Redefine in terms of the new maybe_quit function, which
32046         contains this macro’s old definiens.  This works well with branch
32047         prediction on processors with return stack buffers, e.g., x86
32048         other than the original Pentium.
32050 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
32052         Simplify make-list implementation
32054         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
32055         is not worth it these days.
32057 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
32059         Make use of cl-loop destructuring
32061         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
32062         destructuring.
32063         (with-js): Add declare forms.
32065 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32067         Revert "Bind C-c keys in the article buffer"
32069         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
32071         The commit somehow lead to problems in other parts of Emacs.
32073 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32075         Document how to quote MML tags
32077         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
32078         quote MML tags (bug#18881).
32080 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32082         Make address parsing more robust
32084         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
32085         bug out on addresses like
32086         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
32087         (bug#18572).
32089 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32091         Fix the %P (line number) thing in Gnus summary buffers
32093         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
32095         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
32096         "pick" mode line number on entry instead of relying in a hack (bug#18311).
32098 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32100         Fix wrong documentation on nnmairix keystrokes
32102         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
32103         nnmairix commands are on G G, not $ (bug#18260).
32105 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32107         Bind C-c keys in the article buffer
32109         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
32110         C-c keys so that they execute in the summary buffer
32111         (bug#18257).  This makes commands like `C-c C-f' work from the
32112         article buffer.
32114 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32116         Don't mark articles in Gnus as displayed when they aren't
32118         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
32119         mark any articles as selected if we're not selecting any
32120         articles (bug#18255).
32122 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
32124         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
32126         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
32128         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
32130         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
32132 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
32134         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
32136         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
32137           constant encountered precedes a byte-switch op, replace all the
32138           addresses in the jump table with tags.
32140 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
32142         Move cXXXr and cXXXXr to subr.el
32144         * etc/NEWS: Mention new core Elisp.
32145         * doc/lispref/lists.texi (List Elements): Document and index the new
32146         functions.
32147         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
32148         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
32149         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
32150         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
32151         (cddddr): New functions.
32152         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
32153         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
32154         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
32155         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
32156         (cl-cdddar, cl-cddddr): Alias to new subr functions.
32157         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
32158         elements.
32160 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32162         Only save .newsrc file if the native method is NNTP
32164         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
32165         the .newsrc file if the native select method is NNTP
32166         (bug#18198).  This avoids problems with invalid IMAP group
32167         names and the like in the .newsrc file.
32169 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32171         Only save .newsrc file if the native method is NNTP
32173         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
32174         the .newsrc file if the native select method is NNTP
32175         (bug#18198).  This avoids problems with invalid IMAP group
32176         names and the like in the .newsrc file.
32178 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32180         Gnus custom spec fix
32182         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
32183         spec to match the doc string (bug#17679).
32185 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32187         Clarify confusing Gnus error message
32189         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
32190         confusing error message (bug#17677).
32192 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32194         Make C-u C-x m work with Message as documented
32196         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
32197         parameter (bug#17175).
32199 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32201         Fix problem with auto-mode and dir-locals-collect-variables
32203         * lisp/files.el (dir-locals-collect-variables): When run from
32204         auto-mode, the file in question may not be an absolute path
32205         name (bug#24016).
32207         Example backtrace:
32209         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
32210           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
32211           hack-dir-local-variables()
32212           hack-local-variables(no-mode)
32213           run-mode-hooks(diff-mode-hook)
32214           diff-mode()
32215           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
32217 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32219         Attach text files correctly in Message
32221         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
32222         system has been used in attached text files, and don't try to
32223         do any encoding of these files (bug#13808).
32225 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32227         Build fix for older gnutls versions
32229         * src/gnutls.c (emacs_gnutls_handle_error):
32230         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
32231         gnutls-3.
32233 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
32235         ediff-difference-vector-alist: Drop duplicated definition
32237         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
32238         Drop duplicated definition.
32239         (ediff-difference-vector-A, ediff-difference-vector-B)
32240         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
32241         Move definition before 'ediff-difference-vector-alist'.
32243 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32245         Revert "nnimap.el: support additional expunge options"
32247         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
32249         The patch broke fetching new mail:
32251         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
32252           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
32253           (looking-at (format "%d .*\n" sequence))
32254           (not (looking-at (format "%d .*\n" sequence)))
32255           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
32257 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
32259         nnimap.el: support additional expunge options
32261         * lisp/gnus/nnimap.el (nnimap-close-group)
32262         (nnimap-request-expire-articles, nnimap-delete-article)
32263         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
32264         settings for nnimap-expunge (bug#20670).
32266 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32268         Don't tag Gnus bugs with "gnus"
32270         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
32272         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
32273         have its own package any more in the bug tracker.
32275 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
32277         Tweak TLS error messaging on closed connections
32279         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
32280         peer-closed-connection "The TLS connection was non-properly
32281         terminated" message to a lower level so that it isn't shown to
32282         the user by default.
32284 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32286         Avoid having eww unexpectedly open external browsers
32288         * lisp/net/eww.el (eww-render): Instead of opening unsupported
32289         content types like audio/mpeg directly in an external browser
32290         (which can be very confusing especially when something
32291         redirects to a file like that), just display a simple
32292         interstitial that people can choose to click on or not
32293         (bug#22671).
32295 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32297         When opening new eww buffers, use buffer names based on the host name
32299         * lisp/net/eww.el (eww-browse-url): When opening in a new
32300         window, use a buffer name based on the host name (bug#23738).
32301         (eww--dwim-expand-url): Refactored out into its own function
32302         for easier reuse.
32304 2017-01-24  David Engster  <deng@randomsample.de>
32306         xml: Fix parsing of default namespace with quoted names
32308         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
32309           parsing is done with quoted symbol names (bug#23440).
32310         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
32311           (xml-parse-test-default-namespace-qnames): Test for the above.
32313 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32315         Fix rendering of some complex SVG images
32317         * lisp/net/shr.el (shr-parse-image-data): Don't transform
32318         SVG->DOM->XML unless we're blocking images, as this is apt to
32319         destroy the SVG (bug#24111).
32321 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32323         Clarify the last clarification
32325         * lisp/net/shr.el (shr-width): Clarify the interaction with
32326         `shr-use-fonts' (bug#24928).
32328 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32330         shr-width doc clarification
32332         * lisp/net/shr.el (shr-width): Clarify the interaction with
32333         `shr-use-fonts' (bug#24928).
32335 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
32337         Allow passing in max-width/height
32339         * lisp/net/shr.el (shr-rescale-image): Allow passing in
32340         max-width/height (bug#25287).
32342 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
32344         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
32346         Require `cl' for `pushnew'.
32347         (vhdl-scan-project-contents, vhdl-compose-wire-components)
32348         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
32350 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
32352         Fix comment detection on open parens
32354         Characters having both open paren syntax and comment start syntax were
32355         being detected as open parens even when they should have been part a
32356         comment starter (Bug#24870).
32358         * src/syntax.c (in_2char_comment_start): New function, extracted from
32359         `scan_sexps_forward'.
32360         (scan_sexps_forward): Add check for a 2-char comment starter before the
32361         loop.  Inside the loop, do that check after incrementing the 'from'
32362         character index.  Move the single char comment syntax cases into the
32363         switch instead of special casing them before.
32364         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
32365         (parse-partial-sexp-continue-over-comment-marker): New tests.
32367 2017-01-23  Alan Mackenzie  <acm@muc.de>
32369         Give , and .@ doc strings.  Fixes bug #24561.
32371         Also make *Help* links to ``' possible.  Also make usable as such doc strings
32372         on the function-documentation property of a symbol.
32374         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
32375         function-documentation property.  Also give these symbols a reader-construct
32376         property.
32378         * lisp/help-fns.el (describe-function): Allow the function-documentation
32379         property to work.  Use princ rather than prin1 to print the function's name
32380         when it has a reader-construct property.
32381         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
32382         (describe-function-1): Adapt to process documentation on the
32383         function-documentation property.  Print "a reader construct" when appropriate.
32385         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
32386         ``'.
32388 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
32390         Improve uses of CHECK_LIST etc.
32392         * src/eval.c (FletX): Report an error for invalid constructs like
32393         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
32394         (lambda_arity): Use plain CHECK_CONS.
32395         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
32396         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
32397         concat does that for us.
32398         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
32399         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
32400         runtime check out of the loop.
32401         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
32402         (Fassq, Fassoc, Frassq, Frassoc):
32403         Simplify and use CHECK_LIST_END instead of CAR.
32404         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
32405         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
32406         * src/fontset.c (Fnew_fontset):
32407         * src/frame.c (Fmodify_frame_parameters):
32408         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
32409         more-complete check.
32410         * src/gfilenotify.c (Fgfile_add_watch):
32411         Omit unnecessary CHECK_LIST, since Fmember does that for us.
32412         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
32413         Remove; no longer used.
32414         (CHECK_LIST_END): New inline function.
32416 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
32418         Prevent to use tabulated-list--near-rows unbound
32420         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
32421         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
32423 2017-01-22  Juri Linkov  <juri@linkov.net>
32425         * lisp/simple.el (region-bounds): New function.
32427         (region-noncontiguous-p): Use it.
32428         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
32430 2017-01-21  Alan Mackenzie  <acm@muc.de>
32432         Fix low-level handling of (big) C macros.
32434         In particular, ensure that a comment detected by its syntax is not a CPP
32435         construct marked with generic comment delimiter syntax-table text
32436         properties.
32438         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
32439         c-macro-cache-syntactic to nil when the cached macro changes.
32440         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
32441         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
32442         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
32443         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
32444         (c-determine-limit): When checking a parse syntax for a comment, check that
32445         we're not in a CPP construct marked by syntax-table generic comment delimiter
32446         text property.
32447         (c-state-pp-to-literal): Change from a defsubst to a defun.
32449         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
32450         parse syntax as described above under cc-engine.el.
32452 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
32454         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
32456 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
32458         Don't wait for frame to become visible
32460         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
32461         frame to become visible.  We have to deal with invisible frames anyway,
32462         the loop could sometimes before the frame turned visible, and for some
32463         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
32464         busy loop (Bug#24091).
32466 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
32468         diff-hunk-kill independent of point inside headers
32470         Make diff-apply-hunk and diff-hunk-kill independent of the point
32471         position in a diff header (Bug#17544).
32472         This change allows to apply hunks in order.  It also makes possible to
32473         press M-k repeatedly to kill hunks in the order they appear in the buffer.
32474         See discussion on #Bug25105.
32475         * lisp/vc/diff-mode.el (diff-file-junk-re):
32476         Move definition before it's used.
32477         (diff--at-diff-header-p): New predicate; return non-nil when point
32478         is inside a hunk header, a file header, or within a line
32479         matching diff-file-junk-re.
32480         (diff-beginning-of-hunk): Use it.
32481         Check if the point is inside a diff header, in the middle of a hunk,
32482         or before the first hunk.
32483         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
32484         before apply the hunk.
32485         (diff-hunk-kill, diff-file-kill):
32486         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
32487         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
32489 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
32491         Improve documentation of hooks related to saving buffers
32493         * lisp/files.el (write-file-functions, write-contents-functions)
32494         (before-save-hook, after-save-hook): Note that these are only used
32495         by save-buffer.
32497         * doc/lispref/backups.texi (Auto-Saving):
32498         * doc/lispref/files.texi (Saving Buffers): Mention that
32499         save-related hooks are not run by auto-saving.  (Bug#25460)
32501 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
32503         Improve documentation of auto-save-visited-file-name
32505         * doc/emacs/files.texi (Auto Save Files): Mention subtle
32506         differences between saving the buffer and auto-saving with
32507         auto-save-visited-file-name set non-nil.  (Bug#25478)
32509 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
32511         Fix free var FOO-mode-{syntax,abbrev}-table warnings
32513         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
32514         defvar the syntax and abbrev tables so that the compiler will know that
32515         they are dynamically bound variables (Bug#25446).
32517 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32519         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
32521         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
32522           eval obj2 to avoid quoted forms being stored as is.
32524 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32526         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
32528 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32530         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
32532         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
32533         default-case for last cond clause.
32535 2017-01-19  Philipp Stephani  <phst@google.com>
32537         Check that variable lists are actually lists
32539         'let' and 'let*' document that their first argument has to be a list,
32540         but don't check for that; instead, they allow (and silently ignore)
32541         other types.  Introduce an explicit type check.
32543         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
32544         list.
32545         * test/src/eval-tests.el: Add unit tests.
32547 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32549         Add type checking for Bswitch, when enabled at compile time.
32551         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
32552           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
32554 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
32556         Use byte-switch for all symbols.
32558         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
32559           t for all symbols (instead for just keywords)
32561 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
32563         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
32565         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
32566         (diff-refine-hunk): Use it instead of trying to match multiple lines
32567         with a single lines.
32569 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
32571         Remove lock file when auto-saving into the visited file
32573         * src/fileio.c (write_region): When auto-saving into the visited
32574         file, unlock the file whenever we mark the buffer unmodified.
32575         (Bug#25470)
32577 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
32579         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
32581         Fgethash type checks the provided table object, which is unnecessary
32582         for compiled bytecode.
32584 2017-01-18  Tom Tromey  <tom@tromey.com>
32586         fix typo in mailcap-mime-extensions
32588         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
32589         not "test/x-patch".  (Bug#25472)
32591 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
32593         Fix typos in flymake.el
32595         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
32596         Spelling fixes in the doc string.
32598 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
32600         Fix a bug with signaling a thread that waits for condvar
32602         * src/thread.c (lisp_mutex_lock_for_thread): New function,
32603         with all the guts of lisp_mutex_lock.
32604         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
32605         (condition_wait_callback): Don't call post_acquire_global_lock
32606         before locking the mutex, as that could cause a signaled thread to
32607         exit prematurely, because the condvar's mutex is recorded to be
32608         not owned by any thread, and with-mutex wants to unlock it as part
32609         of unwinding the stack in response to the signal.
32611 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
32613         Rudimentary error handling for non-main threads
32615         * src/thread.c (last_thread_error): New static variable.
32616         (syms_of_threads): Staticpro it.
32617         (record_thread_error, Fthread_last_error): New functions.
32618         (syms_of_threads): Defsubr Fthread_last_error.
32620         * doc/lispref/threads.texi (Basic Thread Functions): Document
32621         thread-last-error.
32623         * test/src/thread-tests.el (thread-errors, thread-signal-early)
32624         (threads-condvar-wait): Test the values returned by
32625         thread-last-error.
32627 2017-01-17  Tom Tromey  <tom@tromey.com>
32629         Add info-lookup help for gdb-script-mode
32631         Bug#25464:
32632         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
32633         function.
32634         Add help for gdb-script-mode.
32636 2017-01-17  Tom Tromey  <tom@tromey.com>
32638         Treat ":root" as a css-selector
32640         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
32641         ":root" as selector.
32643 2017-01-17  Tom Tromey  <tom@tromey.com>
32645         Fix JS regexp literal syntax propertization in expressions
32647         Bug#25465:
32648         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
32649         literal after "!", "&", and "|".
32650         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
32652 2017-01-17  Glenn Morris  <rgm@gnu.org>
32654         More NEWS checking for admin.el's set-version
32656         * admin/admin.el (set-version): Warn if temporary NEWS markup
32657         still present in release candidates.
32659 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
32661         Mark unused arguments and remove unused variables
32663         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
32664         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
32665         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
32666         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
32667         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
32668         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
32669         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
32670         (dungeon-nil): Mark arguments as unused.
32671         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
32672         (dun-restore): Remove unused variable.
32674 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
32676         Fix auto-save-file-name problem in Tramp on MS Windows
32678         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
32679         rather than an ange-ftp regexp.
32681         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
32682         Fix a problem when running on MS Windows.
32684         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
32685         Adapt test.
32687 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
32689         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
32691         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
32692         Fix a problem when running on MS Windows.
32694 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
32696         Merge from origin/emacs-25
32698         42614fa Update remaining copyright years with admin.el M-x set-copyright
32699         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
32701 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
32703         Nix some uses of eval
32705         * lisp/play/dunnet.el: Fix triple negative.
32706         (dun-doverb): Use funcall instead of eval.
32707         (dun-echo): Just call dun-mprinc.
32708         (dun-save-val): Just bind value without eval.
32710 2017-01-17  Tom Tromey  <tom@tromey.com>
32712         Fix comment in css-mode.el
32714         * lisp/textmodes/css-mode.el: Remove obsolete comment.
32716 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
32718         update branch
32720 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
32722         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
32724 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
32726         Improve ffap-gopher-at-point handling of long lines
32728         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
32729         setting to nil is now supported.
32730         (ffap--gopher-var-on-line): New function.
32731         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
32732         which could overflow the regexp stack on long lines (Bug#25391).  Use
32733         `let-alist' instead of calling `set' on local variables.
32734         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
32736 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
32738         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
32740         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
32741           finding the tag in a jump table.
32743 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
32745         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
32747 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
32749         Add new 'switch' byte-code.
32751         'switch' takes two arguments from the stack: the variable to test, and
32752         a jump table (implemented as a hash-table with the appropriate :test
32753         function). By looking up the value of the variable in the hash table,
32754         the interpreter can jump to the label pointed to by the value, if any.
32755         This implementation can only be used for `cond' forms of the type
32756         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
32757         variable `x` is same for all clauses.
32759         * lisp/emacs-lisp/bytecomp.el:
32761           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
32762             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
32763             (byte-compile-cond-jump-table), byte-compile-jump-tables.
32765           * Add defcustom `byte-compile-cond-use-jump-table'.
32767           * (byte-compile-cond): Use them.
32769           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
32771         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
32772           some peephole optimizations to prevent them from messing up any code
32773           involving `byte-switch`.
32775         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
32777 2017-01-14  Alan Third  <alan@idiocy.org>
32779         Fix NS main thread check (bug#25265)
32781         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
32782         isMainThread.
32784 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
32786         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
32788         `:sqli-comint-func' does not have to be a symbol.
32790 2017-01-14  Alan Mackenzie  <acm@muc.de>
32792         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
32794         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
32795         its previous value, we chose strategy 'forward, and the new HERE is in a
32796         (different) macro, ensure the returned START-POINT is not above the start of
32797         the macro.
32799 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
32801         Include "Date:" in mail messages filed by 'sendmail-send-it'
32803         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
32804         into the filed message.  In the outgoing message, sendmail will
32805         add the date, but the composed message body doesn't have it.
32806         (Bug#25436)
32808 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
32810         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
32812 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
32814         Remove leftover references to log-view-message-face
32816         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
32818         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
32820         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
32822 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
32824         Record autoloads till emacs dump
32826         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
32827         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
32829         Previously, autoloads were collected till loaddefs.el was generated as
32830         part of the build. However, bootstrap-emacs does not load
32831         loaddefs (rather it is dumped), hence we must record autoloads until the
32832         full emacs binary is dumped.
32834 2017-01-13  Tom Tromey  <tom@tromey.com>
32836         Add chained indentation to js-mode
32838         Bug#20896
32839         * lisp/progmodes/js.el (js-chain-indent): New variable.
32840         (js--skip-term-backward, js--skip-terms-backward)
32841         (js--chained-expression-p): New functions.
32842         (js--proper-indentation): Call js--chained-expression-p.
32843         * test/manual/indent/js-chain.js: New file.
32844         * test/manual/indent/js.js: Add (non-)chained indentation test.
32846 2017-01-13  Tom Tromey  <tom@tromey.com>
32848         Fix js-mode indentation bug
32850         Bug#15582:
32851         * lisp/progmodes/js.el (js--find-newline-backward): New function.
32852         (js--continued-expression-p): Use it.
32853         * test/manual/indent/js.js: Add new test.
32855 2017-01-13  Tom Tromey  <tom@tromey.com>
32857         Fix definition of EMACS in test/manual/indent/Makefile
32859         * test/manual/indent/Makefile (EMACS): Add one more "..".
32861 2017-01-13  Tom Tromey  <tom@tromey.com>
32863         Add .jsx to auto-mode-alist
32865         Bug#25389:
32866         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
32868 2017-01-13  Tom Tromey  <tom@tromey.com>
32870         Fix two js-mode filling bugs
32872         Bug#19399 and Bug#22431:
32873         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
32874         c-block-comment-start-regexp.
32875         * test/lisp/progmodes/js-tests.el: New file.
32877 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32879         Fix last change
32881         * test/src/thread-tests.el (threads-condvar-wait): Revert
32882         previous change.  Make sure no other threads from previous
32883         tests are running, to avoid interfering with our thread counts.
32885 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32887         Fix the new condvar test
32889         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
32890         time we sleep in the main thread to let the other thread
32891         process notifications.
32893 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32895         Minor improvements in the new condvar test
32897         * test/src/thread-tests.el (threads-test-condvar-wait): Use
32898         with-mutex instead of emulating it inline.
32899         (threads-condvar-wait): Improve comments.  Check that the new
32900         thread is alive before waiting for it to become blocked on the
32901         conditional variable.
32903 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32905         Fix a bug in waiting for condition variable
32907         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
32908         (lisp_mutex_unlock_for_wait, condition_wait_callback)
32909         (condition_notify_callback): Improve commentary.
32910         (condition_wait_callback): Call post_acquire_global_lock before
32911         attempting to lock the mutex, to make sure the lock's owner is
32912         recorded correctly.
32914         * test/src/thread-tests.el (threads-condvar-wait): New test.
32916 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
32918         Improve documentation of dabbrevs
32920         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
32921         to "Dabbrev Customization".
32922         (Dabbrev Customization): More details about the default value of
32923         dabbrev-abbrev-char-regexp and use cases when it might not be good
32924         enough.  (Bug#25432)
32926 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32928         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
32930 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32932         mm-uu.el: Don't dissect patch part
32934         This fixes a bug that the patch part is broken in the article
32935         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
32937         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
32938         Don't dissect patch part.
32940 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
32942         Fix extracting async def type and name in python mode imenu
32944         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
32945         New function.
32946         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
32947         extract async or simple def type and name at current
32948         position (Bug#24820).
32949         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
32950         (python-imenu-create-flat-index-1): Add async def's.
32952 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32954         Remove garbage from Content-Transfer-Encoding value (bug#25420)
32956         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
32957         (ietf-drums-remove-garbage): New function.
32958         (ietf-drums-remove-whitespace): Remove CR as well.
32960         * lisp/mail/mail-parse.el (mail-header-strip-cte):
32961         Alias to ietf-drums-strip-cte.
32963         * lisp/gnus/gnus-art.el (article-decode-charset):
32964         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
32965         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
32966         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
32967         (nndoc-rfc822-forward-generate-article):
32968         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
32969         Replace mail-header-strip with mail-header-strip-cte.
32971 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
32973         Restore behavior of ‘./autogen.sh autoconf git’
32975         * autogen.sh: Do both autoconf and git setup when invoked
32976         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
32977         Mention new --no-check option in usage message.  (Bug#25359)
32979 2017-01-12  Glenn Morris  <rgm@gnu.org>
32981         * autogen.sh: Simplify argument parsing.
32983 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
32985         Clarify that easy-menu-add is a nop (Bug#25382)
32987         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
32988         `ignore', like `easy-menu-remove'.
32990 2017-01-12  Glenn Morris  <rgm@gnu.org>
32992         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
32994 2017-01-11  Glenn Morris  <rgm@gnu.org>
32996         * autogen.sh: Add --no-check option.  (Bug#25359)
32998 2017-01-11  Glenn Morris  <rgm@gnu.org>
33000         Convert some network test failures to skipping
33002         These tests intermittently fail on hydra.nixos.org for unclear
33003         reasons related to starting the external process.
33004         This isn't an Emacs issue, and the failures cause noise on
33005         the emacs-buildstatus list.  (Bug#24503)
33006         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
33007         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
33008         external process fails to start properly.
33010 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
33012         Revert "Add DNS keywords and remove duplications"
33014         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
33016 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
33018         Add DNS keywords and remove duplications
33020         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
33021         NSEC" DNS related keywords and remove duplication of "NSAP".
33023 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
33025         Add DNS keywords and remove duplications
33027         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
33028         NSEC" DNS related keywords and remove duplication of "NSAP".
33030 2017-01-11  Alan Mackenzie  <acm@muc.de>
33032         Handle syntactic WS cache properties more accurately at buffer changes.
33034         This fixes bug #25362.
33036         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
33037         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
33038         (c-invalidate-sws-region-after-ins): New variables and functions.
33039         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
33040         Also pass
33041         it the standard OLD-LEN argument.  Call both
33042         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
33043         cache
33044         properties.
33046         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
33047         variable.
33049         * lisp/progmodes/cc-mode.el (c-before-change): Call
33050         c-invalidate-sws-region-before.
33051         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
33053 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
33055         Support stat 8.26 in Tramp
33057         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
33058         environment variable of newer coreutils.  (Bug#23422)
33060 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
33062         Improve documentation of coding-systems
33064         * doc/lispref/nonascii.texi (Coding System Basics): Mention
33065         'prefer-utf-8'.  Index it and 'undecided'.
33066         (Encoding and I/O): Fix a typo.
33067         (User-Chosen Coding Systems): Improve the documentation of
33068         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
33069         select-safe-coding-system-function.
33070         (Specifying Coding Systems): Document coding-system-require-warning.
33072 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
33074         Merge from gnulib
33076         This incorporates:
33077         2017-01-09 maint: time stamp -> timestamp
33078         2017-01-07 stdioext: Port to Minix 3.2 and newer
33079         2017-01-06 glob, intprops, xalloc: work around Clang bug
33080         2017-01-02 revert copyright-year change to synced files
33081         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
33082         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
33083         * lib/utimens.c, lib/xalloc-oversized.h:
33084         Copy from gnulib.
33086 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
33088         Don't use unsafe encoding for the bookmark file
33090         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
33091         explicitly specified encoding of the bookmark file cannot encode the
33092         additional bookmarks just added.  (Bug#25365)
33094 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
33096         Improve definition of 'variable-pitch' face on MS-Windows
33098         * lisp/faces.el (variable-pitch): Don't specify too many
33099         attributes of the font, otherwise faces that request different
33100         weight or slant or size will not get them.
33102 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
33104         Fix an error message in python.el
33106         * lisp/progmodes/python.el (python-shell-get-process-or-error):
33107         Don't repeat the same key binding twice.  (Bug#25405)
33109 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
33111         Remove unused ldefs-boot.el
33113          * lisp/ldefs-boot.el: Remove
33115         This file was not removed as reported in c27b645956a11, but accidentally
33116         left.
33118 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
33119             Eli Zaretskii  <eliz@gnu.org>
33121         Use expanded stack during regex matches
33123         While the stack is increased in main(), to allow the regex stack
33124         allocation to use alloca we also need to modify regex.c to actually take
33125         advantage of the increased stack, and not limit stack allocations to
33126         SAFE_ALLOCA bytes.
33128         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
33129         allocations in signal handlers which no longer happens and correct
33130         description about when and why MATCH_MAY_ALLOCATE should be defined.
33131         (emacs_re_safe_alloca): New variable.
33132         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
33133         of MAX_ALLOCA.
33134         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
33135         confusion with glibc's `re_max_failures'.
33136         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
33137         to the stack.  Instead of changing emacs_re_max_failures based on the
33138         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
33139         remains constant regardless, since if we run out stack space SAFE_ALLOCA
33140         will fall back to heap allocation.
33142 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
33144         Fix computation of regex stack limit
33146         The regex stack limit was being computed as the number of stack entries,
33147         whereas it was being compared with the current size as measured in
33148         bytes.  This could cause indefinite looping when nearing the stack limit
33149         if re_max_failures happened not to be a multiple of sizeof
33150         fail_stack_elt_t (Bug #24751).
33152         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
33153         limit as numbers of stack entries.
33155 2017-01-08  Alan Third  <alan@idiocy.org>
33157         Remove apploopnr
33159         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
33160         allow app loop to run in main thread.
33162 2017-01-08  Glenn Morris  <rgm@gnu.org>
33164         Remove unused configure output variable
33166         * configure.ac (GNULIB_MK):
33167         * Makefile.in (gnulib_mk): Remove, no longer used.
33169 2017-01-08  Glenn Morris  <rgm@gnu.org>
33171         Fix automake dependencies
33173         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
33174         All platforms need this file to exist.
33176 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
33178         Remove unnecessary blankp code
33180         * src/character.c (blankp): Remove redundant code that slows Emacs
33181         down a bit.  The caller already does the test.
33183 2017-01-08  Stefan Merten  <stefan@merten-home.de>
33185         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
33187         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
33188         (rst-svn-timestamp)
33189         (rst-official-version, rst-official-cvs-rev)
33190         (rst-package-emacs-version-alist): Maintain version numbers.
33191         (rst-forward-indented-block): Fix. Start searching at next
33192         line again. Fixes fontification of comments continuing on the
33193         same line they started.
33195 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
33197         Remove @SET_MAKE@ from manually-maintained files
33199         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
33200         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
33201         * src/Makefile.in: Remove @SET_MAKE@.
33203 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
33205         Fix a problem with `start-file-process' in Tramp
33207         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
33208         `start-file-process' shall work when `non-essential' is
33209         non-nil, but there is already an established connection.
33210         <https://github.com/company-mode/company-mode/issues/462>
33212 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
33214         Fix selecting SQLite database files with sql-mode (Bug#23566)
33216         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
33217         SQLite database file name, by default.
33218         (sql-get-login-ext): Fixed read-file-name arguments to provide
33219         path completion even if a database name pattern is customized and to
33220         allow creation of new SQLite database files.
33222 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
33224         Clarify major mode switching
33226         * doc/emacs/modes.texi (Major Modes):
33227         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
33228         buffer has exactly one major mode and can't be "turned off", only
33229         switched away from (Bug#25357).
33231 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
33233         Add helpful comment to compile-command's docstring
33235         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
33236         docstring (Bug#25337).
33238 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
33240         Specify encoding of the bookmark file
33242         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
33243         Accept an argument CODING and include a 'coding:' cookie in the
33244         bookmark file preamble.
33245         (bookmark-upgrade-file-format-from-0): Call
33246         'bookmark-insert-file-format-version-stamp' with the file buffer's
33247         encoding, as detected when it was read.
33248         (bookmark-file-coding-system): New variable.
33249         (bookmark-load): Set bookmark-file-coding-system to the encoding
33250         of the loaded file.
33251         (bookmark-write-file): Bind coding-system-for-write to either the
33252         user setting via "C-x RET c" or to the existing file encoding,
33253         defaulting to 'utf-8-emacs'.  Update the value of
33254         bookmark-file-coding-system.  (Bug#25365)
33256 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
33258         Avoid infloop in 'ispell-region'
33260         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
33261         Protect against 'ispell-skip-region-alist' being nil.  Reported by
33262         Ernest Adrogué <nfdisco@gmail.com>, see
33263         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
33265 2017-01-06  Philipp Stephani  <phst@google.com>
33267         Add support for Unicode whitespace in [:blank:]
33269         See Bug#25366.
33271         * src/character.c (blankp): New function for checking Unicode
33272         horizontal whitespace.
33273         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
33274         whitespace.
33275         (BIT_BLANK): New bit for range table.
33276         (re_wctype_to_bit, execute_charset): Use it.
33277         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
33278         unit test for [:blank:] character class.
33279         * test/src/regex-tests.el (test): Adapt unit test.
33280         * doc/lispref/searching.texi (Char Classes): Document new Unicode
33281         behavior for [:blank:].
33283 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
33285         Fix ':version' of 'select-enable-primary'
33287         * lisp/select.el (select-enable-primary): Fix a typo in
33288         ':version'.  (Bug#25375)
33290 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
33292         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
33294         Author:
33296         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
33297         Avoid add-to-list on local variables.
33299 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
33301         Fix isearch handling of C-u C-u...
33303         * lisp/isearch.el: Add `isearch-scroll' property to
33304         universal-argument-more so that `isearch-allow-scroll' will apply to it
33305         as well.
33306         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
33307         `universal-argument-more' as well (Bug#25302).
33309 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
33311         Shorten autogen.sh script
33313         * autogen.sh: Use a shorter script, as some 'sed' implementations
33314         mishandle long scripts.
33316 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33318         Yet another fix for autogen.sh
33320         * autogen.sh (gnulib.mk): Make the Sed script more portable.
33322         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
33323         the changes in autogen.sh.
33325 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33327         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
33329 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33331         Fix dependencies of nt/gnulib.mk
33333         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
33334         of nt/gnulib.mk on lib/Makefile.in.
33336 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
33338         Unbreak macOS build
33340         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
33341         Sed.
33343 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
33345         Fix term.el handling of ^Z-sequences spanning chunks
33347         Bash will after each command send ?\032 and the current directory "/tmp"
33348         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
33349         command outputs roughly 4096 bytes then the end of the first chunk will
33350         be "/tm" (Bug#13350).
33352         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
33353         end of the ?\032 sequence to use \n instead of $, the latter can match
33354         end of string as well.
33356 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
33358         Turn on lexical-binding in mb-depth.el
33360         * lisp/mb-depth.el: Turn on lexical-binding.
33361         (minibuffer-depth-setup): Bind things used multiple times.
33363 2017-01-04  Alan Third  <alan@idiocy.org>
33365         Revert "Rework NS event handling (bug#25265)"
33367         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
33369 2017-01-04  Glenn Morris  <rgm@gnu.org>
33371         Update remaining copyright years with admin.el M-x set-copyright
33373         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
33375 2017-01-04  Glenn Morris  <rgm@gnu.org>
33377         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
33379 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
33381         Port recent autogen.sh changes to Darwin
33383         Problem reported by Sam Steingold (Bug#25347).
33384         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
33385         POSIX does not require it and it does not work on Darwin.
33387 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
33389         Avoid add-to-list on local variables
33391         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
33392         (nnir-retrieve-headers): Use pcase.
33393         (nnir-search-thread): Avoid add-to-list on local variables.
33395         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
33396         (smime-verify-region): Avoid add-to-list on local variables.
33398         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
33399         (rmail-digest-parse-mime, rmail-digest-rfc1153)
33400         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
33402         * lisp/net/ldap.el (ldap-search): Move init into declaration.
33404         * lisp/net/newst-backend.el (newsticker--cache-add):
33405         Avoid add-to-list on local variables; Simplify code with `assq'.
33407         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
33408         (dbus-debug): Remove declaration, unused.
33409         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
33410         (zeroconf-service-browser-handler, zeroconf-publish-service):
33411         Avoid add-to-list and *-hook on local variables.
33413         * lisp/org/org-archive.el (org-all-archive-files):
33414         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
33415         Avoid add-to-list on local variables.
33417         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
33418         (org-publish-projects): Use it to avoid run-hooks on a local variable.
33419         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
33420         local variables.
33422         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
33423         (ada-prj-load-from-file): Avoid add-to-list on local variables.
33425         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
33426         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
33427         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
33429         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
33430         Avoid add-to-list on local variables.
33432 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
33434         Turn on lexical-binding in md4.el
33436         * lisp/md4.el: Turn on lexical-binding.
33437         * test/lisp/md4-tests.el: New file.
33439 2017-01-03  Stefan Merten  <stefan@merten-home.de>
33441         Lots of refactorings and a few minor improvements.
33443         User visible improvements and changes:
33444         * Improve and debug `rst-forward-section` and `rst-backward-section`.
33445         * Auto-enumeration may be used with all styles for list insertion.
33446         * Improve and debug `rst-toc-insert`.
33447         * Adapt change in Emacs to use customization group `text` instead of `wp`.
33448         * Bind `n` and `p` in `rst-toc-mode`.
33449         * `z` in `toc-mode` returns to the previous window configuration.
33450         * Require Emacs version >= 24.1.
33452         Lots of refactorings including:
33453         * Silence byte compiler.
33454         * Use lexical binding.
33455         * Use `cl-lib`.
33456         * Add tests and raise test coverage.
33458 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
33460         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
33462         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
33463         emit a warning for those coders who forgot to put a default value in
33464         their slot.
33466 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
33468         Small patch for ffap.el
33470         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
33471         while walking 'ffap-alist'.
33473 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
33475         Generate nt/gnulib.mk from lib/gnulib.mk
33477         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
33478         with the purpose of avoiding manual maintenance of
33479         nt/gnulib.mk.
33481         * nt/gnulib-modules-to-delete.cfg: New file.
33482         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
33483         (am__v_GEN_1): New variables.
33484         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
33485         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
33487         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
33488         files to link.
33489         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
33490         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
33491         running autoreconf.
33492         * Makefile.in (gnulib_mk): New variable.
33493         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
33494         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
33495         name.
33496         * .gitignore: Add nt/gnulib.mk.
33498         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
33499         build the acl-permissions module from Gnulib.
33501 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
33503         Handle multibyte chars spanning chunks in term.el
33505         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
33506         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
33507         buffer-local twice.
33508         (term-emulate-terminal): Check for bytes of incompletely decoded
33509         characters, and save them until the next call when they can be fully
33510         decoded (Bug#25288).
33512 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
33514         Finish work on filenotify-tests.el
33516         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
33517         New variable.
33518         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
33519         (file-notify--test-read-event, file-notify-test02-events)
33520         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
33521         (file-notify-test03-autorevert)
33522         (file-notify-test08-watched-file-in-watched-dir):
33523         Set `file-notify--test-desc' for proper work of
33524         `file-notify--test-monitor'.  (Bug#21804)
33526 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
33528         Check also for "gvfs-monitor-dir.exe" in Tramp
33530         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
33531         for "gvfs-monitor-dir.exe".
33533 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
33535         Fix compilation --without-x
33537         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
33538         font_range only if it is compiled in.  (Bug#25334)
33540 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
33542         Fix RefTeX to show table of contents for dtx files (tiny change)
33544         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
33545           section regexp so that it accepts lines starting with the comment
33546           character. (tiny change)
33547         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
33548           gathered toc entries, accepting a commented entry if and only if the
33549           source file is a ".dtx" file. (tiny change)
33551 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
33553         Remove mistakenly-added files
33555         Problem reported by Glenn Morris in:
33556         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
33557         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
33558         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
33559         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
33560         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
33561         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
33562         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
33563         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
33564         Remove files that were added by mistake during a merge.
33566 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
33568         Warn about incomplete untarring of link files
33570         The current tar-mode doesn't really support unpacking symlinks, it
33571         simply creates an empty file of the same name.
33573         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
33574         `tar--check-descriptor'.
33575         (tar-untar-buffer): Use it to warn about imperfectly untarred link
33576         files.
33578 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
33580         Remove sh-mode's skeleton-end-hook
33582         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
33583         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
33584         and also respects `skeleton-end-newline' (Bug#16634).
33586 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33588         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
33590 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
33592         Add term/tmux.el
33594         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
33595         with xterm and screen terminfos.  This is simply a duplication of
33596         term/screen.el with screen -> tmux.
33597         * lisp/term/tmux.el: New file.
33599 2017-01-01  Philipp Stephani  <phst@google.com>
33601         Fix encoding of JSON surrogate pairs
33603         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
33604         individual code points; cf. Bug #24784.
33606         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
33607         pairs.
33608         (json--decode-utf-16-surrogates): New defun.
33610         * test/lisp/json-tests.el (test-json-read-string): Add test for
33611         surrogate pairs.
33613 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
33615         Remove tramp-gw.el, which was synced from emacs-25 by accident
33617 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33619         Do not use Gnulib’s m4/wint_t.m4.
33621         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
33622         Fix typo so that warn-on-use.m4 is removed too.
33623         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
33624         * m4/wint_t.m4: Remove.
33626 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33628         Merge from gnulib, continued
33630         * m4/wint_t.m4: New file, copied from gnulib.
33632 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33634         Update copyright year to 2017 in master
33636         Run admin/update-copyright in the master branch.  This fixes files
33637         that were not already fixed in the emacs-25 branch before it was
33638         merged here.
33640 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33642         Remove test/automated detritus from merge
33644 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33646         Merge from gnulib
33648         This incorporates:
33649         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
33650         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
33651         2016-12-17 getlogin: Port to newer mingw
33652         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
33653         2016-12-17 Avoid redefinition errors on MSVC
33654         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
33655         * m4/stdint.m4, m4/unistd_h.m4:
33656         Copy from gnulib.
33657         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33658         Plus, this commit updates the indenting on copyright notices to
33659         match that of gnulib.
33661 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33663         Merge from origin/emacs-25
33665         2e2a806 Fix copyright years by hand
33666         5badc81 Update copyright year to 2017
33668 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33670         Merge from origin/emacs-25
33672         665be69 ; Update ChangeLog.2 and AUTHORS files
33674         # Conflicts:
33675         #       etc/AUTHORS
33677 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33679         Merge from origin/emacs-25
33681         697167b ; Improve wording of previous change in variables.texi
33682         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
33683         8b71826 Don't modify minibuffer variables globally
33684         5b5e036 Revert to pre-25.1 behavior in ffap
33685         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
33686         3ace730 Attempt to fix 64-bit AIX build
33687         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
33688         c04ac8a Document that variable binding order is unspecified
33689         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
33690         08de101 Fix M-x hints on Mac port
33691         86a297a Work around reporting a dpi change in apply_xft_settings
33692         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
33693         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
33694         88cdf14 Improve skeleton docstrings
33696 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33698         Merge from origin/emacs-25
33700         4179238 Improve documentation of 'w32-scroll-lock-modifier'
33702 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33704         Merge from origin/emacs-25
33706         9adb101 Document 'describe-fontset'
33707         229315c ; Add missing symbol quoting.
33708         3d94931 Repair desktop restoration on text terminals
33709         43022f9 Ignore forward-sexp-function in js-mode indentation code
33710         b19fb49 Improve documentation of 'define-coding-system'
33711         467768f Fix Bug#25162
33712         6db78ae Fix a typo in define-abbrev-table
33713         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
33714         442e2f6 Fixes related to select-enable-clipboard
33715         e4ac450 Define struct predicate before acccesors
33716         08decbd Doc fix for vc-git
33717         5531e75 Further improve make-dist checking
33718         953bf67 Improve previous make-dist change
33719         129645a Make make-dist --snapshot do some sanity checks
33721         # Conflicts:
33722         #       lisp/menu-bar.el
33724 2017-01-01  Alan Mackenzie  <acm@muc.de>
33726         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
33728         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
33729         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
33731         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
33732         t to (&rest def-form).
33734 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33736         Fix copyright years by hand
33738         These are dates that admin/update-copyright did not update, or
33739         updated incorrectly.
33741 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33743         Update copyright year to 2017
33745         Run admin/update-copyright.
33747 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
33749         Clarify internal_catch etc.
33751         The recent change to internal_catch and friends relied on some
33752         confusion I introduced to the code in 2013.  Attempt to fix
33753         the confusion by clarifying the code instead.  This saves an
33754         instruction and a load dependency in the typical case.
33755         * src/eval.c (internal_catch, internal_condition_case)
33756         (internal_condition_case_1, internal_condition_case_2)
33757         (internal_condition_case_n): Undo the previous change.  Instead,
33758         use use ‘c’ rather than ‘handlerlist’ in the typical case.
33759         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
33761 2016-12-31  Ken Brown  <kbrown@cornell.edu>
33763         Further improve filenotify-tests.el
33765         * test/lisp/filenotify-tests.el
33766         (file-notify--test-read-event): Adapt to file monitors of type
33767         GFamFileMonitor, which occur on Cygwin.
33768         (file-notify--test-monitor): Update doc string.
33770 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
33772         * src/xdisp.c (string_from_display_spec): Simplify.
33774 2016-12-31  Alan Third  <alan@idiocy.org>
33776         Rework NS event handling (bug#25265)
33778         * src/nsterm.m (unwind_apploopnr): Remove.
33779         (ns_read_socket): Remove references to apploopnr.  Make processing the
33780         NS event loop conditional on being in the main thread.
33781         (ns_select): Remove references to apploopnr.  Remove all fd_handler
33782         related stuff.  Check if there are events waiting on the NS event
33783         queue rather than running the event loop.  Remove unused variables and
33784         code.
33785         (fd_handler): Remove.
33786         (ns_term_init): Remove creation of fd_handler thread.
33787         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
33788         EmacsView:windowDidExpose): Remove send_appdefined.
33789         (ns_send_appdefined): Always check the event queue for
33790         applicationDefined events rather than relying on send_appdefined var.
33791         * src/nsterm.h: Remove reference to fd_handler method.
33793 2016-12-31  Philipp Stephani  <phst@google.com>
33795         Checkdoc: use syntax functions instead of regex
33797         In checkdoc.el, get rid of the error-prone regex to find definition
33798         forms, and use existing syntax-based navigation functions instead.
33799         This fixes a corner case with one-argument `defvar' forms.
33801         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
33802         (checkdoc-next-docstring, checkdoc-defun): Use it.
33803         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
33804         Add unit test.
33806 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
33808         Don't define NOMINMAX on MS-Windows
33810         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
33811         longer needed with the current sources and MinGW headers, while
33812         defining NOMINMAX causes an annoying compiler warning.
33814 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
33816         Simplify code in eval.c that calls 'setjmp'
33818         * src/eval.c (internal_catch, internal_condition_case)
33819         (internal_condition_case_1, internal_condition_case_2)
33820         (internal_condition_case_n): Factor out the common tail of the
33821         functions.
33823 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
33825         Simplify code in 'string_from_display_spec'
33827         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
33828         test before the loop.
33830 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
33832         Serialize random number generation on MS-Windows
33834         * src/w32.c (rand_as183): New function.
33835         (random): Use it instead of MS runtime's 'rand'.  This avoids
33836         producing separate and identical random series in each Lisp
33837         thread.
33838         (srandom): Modify to supply 3 seed values to 'rand_as183'.
33840 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
33842         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
33844 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
33846         Don't call xg_select for a NextStep build.
33848         NextStep builds use glib but don't use xg_select.
33850         * src/process.c (wait_reading_process_output): Don't call xg_select
33851         for a NextStep build.
33853 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
33855         Increase the obarray size.
33857         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
33858         the time we've started.  The old obarray size ensured an average chain
33859         length of 10 or more.
33861         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
33863 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
33865         Initialize thread support for Xlib.
33867         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
33868         before doing anything else with X.
33870 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
33872         Rename primary_thread to main_thread
33874         This avoids the confusion of using two different phrases "main thread"
33875         and "primary thread" internally to mean the same thing.  See:
33876         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
33877         * src/thread.c (main_thread): Rename from primary_thread,
33878         since the new name no longer clashes with main_thread_id
33879         and Emacs internals normally call this the "main thread".
33880         (init_main_thread): Rename from init_primary_thread.
33881         (main_thread_p): Rename from primary_thread_p.
33882         All uses changed.
33884 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
33886         Rename main_thread to main_thread_id and simplify
33888         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
33889         [HAVE_PTHREAD]: Do not include pthread.h.
33890         (main_thread): Remove.  All uses replaced by main_thread_id,
33891         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
33892         the main_thread_id established by sysdep.c, there is no need for a
33893         separate copy of the main thread ID here.
33894         (module_init): Remove.  All uses removed.
33895         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
33896         Rename from main_thread.  All uses changed.  Now extern.
33898 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
33900         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
33902 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
33904         * src/sysdep.c (deliver_process_signal): Improve comment.
33906 2016-12-30  Alan Mackenzie  <acm@muc.de>
33908         CC Mode: Fix the fontification of a spuriously recognized enum member.
33910         The "enum" was in an argument list, but triggered the fontification of a
33911         following identifier in the function block as though it were in an enum
33912         declaration.
33914         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
33915         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
33916         call to c-font-lock-enum-body.
33918         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
33919         variable.
33921 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
33923         Bump Emacs version to 25.1.91
33925         * README:
33926         * configure.ac:
33927         * msdos/sed2v2.inp:
33928         * nt/README.W32: Bump Emacs version.
33929         * lisp/ldefs-boot.el: Update.
33931 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
33933         Attempt to fix crashes with threads in GTK builds
33935         * src/xgselect.c (xg_select): Call pselect via thread_select, not
33936         directly, to avoid running Lisp (via unblock_input) when more than
33937         one thread could be running.  (Bug#25247)
33938         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
33939         xg_select directly instead of through thread_select.
33940         * src/xgselect.h (xg_select): Last 2 arguments are no longer
33941         'const', for consistency with thread_select.
33943 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
33945         Add entry for biblatex
33947         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
33948         entry for biblatex macros.
33950 2016-12-30  Alan Mackenzie  <acm@muc.de>
33952         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
33954         The ambiguity was whether INITVALUE is evaluated when it's not going to be
33955         used to set SYMBOL's value.
33957         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
33959         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
33961 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
33963         ffap-string-at-point: Limit max length of active region
33965         Prevents that 'ffap-guesser' waste time checking large strings
33966         which are likely not valid candidates (Bug#25243).
33967         * lisp/ffap.el (ffap-max-region-length): New variable.
33968         (ffap-string-at-point): Use it.
33969         * test/lisp/ffap-tests.el: New test suite.
33970         (ffap-tests-25243): Add test for this bug.
33972 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
33974         last-chance: Also ignore NEWS files + typo fixes
33976         * admin/last-chance.el: Fix typo in copyright notice.
33977         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
33978         (last-chance-cleanup): Fix typo in docstring.
33980 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
33982         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
33984 2016-12-29  Alan Mackenzie  <acm@muc.de>
33986         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
33988         The ambiguity was whether INITVALUE is evaluated when it's not going to be
33989         used to set SYMBOL's value.
33991         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
33993 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
33995         Improve filenotify-tests.el
33997         * src/inotify.c (Finotify_valid_p):
33998         * src/kqueue.c (Fkqueue_valid_p):
33999         * src/w32notify.c (Fw32notify_valid_p):
34000         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
34001         (Fgfile_monitor_name): New defun.
34002         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
34004         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
34005         New defun, derived from `file-notify--test-read-event-timeout'.
34006         Replace all calls of `read-event' by this.
34007         (file-notify--test-timeout): Fix docstring.
34008         (file-notify--test-monitor): New defun.
34009         (file-notify--deftest-remote): Do not bind
34010         `file-notify--test-read-event-timeout' anymore.
34011         (file-notify-test00-availability): Print also monitor, if existent.
34012         (file-notify--test-with-events): Add an additional
34013         `file-notify--test-read-event' call, in order to get it work
34014         after `file-notify-add-watch'.  Remove special timeout for cygwin.
34015         (file-notify-test02-events): Make a better check for cygwin.
34016         (file-notify-test06-many-events): Improve event list for cygwin.
34017         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
34019 2016-12-29  Alan Mackenzie  <acm@muc.de>
34021         Partially correct fontification of "(b*3)", and the like, in C++ Mode
34023         This problem is caused by the fundamental ambiguity in C++ between
34024         argument declarations and initialization clauses.
34026         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
34027         paren preceded by an arithmetic operator, we give this the context nil, not
34028         'arglist.
34030         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
34031         New lang consts and vars.
34033 2016-12-29  Alan Mackenzie  <acm@muc.de>
34035         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
34037         This is because there are times when this variable is changed by setcar before
34038         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
34039         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
34041         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
34043 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34045         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
34047         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
34048         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
34050 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
34052         Release Tramp 2.3.1
34054         * doc/misc/trampver.texi:
34055         * lisp/net/trampver.el: Change version to "2.3.1".
34057         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
34058         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
34060         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
34061         (tramp-compat-file-name-quote)
34062         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
34064 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
34066         Simplify prog1 implementation
34068         Inspired by a suggestion from Chris Gregory in:
34069         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
34070         On my platform, this generates exactly the same machine insns.
34071         * src/eval.c (prog_ignore): Rename from unwind_body, since
34072         it’s more general than that.  All callers changed.
34073         (Fprog1): Simplify by using prog_ignore.
34074         (Fwhile): Clarify by using prog_ignore.
34076 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
34078         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
34080         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
34082 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
34084         Remove a use of lexical-let
34086         * lisp/gnus/message.el (message-completion-function): Just use let,
34087         since the file now uses lexical-binding.
34089 2016-12-27  Ken Brown  <kbrown@cornell.edu>
34091         Improve filenotify-tests.el on Cygwin (Bug #21804)
34093         * test/lisp/filenotify-tests.el [CYGWIN]
34094         (file-notify--test-read-event-timeout): Increase.
34095         (file-notify--test-with-events): Add delay before executing body.
34096         (file-notify-test02-events, file-notify-test04-file-validity):
34097         Adjust expected results.
34099 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
34101         Fix expand-file-name on DOS_NT systems when /: escaping is used
34103         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
34104         file names escaped by "/:".  Don't recursively expand
34105         default-directory escaped with "/:" which is not followed by a
34106         drive spec.  (Bug#25183)
34108 2016-12-27  Bake Timmons  <65pandas@gmail.com>
34110         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
34112         * doc/misc/gnus.texi (Mail Source Specifiers):
34113         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
34114         the correct `((group))' value.  (bug#25275) (tiny change)
34116 2016-12-27  Bake Timmons  <65pandas@gmail.com>
34118         Fix bug in customizing `mail-sources' variable (bug#25274)
34120         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
34121         for lone argument. (bug#25274) (tiny change)
34123 2016-12-26  Philipp Stephani  <phst@google.com>
34125         Checkdoc: Don't require a space before an arg list
34127         See Bug#24998.
34129         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
34130         space before a argument list.
34131         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
34132         Add unit test.
34134 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
34136         Document 'default-toplevel-value' and 'set-default-toplevel-value'
34138         * doc/lispref/variables.texi (Default Value): Document
34139         'default-toplevel-value' and 'set-default-toplevel-value'.
34141 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
34143         Add zshrc and zshenv detection to sh-mode (bug#25217)
34145         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
34147 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34149         Fix typo in lisp.h reordering patch
34151         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
34152         Reported by Eli Zaretskii (Bug#25128#19).
34154 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34156         regex.h now includes sys/types.h
34158         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
34159         Do not include sys/types.h; no longer needed.
34160         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
34161         glibc regex.h does, and POSIX has blessed this since 2008.
34163 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34165         Reorder lisp.h to declare types before using them
34167         This puts basic functions for types to be after the corresponding
34168         type definitions.  This is a more-common programming style in C,
34169         and will make it easier to port Emacs to gcc
34170         -fcheck-pointer-bounds, since the functions now have access to the
34171         corresponding types' sizes.  This patch does not change the code;
34172         it just moves declarations and definitions and removes
34173         no-longer-needed forward declarations (Bug#25128).
34174         * src/buffer.c, src/data.c, src/image.c:
34175         Include process.h, for PROCESSP.
34176         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
34177         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
34178         * src/termhooks.h (TERMINALP, XTERMINAL):
34179         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
34180         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
34181         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
34182         Move here from lisp.h.
34183         * src/intervals.h: Include buffer.h, for BUFFERP.
34184         Include lisp.h, for Lisp_Object.
34185         * src/lisp.h: Reorder declarations and definitions as described
34186         above.  Move thread includes to be later, so that they can use the
34187         reordered definitions.  Move some symbols to other headers (noted
34188         elsewhere).  Remove forward decls that are no longer needed.
34189         * src/thread.h: Include systhread.h here, not in lisp.h,
34190         since lisp.h itself does not need systhread.h.
34192 2016-12-25  Leo Liu  <sdl.web@gmail.com>
34194         Don't modify minibuffer variables globally
34196         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
34198 2016-12-25  Dima Kogan  <dima@secretsauce.net>
34200         diff-mode auto-refines only after a successful motion
34202         Prior to this patch (if enabled) auto-refinement would kick in after all
34203         hunk navigation commands, even if the motion failed.  This would result
34204         in a situation where the hunk navigation would signal an error and beep,
34205         but yet still accomplish potentially useful work, by auto-refining.
34206         This patch moves the auto-refinement code to only run when a motion was
34207         successful
34209         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
34210           diff--internal-hunk-prev): Removed auto-refinement-triggering code
34211         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
34212           auto-refinement-triggering code
34214 2016-12-25  Dima Kogan  <dima@secretsauce.net>
34216         diff-mode is able to better handle file headers
34218         This fixes a regression introduced in
34220           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
34222         This bug was filed in
34224           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
34226         Patches generated from a VCS such as git contain a patch message at the
34227         start, and diff-mode is now once-again able to properly able to ignore
34228         this message when issuing navigation commands around the message.
34230         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
34231           thoroughly ignore the header when looking for a beginning of file
34232           diffs.
34234 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34236         Use libpng-config --ldflags, not --libs
34238         Problem reported by James K. Lowden (Bug#25268).
34239         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
34241 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
34243         Revert to pre-25.1 behavior in ffap
34245         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
34246         the same behavior as in Emacs 24.x.  (Bug#25264)
34247         Explain the trade-offs of customizing this in the doc string.
34249 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34251         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
34253 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34255         Remove redundant `save-match-data' in whitespace.el
34257         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
34258         (whitespace-report-region): Remove redundant `save-match-data' calls.
34260 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
34262         Fix whitespace eob cleanup
34264         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
34265         of empty lines at end of buffer.
34266         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
34267         (whitespace-tests--cleanup-string): New helper function for tests.
34269 2016-12-24  Hong Xu  <hong@topbug.net>
34271         Fix timezone detection of parse-iso8601-time-string
34273         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
34274         parsing.  Add a doc string.  (Bug#25086)
34275         * src/editfns.c (Fdecode-time): Doc fix.
34276         * doc/misc/emacs-mime.texi (time-date): Add an example for
34277         parse-iso8601-time-string.
34278         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
34279         tests for parse-iso8601-time-string.
34281 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34283         Simplify exec_byte_code via moving decls etc.
34285         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
34286         initializers into decls, and by omitting some unnecessary changes
34287         to ‘top’.
34289 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34291         Remove interpreter’s byte stack
34293         This improves performance overall on my benchmark on x86-64,
34294         since the interpreted program-counter resides in a machine
34295         register rather than in RAM.
34296         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
34297         is no longer a byte stack to decode.
34298         * src/bytecode.c (struct byte_stack, byte_stack_list)
34299         (relocate_byte_stack): Remove.  All uses removed.
34300         (FETCH): Simplify now that pc is now local (typically, in a
34301         register) and no longer needs to be relocated.
34302         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
34303         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
34304         (exec_byte_code): Allocate a copy of the function’s bytecode,
34305         so that there is no problem if GC moves it.
34306         * src/lisp.h (struct handler): Remove byte_stack member.
34307         All uses removed.
34308         * src/thread.c (unmark_threads): Remove.  All uses removed.
34309         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
34310         All uses removed.  m_stack_bottom is now the first non-Lisp field.
34312 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34314         BYTE_CODE_SAFE typo fix
34316         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
34317         not on whether it is defined.
34319 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34321         BYTE_CODE_SAFE cleanups
34323         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
34324         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
34325         Remove unused members ‘top’ and ‘bottom’.
34326         (exec_byte_code): Nest inside { } to avoid GCC warning about
34327         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
34329 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
34331         last-chance: new utility lib for dangling deterrence
34333         * admin/last-chance.el: New file.
34335 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
34337         Use max_align_t instead of void *
34339         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
34341 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34343         Attempt to fix 64-bit AIX build
34345         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
34346         type-casts that assumed 32-bit pointers.  (Bug#25141)
34348 2016-12-23  Philipp Stephani  <phst@google.com>
34350         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
34352         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
34354 2016-12-23  Philipp Stephani  <phst@google.com>
34356         Document that variable binding order is unspecified
34358         * doc/lispref/variables.texi (Local Variables):
34359         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
34360         'cl-letf' is unspecified.
34362 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34364         Prevent infloops in redisplay due to truncate-lines and overlays
34366         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
34367         redisplay_window when a screen line ends in an overlay string with
34368         a newline.  (Bug#25246)
34370 2016-12-23  Philipp Stephani  <phst@google.com>
34372         Treat incomplete integer literals as errors
34374         See Bug#25120.
34376         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
34377         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
34378         incomplete integer literals.
34380 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34382         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
34384 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
34386         Fix M-x hints on Mac port
34388         * lisp/simple.el (execute-extended-command--shorter): Call
34389         input-pending-p to trigger input processing on some systems, such
34390         as Mac port.  (Bug#23002)
34392 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
34394         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
34396 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
34398         Avoid aborts due to unaligned byte stack of threads
34400         * src/thread.c (run_thread): Make sure the pointers to thread byte
34401         stack are properly aligned.  (Bug#25247)
34403 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
34405         Pacify --enable-gcc-warnings
34407         * src/charset.c (load_charset_map):
34408         * src/coding.c (decode_coding_object):
34409         * src/frame.c (make_frame):
34410         * src/window.c (Frecenter):
34411         Mark locals with UNINIT to silence false alarms from
34412         -Wmaybe-uninitialized.
34413         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
34414         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
34415         Check and assume that values are nonnull.  This pacifies
34416         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
34417         Fmake_local_variable.
34419 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
34421         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
34423         * src/thread.c (primary_thread_p): New function.
34424         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
34425         meant for thread objects allocated dynamically.
34426         * src/thread.h (primary_thread_p): Add prototype.
34428 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
34430         Work around reporting a dpi change in apply_xft_settings
34432         * src/xsettings.c (apply_xft_settings): Don't report a change
34433         when dpi settings do not differ substantially.
34435 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
34437         Use completion-at-point in verilog-mode
34439         There were some functions in verilog-mode that implemented in-buffer
34440         completion, but this needlessly duplicates completion-at-point
34441         functionality, and the popup window management had problems
34442         (see Bug #23842).  We need to keep them for backwards compatibility with
34443         older emacs versions, but use completion-at-point if available.
34445         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
34446         obsolete if completion-cycle-threshold is available.
34447         (verilog-mode-map, verilog-menu): Bind completion-at-point and
34448         completion-help-at-point in preference to verilog-complete-word and
34449         verilog-show-completions, respectively.
34450         (verilog-mode): Add verilog-completion-at-point to
34451         completion-at-point-functions.
34452         (verilog-completion-at-point): New function.
34453         (verilog-show-completions, verilog-complete-word): Use it to avoid code
34454         duplication.
34456 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
34458         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
34460         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
34461         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
34462         retain their hardwired values, and all other dictionaries are given
34463         sensible defaults.
34465 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
34467         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
34468         and xetex commands.
34470 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
34472         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
34474         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
34475         for thread objects.  They are marked via the all_threads list, and
34476         therefore don't need to be inserted into the red-black tree, so
34477         mem_find will never find them.  Reported by Daniel Colascione
34478         <dancol@dancol.org> in
34479         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
34481 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
34483         * src/data.c (Fmake_variable_frame_local): Remove
34485         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
34487         * src/data.c (swap_in_symval_forwarding, set_internal)
34488         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
34489         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
34490         Don't pay attention to ->frame_local any more.
34491         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
34492         Smake_variable_frame_local.
34494         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
34495         of make-variable-frame-local.
34497         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
34498         frame-local case.
34500         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
34502         * src/frame.c (store_frame_param):
34503         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
34505         * src/widget.c (first_frame_p): Remove, unused.
34507 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
34509         Port dumping better to WSL
34511         Problem reported by Angelo Graziosi in:
34512         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
34513         * src/sysdep.c (disable_address_randomization):
34514         Detect buggy platforms where 'personality' always returns 0.
34516 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
34518         Remove gateway methods in Tramp
34520         * doc/misc/tramp.texi (Top, Configuration): Remove section
34521         `Gateway methods', insert section `Firewalls' in menu.
34522         (History): Gateways are removed now.
34523         (Gateway methods): Remove section.
34524         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
34525         (Firewalls): New section.
34527         * etc/NEWS: Gateway methods in Tramp have been removed.
34529         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
34530         (tramp-file-name-port, tramp-accept-process-output): Simplify.
34532         * lisp/net/tramp-gw.el: Remove.
34534         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
34535         (tramp-gw-socks-method): Remove declarations.
34536         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
34537         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
34538         (tramp-do-copy-or-rename-file-out-of-band)
34539         (tramp-compute-multi-hops, tramp-maybe-open-connection):
34540         Remove gateway support.
34542         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
34543         Remove gateway tests.
34545 2016-12-20  Alan Mackenzie  <acm@muc.de>
34547         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
34549         lisp/progmodes/cc-defs.el: Amend the version number.
34550         etc/NEWS: Add an item explaining the change.
34552 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
34554         files-test-read-file-in-: Delete temporary dir on exit
34556         * test/lisp/files-tests.el (files-test-read-file-in-~):
34557         Create subdir inside dir.
34559 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
34561         ibuffer: New filters and commands
34563         Add several new filters and improve documentation.
34564         See discussion on:
34565         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
34566         * lisp/ibuf-ext.el: Add paragraph to file commentary.
34567         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
34568         (ibuffer-filter-groups): Update doc string.
34569         (ibuffer-unary-operand): Add new function that transparently
34570         handles 'not' formats for compound filters.
34571         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
34572         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
34573         (ibuffer-decompose-filter): Handle 'and' as well,
34574         and handle 'not' consistently with other uses.
34575         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
34576         (ibuffer--or-and-filter): New defun.
34577         (ibuffer-or-filter, ibuffer-and-filter): Use it.
34578         (ibuffer-format-qualifier): Handle 'and' filters as well.
34579         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
34580         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
34581         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
34582         Add new pre-defined filters.
34583         (ibuffer-filter-chosen-by-completion): Add new interactive command
34584         for easily choosing a filter from the descriptions.
34585         * lisp/ibuffer.el (ibuffer-mode-map):
34586         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
34587         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
34588         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
34589         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
34590         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
34591         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
34592         and '/ DEL' respectively.
34593         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
34594         skip specification.
34595         Add menu entries for the new filters.
34596         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
34597         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
34598         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
34599         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
34600         ibuffer-decompose-filter, ibuffer-and-filter
34601         ibuffer-or-filter): Add new tests; they are skipped unless
34602         ibuf-ext is loaded.
34604 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
34606         Update NEWS
34608         * etc/NEWS (Image-Dired): New section.
34610 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
34612         Recognize graphicsmagick in image-dired
34614         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
34615         (image-dired-cmd-create-thumbnail-options):
34616         (image-dired-cmd-create-temp-image-program):
34617         (image-dired-cmd-create-temp-image-options):
34618         (image-dired-cmd-create-standard-thumbnail-options):
34619         (image-dired-cmd-rotate-thumbnail-program):
34620         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
34621         gm(1) executable.
34623 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
34625         Improve skeleton docstrings
34627         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
34628         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
34629         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
34630         `skeleton-end-hook' above the explanation of skeleton syntax.
34632 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
34634         Implement asynchronous thumbnail generation in image-dired
34636         Additionally, all FOO-options defcustoms that were in fact shell command
34637         strings have been converted to argument lists.  Another method for
34638         shrinking PNG thumbs with optipng(1) has been added.
34639         * lisp/image-dired.el: Remove TODO item in commentary.
34640         (image-dired-cmd-create-thumbnail-options):
34641         (image-dired-cmd-create-temp-image-options):
34642         (image-dired-cmd-rotate-thumbnail-options):
34643         (image-dired-cmd-rotate-original-options):
34644         (image-dired-cmd-write-exif-data-options):
34645         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
34646         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
34647         Change string type to file.
34648         (image-dired-cmd-create-standard-thumbnail-command): Remove.
34649         (image-dired-cmd-pngnq-options):
34650         (image-dired-cmd-create-standard-thumbnail-options):
34651         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
34652         New defcustoms.
34653         (image-dired-queue, image-dired-queue-active-jobs):
34654         (image-dired-queue-active-limit): New variables.
34655         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
34656         (image-dired-optipng-thumb): New functions.
34657         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
34658         Use start-process instead of call-process.  Set file modes.  Trigger
34659         PNG file optimization in process sentinel.
34660         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
34661         (image-dired-display-thumbs):
34662         (image-dired-create-thumbs): Don't expect call-process return value.
34663         (image-dired-display-image, image-dired-rotate-thumbnail): Use
34664         start-process instead of call-process.
34665         (image-dired-rotate-original, image-dired-set-exif-data):
34666         (image-dired-get-exif-data): Adapt to arguments being an arg list.
34668 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
34670         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
34672         * src/indent.c (restore_window_buffer): New function.
34673         (Fvertical_motion): Use it to restore window's buffer.
34675 2016-12-19  Glenn Morris  <rgm@gnu.org>
34677         Improve default load-path for uninstalled CANNOT_DUMP builds
34679         * src/lread.c (load_path_default) [CANNOT_DUMP]:
34680         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
34681         I think this became an issue several years ago when we stopped
34682         using EMACSLOADPATH in the Makefiles; however this change should
34683         improve the CANNOT_DUMP uninstalled case in general.
34685 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34687         Improve documentation of 'w32-scroll-lock-modifier'
34689         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
34690         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
34692         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
34693         fix.  (Bug#25204)
34695 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34697         Document 'describe-fontset'
34699         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
34700         (Bug#25216)
34702 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34704         Document 'describe-fontset'
34706         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
34707         (Bug#25216)
34709 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
34711         Fix crashes upon C-g on Posix TTY frames
34713         * src/thread.h (struct thread_state): New member not_holding_lock.
34714         (maybe_reacquire_global_lock): Add prototype.
34715         * src/thread.c: Include syssignal.h.
34716         (maybe_reacquire_global_lock): New function.
34717         (really_call_select): Set the not_holding_lock member of the
34718         thread state before releasing the lock, and rest it after
34719         re-acquiring the lock when the select function returns.  Block
34720         SIGINT while doing this to make sure we are not interrupted on TTY
34721         frames.
34722         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
34723         functions.
34724         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
34725         Add prototypes.
34726         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
34727         maybe_reacquire_global_lock.  (Bug#25178)
34729 2016-12-19  Sam Steingold  <sds@gnu.org>
34731         avoid Eager macro-expansion failure: (void-function string-to-list)
34733         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
34734           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
34735           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
34737 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
34739         Fix Bug#24980
34741         * lisp/ido.el (ido-add-virtual-buffers-to-list):
34742         Suppress Tramp invocation.  (Bug#24980)
34744 2016-12-18  Philipp Stephani  <phst@google.com>
34746         Add a new compile error regexp for Clang includes
34748         Clang uses a slight variation of GCC's include format, causing includes
34749         to be treated as warnings instead of informational messages.  Use a new
34750         regular expression instead.
34752         * lisp/progmodes/compile.el
34753         (compilation-error-regexp-alist-alist): New element
34754         `clang-include' for Clang-style "included from" lines.
34755         * test/lisp/progmodes/compile-tests.el
34756         (compile-tests--test-regexps-data): Add unit test.
34758 2016-12-18  Alan Third  <alan@idiocy.org>
34760         Reinstate ispell character offset (bug#25219)
34762         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
34763         ispell-offset used to be.
34765 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
34767         Bind new image-mode scroll commands in image-dired
34769         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
34770         to new image-mode commands.
34772 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
34774         Fix rx-any with range with ?\] and ?-
34776         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
34777         list (Bug#25123).
34778         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
34780 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
34782         Use floor of mtime instead of rounding for thumb property
34784         This seems to be the correct thing to do, at least more in line with
34785         what at least one other implementation does.  Anything using
34786         gnome-desktop [0] effectively does the same, as
34787         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
34788         comparison and time_t on GNU/Linux is a signed int.
34789         [0] https://git.gnome.org/browse/gnome-desktop/
34790         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
34792 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
34794         Fix spelling mistake in private defun name (Bug#25218)
34796         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
34797         `flyspell-adjust-cursor-point'.
34799 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
34801         Remove XEmacs support from flyspell.el (Bug#25218)
34803         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
34804         (flyspell-word, flyspell-delete-region-overlays):
34805         (flyspell-correct-word-before-point): Remove XEmacs support.
34806         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
34808 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
34810         More tests for Tramp
34812         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
34813         file names.
34815         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
34816         name properly.
34818         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
34819         Mark quoted file name as absolute.  (Bug#25183)
34820         (tramp--test-windows-nt-and-batch)
34821         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
34822         (tramp--test-windows-nt-or-smb-p): Rename from
34823         `tramp--test-smb-windows-nt-p'.  Adapt callees.
34824         (tramp--test-check-files): Improve checks for environment variables.
34825         (tramp-test33-special-characters)
34826         (tramp-test33-special-characters-with-stat)
34827         (tramp-test33-special-characters-with-perl)
34828         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
34829         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
34830         (tramp-test34-utf8-with-ls): Add more checks for skip.
34832 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
34834         Fix comments
34836         * src/thread.h (struct thread_state): Fix comments.
34837         * src/process.c (wait_reading_process_output): Fix a typo in
34838         commentary.
34840 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
34842         Repair desktop restoration on text terminals
34844         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
34845         frame here, instead of in desktop-restoring-frameset.  That's
34846         because desktop-read wants to know whether frameset will actually
34847         be restored, and has fallback procedures up its sleeve when it
34848         won't be; these fallbacks need to be invoked when the frameset is
34849         not going to be restored.  (Bug#24298)
34851 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
34853         Fix crashes on MS-Windows during dumping
34855         * src/unexw32.c (get_section_info): Make extra_bss_size be the
34856         maximum of extra_bss_size and extra_bss_size_static.  This avoids
34857         computing the size of the output file smaller than it actually
34858         needs to be, which then causes copy_executable_and_dump_data to
34859         write beyond the requested size of the file mapping, thus relying
34860         on the OS roundup to page boundary to save us from ourselves.  See
34861         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
34862         for the details.
34864         * lib/stdio-impl.h: Revert the workaround fix of not including
34865         errno.h for MinGW.
34867 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
34869         Ignore forward-sexp-function in js-mode indentation code
34871         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
34872         (js--maybe-goto-declaration-keyword-end):
34873         Bind forward-sexp-function to nil (bug#25215).
34875 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34877         Be more selective clearing the image cache
34879         * lisp/image-dired.el (image-dired-create-thumbs):
34880         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
34881         the current thumbnail file from the image cache.
34883 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
34885         Unbreak the MinGW build
34887         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
34888         this, temacs crashes while dumping.
34890 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
34892         Make seq-into return the sequence when no conversion needed
34894         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
34895           no conversion is needed.
34896         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
34897           a regression test checking for identity.
34899 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
34901         Improve documentation of 'define-coding-system'
34903         * lisp/international/mule.el (define-coding-system): Warn against
34904         possible infinite recursion in pre-write-conversion and
34905         post-read-conversion functions.  (Bug#25203)
34907 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34909         New commands image-scroll-left and image-scroll-right
34911         * etc/NEWS: Mention them.
34912         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
34913         functions.
34915 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34917         More image-dired refactoring
34919         * lisp/image-dired.el (image-dired-thumbnail-mode):
34920         (image-dired-display-image-mode): Add :group 'image-dired so
34921         customize-mode works.
34922         (image-dired-display-image): Rearrange.
34923         (image-dired-copy-with-exif-file-name): This map is for side effect.
34924         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
34926 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34928         * lisp/image-dired.el: Turn on lexical-binding.
34930 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
34932         Teach image-dired to also generate large thumbs
34934         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
34935         standard-large option.
34936         (image-dired-thumb-size): Add condition for standard-large storage.
34937         (image-dired-insert-thumbnail): Check for new option.  Change
34938         thumbnail path conditionally.
34939         (image-dired-thumb-size): New function.
34940         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
34942 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
34944         Merge from gnulib
34946         This incorporates:
34947         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
34948         2016-12-12 fpending: port to native Windows with MSVC
34949         * .gitignore: Do not ignore lib/stdio-impl.h.
34950         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
34951         Copy from gnulib.
34952         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
34953         * lib/stdio-impl.h:
34954         New file, copied from gnulib.
34955         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
34957 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
34959         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
34960         Append newline.
34962 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
34964         Don't abuse princ and spam messages
34966         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
34967         (image-dired-display-thumb-properties):
34968         (image-dired-dired-display-properties): Nix princ.  Bind
34969         message-log-max to nil.
34971 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
34973         Inherit things from special-mode and image-mode
34975         * lisp/image-dired.el: Require image-mode library.
34976         (image-dired-thumbnail-mode-map): Remove superfluous binding.
34977         (image-dired-display-image-mode-map): Remove superfluous binding.
34978         Add movement remaps from image-mode-map.
34979         (image-dired-thumbnail-mode): Derive from special-mode.
34980         (image-dired-display-image-mode): Derive from special-mode. Call
34981         image-mode-setup-winprops.
34983 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
34985         Fix some image-dired customization types
34987         * lisp/image-dired.el (image-dired): Add info link to defgroup.
34988         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
34989         (image-dired-db-file, image-dired-temp-image-file):
34990         (image-dired-cmd-create-thumbnail-program):
34991         (image-dired-cmd-create-temp-image-program):
34992         (image-dired-cmd-rotate-thumbnail-program):
34993         (image-dired-cmd-rotate-original-program):
34994         (image-dired-temp-rotate-image-file):
34995         (image-dired-cmd-write-exif-data-program):
34996         (image-dired-cmd-read-exif-data-program): Set type to file.
34997         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
34998         type at runtime, since setting image-dired-thumb-size does not
34999         automatically set image-dired-thumb-width and image-dired-thumb-height.
35001 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
35003         Prevent crashes in xg_select due to concurrency
35005         * src/xgselect.c (xg_select): Don't call Glib functions that use
35006         'context' if we failed to acquire it.  This means some other
35007         thread owns the context, in which case both using the context and
35008         calling block_input/unblock_input will step on that thread's toes
35009         and eventually lead to crashes.  (Bug#25172)
35011 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
35013         Fix circular list handling in seq-mapn
35015         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
35016         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
35017           Add a regression test.
35019 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
35021         Check in tramp-tests.el, that environment variables are set correctly
35023         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
35024         Check also, that environment variables are set correctly.
35026 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
35028         Protect environment variables with double quotes in Tramp
35030         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
35031         Protect environment variables with double quotes.
35033 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
35035         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
35037 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
35039         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
35041 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35043         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
35045 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35047         Recognize pngnq or pngnq-s9
35049         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
35050         pngnq-s9 as a possible executable.
35052 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35054         Update standard image-dired thumbnail location
35056         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
35057         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
35059 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35061         Reset window scroll when displaying an image
35063         When viewing a large image full size and scrolling, for instance, to
35064         the lower right corner, then selecting a much smaller image in the
35065         thumbnail buffer, the window stays scrolled so the new image is out of
35066         the window.  One must scroll back to the "origin" to view the new
35067         displayed image, or just kill the image-dired-display-image buffer and
35068         try again.  This fixes the issue.
35069         * lisp/image-dired.el (image-dired-display-window-width):
35070         (image-dired-display-window-height): Operate on a window as argument.
35071         (image-dired-display-image): Bind (image-dired-display-window) and use
35072         it. Set window vscroll and hscroll to zero when refreshing the
35073         buffer's contents.
35075 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
35077         More image-dired polish
35079         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
35080         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
35081         undo list. Add image-dired-file-name-at-point to
35082         file-name-at-point-functions to facilitate find-file and friends.
35083         (image-dired-thumbnail-display-external):
35084         (image-dired-dired-display-external): Use start-process instead, to
35085         avoid needlessly blocking and using a shell.
35087 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
35089         Replace ldefs-boot with a much smaller file
35091          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
35092            (bootstrap): Depend on bootstrap-build.
35093          * admin/ldefs-clean.el: New file.
35094          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
35095          * lisp/ldefs-boot.el: Remove.
35096          * lisp/ldefs-boot-auto.el: New file.
35097          * lisp/ldefs-boot-manual.el: New file.
35098          * lisp/loadup.el: Load ldefs-boot-manual.el.
35099          * src/emacs.c (generating_ldefs_boot): New variable.
35100            (main): Check whether we are generating ldefs.
35101          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
35102            requested.
35103          * src/lisp.h (generating_ldefs_boot): New variable.
35104          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
35105            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
35106            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
35107            ldefs-boot.
35108          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
35110 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35112         Remove support for aspell < 0.60 (from 2004)
35114         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
35115         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
35117 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35119         Minor docstring and comment fixes to ispell.el
35121         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
35122         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
35123         (ispell-set-spellchecker-params): Change double-single quotes to
35124         single single quotes in comment.
35126 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35128         Remove unused variable
35130         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
35132 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35134         Remove XEmacs-specific ispell-with-no-warnings
35136         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
35137         defmacro, needed only for XEmacs.
35138         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
35140 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35142         Remove meaningless defconst ispell-version
35144         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
35145         firmly part of Emacs, and the version hasn’t changed since 2003, and
35146         isn’t used anywhere, remove it.  3rd-party code can better use the
35147         Emacs version, or feature or function checks.
35148         (ispell-check-version): No longer report ispell.el version.
35150 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35152         Remove boundp test for always-bound symbol
35154         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
35155         defvar’d at the top of the file, so remove a test to see if it is
35156         bound.
35158 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35160         Remove support for ispell < 3.1.12
35162         * lisp/textmodes/ispell.el (ispell-offset): Remove.
35163         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
35164         (ispell-process-line): No longer use ispell-offset.
35166 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35168         Remove unused constant
35170         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
35172 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35174         Remove support for old versions of supercite and GNUS from ispell.el
35176         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
35177         and GNUS >= 5.  Not exactly the bleeding edge!
35179 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35181         Remove remaining mentions of XEmacs from ispell.el
35183         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
35184         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
35185         comments.
35187 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35189         Remove XEmacs-specific minibuffer handling code from ispell.el
35191         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
35192         XEmacs.
35194 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35196         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
35198         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
35199         XEmacs-specific code.
35201 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35203         Remove XEmacs-specific code dealing with enable-multibyte-characters
35205         * lisp/textmodes/ispell.el (ispell-decode-string):
35206         (ispell-init-process):  Remove XEmacs-specific guard.
35208 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35210         Remove XEmacs-specific code from ispell.el
35212         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
35213         (ispell-menu-map-needed): Remove XEmacs-specific check.
35214         (ispell-word): Remove XEmacs-specific extent code.
35215         (ispell-init-process): Remove XEmacs workaround for local add-hook.
35216         Assume we have set-process-query-on-exit-flag.
35217         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
35218         workaround for called-interactively-p.
35220 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35222         Remove some commented-out code
35224         lisp/textmodes/ispell.el (ispell-process)
35225         ispell-valid-dictionary-list): Remove commented-out code.
35227 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35229         Remove XEmacs and old Emacs highlighting code
35231         * lisp/textmodes/ispell.el
35232         (ispell-highlight-spelling-error-xemacs): Remove.
35233         (ispell-highlight-spelling-error): Assume display-color-p exists.
35235 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35237         Assume Emacs supports [:alpha:] in regexps
35239         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
35240         (ispell-set-spellchecker-params): Remove tests of
35241         ispell-emacs-alpha-regexp.
35243 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35245         Remove some XEmacs-specific code from ispell.el
35247         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
35248         (ispell-int-char): Remove.
35250 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35252         Generalize over-specific documentation
35254         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
35255         document precise personal wordlist filenames for only two supported
35256         spelling checkers, simply say that the default personal dictionary
35257         depends on the chosen spelling checker.  The user can check the
35258         spelling checker’s documentation if necessary.  This is simpler, and
35259         works for other supported (and future, or unknown) spelling checkers.
35261 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35263         Remove tests for built-in functions
35265         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
35266         back-up definition.
35267         (ispell-add-per-file-word-list): Remove tests for comment-padright and
35268         comment-normalize-vars.
35270 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35272         Remove unused ispell-looking-back
35274         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
35276 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35278         Assume we have version<= for checking ispell version
35280         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
35281         (ispell-check-version): Use version<= directly.
35283 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
35285         Remove ispell.el pre-GNU Emacs comments
35287         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
35288           details, as Emacs version, bug report address and so forth should be
35289           used instead for this version.  Remove in-line change history; use
35290           git instead.
35292 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35294         More small fixes for image-dired
35296         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
35297         node.
35298         (image-dired--with-db-file): Add declare forms.
35299         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
35300         run through the whole list.
35302 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35304         Remove image-dired-kill-buffer-and-window
35306         This breaks window layout, especially when quitting a
35307         image-dired-display-image-mode buffer.
35308         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
35309         (image-dired-display-image-mode-map): Replace in keymap and menu items
35310         bindings to image-dired-kill-buffer-and-window with quit-window.
35311         (image-dired-kill-buffer-and-window): Remove.
35313 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
35315         Replace image-dired-setup-dired-keybindings with a minor mode
35317         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
35318         remove mention of nonexistent image-dired-dired and to refer to the
35319         new minor mode.
35320         (image-dired-minor-mode-map): New keymap assimilated from
35321         image-dired-setup-dired-keybindings.  In the future, the keymap parent
35322         should be removed, and perhaps also the duplicate bindings that
35323         already exist in dired-mode-map.
35324         (image-dired-setup-dired-keybindings): Remove.  Replace with an
35325         obsolete function alias.
35326         (image-dired-minor-mode): New minor mode, assuming the role of
35327         image-dired-setup-dired-keybindings.
35329 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
35331         * test/src/regex-resources/PTESTS: Convert to UTF-8.
35333 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
35335         Clarify thread-signal semantics
35337         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
35338         thread will be signaled as soon as possible.
35340 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
35342         Clean up var watcher disabling on thread switching
35344         * src/data.c (Fset_default): Move code into new C level function,
35345         `set_default_internal'.
35346         (set_default_internal): New function, like `Fset_default' but also takes
35347         additional bindflag parameter.
35348         (set_internal): Only call `notify_variable_watchers' if bindflag is not
35349         SET_INTERNAL_THREAD_SWITCH.
35350         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
35351         passed on to set_internal and set_default_internal.  Adjust callers.
35352         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
35353         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
35354         temporarily adjusting symbol's trapped_write field.
35356 2016-12-13  Glenn Morris  <rgm@gnu.org>
35358         Minor fix for define-derived-mode
35360         * lisp/emacs-lisp/derived.el (define-derived-mode):
35361         Do not let eg eval-defun reset the values of syntax or abbrev tables,
35362         since they might have been defined externally.  (Bug#16160)
35364 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
35366         * build-aux/git-hooks/pre-commit: Add whitespace comment.
35368 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
35370         Move backtrace to ELisp using a new mapbacktrace primitive
35372         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
35373         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
35374         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
35376         * lisp/subr.el (backtrace--print-frame): New function.
35377         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
35378         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
35380         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
35381         `mapbacktrace' instead of searching for "(debug" in the output of
35382         `backtrace'.
35384         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
35385         (subr-test-backtrace-integration-test): New tests.
35387         * doc/lispref/debugging.texi (Internals of Debugger): Document
35388         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
35390 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
35392         Use C99 syntax for font drivers
35394         Problem reported by Daniel Colascione in:
35395         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
35396         * src/ftcrfont.c (ftcrfont_driver):
35397         * src/ftfont.c (ftfont_driver):
35398         * src/ftxfont.c (ftxfont_driver):
35399         * src/macfont.m (macfont_driver):
35400         * src/nsfont.m (nsfont_driver):
35401         * src/xfont.c (xfont_driver):
35402         * src/xftfont.c (xftfont_driver):
35403         Use C99 syntax, not the old GNU C syntax.
35405 2016-12-12  Glenn Morris  <rgm@gnu.org>
35407         Obsolete gs.el
35409         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
35410         * doc/lispref/display.texi (Image Formats): Remove postscript.
35411         (PostScript Images): Remove section.
35412         * doc/lispref/elisp.texi: Update menu.
35414 2016-12-12  Glenn Morris  <rgm@gnu.org>
35416         Un-revert recent Ffset change
35418         * src/data.c (Ffset): Reinstate the check for "nil".
35420 2016-12-12  Glenn Morris  <rgm@gnu.org>
35422         Minor advice.el fix
35424         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
35425         Avoid setting the function definition of nil.
35426         This was happening during bootstrap of org-compat.el,
35427         apparently due to eager macro expansion of code behind
35428         a (featurep 'xemacs) test.
35430 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35432         Make etags-tests work in out-of-tree builds
35434         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
35435         (etags-bug-23164): Make them work in an out-of-tree build.
35436         Reported by Ken Brown <kbrown@cornell.edu>.
35438 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35440         Avoid crashing if a new thread is signaled right away
35442         * src/thread.c (post_acquire_global_lock): Don't raise the pending
35443         signal if the thread's handlers were not yet set up, as that will
35444         cause Emacs to exit with a fatal error.  This can happen if a
35445         thread is signaled as soon as make-thread returns, before the new
35446         thread had an opportunity to acquire the global lock, set up the
35447         handlers, and call the thread function.
35449         * test/src/thread-tests.el (thread-signal-early): New test.
35451 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
35453         Fix point motion in cloned buffers
35455         * src/thread.c (post_acquire_global_lock): Call
35456         set_buffer_internal_2 instead of tricking set_buffer_internal_1
35457         into resetting the current buffer even if it didn't change.  This
35458         avoids bug#25165, caused by failing to record the modified values
35459         of point and mark, because current_buffer was set to NULL.  Also,
35460         don't bother re-setting the buffer if there was no thread switch,
35461         as that just wastes cycles.
35462         * src/buffer.c (set_buffer_internal_2): New function, with most of
35463         the body of set_buffer_internal_1, but without the test for B
35464         being identical to the current buffer.
35465         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
35466         identical to the current buffer.
35467         * src/buffer.h (set_buffer_internal_2): Add prototype.
35469         * test/src/thread-tests.el (thread-sticky-point): New test.
35471 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
35473         Further improvements in Tramp's file name unquoting
35475         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
35476         (tramp-adb-handle-write-region): Unquote localname.
35477         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
35478         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
35480         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
35481         (tramp-handle-file-name-case-insensitive-p):
35482         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
35483         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
35484         (tramp-gvfs-maybe-open-connection):
35485         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
35486         * lisp/net/tramp-smb.el (tramp-smb-get-share)
35487         (tramp-smb-get-localname): Use it.
35489         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
35490         (tramp--test-special-characters, tramp-test34-utf8)
35491         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
35492         (tramp-test34-utf8-with-ls): Use it.
35494 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
35496         Strengthen conditions for resizing sibling windows (Bug#25169)
35498         * lisp/window.el (window-resize, delete-window): Resize other siblings
35499         only if `window-combination-resize' equals t (Bug#25169).
35501 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
35503         Quote filenames containing '~' in prompts
35505         When in a directory named '~', the default value given by
35506         `read-file-name' should be quoted by prepending '/:', in order to
35507         prevent it from being interpreted as referring to the $HOME
35508         directory (Bug#16984).
35510         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
35511         (completion--sifn-requote, read-file-name-default): Use it instead of
35512         `minibuffer--double-dollars'.
35513         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
35515 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
35517         Undo part of last change
35519         * src/thread.h:
35520         * src/keyboard.c:
35521         * src/keyboard.h: Undo part of last change:
35522         input_available_clear_time is again a global variable.
35524 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
35526         Avoid aborts when a thread signals an error
35528         * src/thread.h (struct thread_state): Add members
35529         m_waiting_for_input and m_input_available_clear_time.
35530         (waiting_for_input, input_available_clear_time): New macros.
35531         * src/keyboard.c (waiting_for_input, input_available_clear_time):
35532         Remove; they are now macros that reference the current thread.
35533         (Bug#25171)
35534         * src/w32select.c: Don't include keyboard.h.
35536         * test/src/thread-tests.el (thread-errors): New test.
35538 2016-12-11  Philipp Stephani  <phst@google.com>
35540         Clean up compile-tests.el
35542         Switch to lexical binding.  Make checkdoc happy.
35544         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
35545         (compile-test-error-regexps): Instead of checking a single Boolean
35546         value, use `should' for each attribute of the message to be compared.
35547         (compile-tests--test-regexps-data): Document sixth list element
35548         TYPE.
35550 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
35552         Fix Bug#25162
35554         * doc/emacs/files.texi (Reverting): Document
35555         auto-revert-remote-files and auto-revert-verbose.
35557         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
35558         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
35560 2016-12-11  Glenn Morris  <rgm@gnu.org>
35562         Fix a typo in define-abbrev-table
35564         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
35566 2016-12-11  Glenn Morris  <rgm@gnu.org>
35568         Improve previous cperl-mode change
35570         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
35571         Improve previous change.
35573 2016-12-11  Glenn Morris  <rgm@gnu.org>
35575         Mark default cperl abbrevs as system ones
35577         * lisp/progmodes/cperl-mode.el (cperl-mode):
35578         Mark our abbrevs as system ones.  (Bug#10934)
35580 2016-12-11  Glenn Morris  <rgm@gnu.org>
35582         Revert earlier Ffset change
35584         * src/data.c (Ffset): Allow nil again, since it caused
35585         eager macro-expansion failures.
35587 2016-12-11  Glenn Morris  <rgm@gnu.org>
35589         Tweaks for message bogus address detection
35591         * lisp/gnus/message.el (message-bogus-recipient-p):
35592         Do not require "@", since some mailers deliver to local addresses
35593         without one.  (Bug#23054)
35594         Move "@.*@" from here...
35595         (message-bogus-addresses): ...to here, so it can be customized.
35597 2016-12-11  Glenn Morris  <rgm@gnu.org>
35599         Do not allow nil to be defined as a function
35601         * lisp/emacs-lisp/byte-run.el (defun):
35602         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
35604 2016-12-11  Glenn Morris  <rgm@gnu.org>
35606         Bump makeinfo requirement from 4.7 to 4.13
35608         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
35609         We need at least 4.8, and that may be buggy, so go for the last
35610         of the 4 series, which is 8 years old.  (Bug#25108)
35612 2016-12-11  Glenn Morris  <rgm@gnu.org>
35614         Fixes related to select-enable-clipboard
35616         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
35617         (clipboard-kill-region):
35618         * lisp/eshell/esh-io.el (eshell-virtual-targets)
35619         (eshell-clipboard-append):
35620         Replace option gui-select-enable-clipboard with
35621         select-enable-clipboard; renamed October 2014.  (Bug#25145)
35623 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
35625         Add some sanity checking of defun arglist
35627         * lisp/emacs-lisp/byte-run.el (defun):
35628         Check for malformed argument lists.  (Bug#15715)
35630 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
35632         Minor shell-mode fix for zsh
35634         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
35635         becoming confused by zsh abbreviations.  (Bug#24632)
35637 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
35639         Define struct predicate before acccesors
35641         The accessor functions use the predicate function, which causes problems
35642         when reloading after unload-feature: the compiler-macro property is
35643         still present on the predicate symbol, and the compiler fails to find
35644         the definition when trying to inline it into the accessor
35645         function (Bug#25088).
35647         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
35648         before field accessor definitions.
35650 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
35652         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
35653         system unit file.
35655 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35657         Support concurrency in Emacs Lisp
35659         Merge branch 'test-concurrency'
35661         * src/thread.c:
35662         * src/thread.h:
35663         * src/systhread.c:
35664         * src/systhread.h: New files.
35665         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
35666         xnmalloc unconditionally.
35667         * src/window.c (struct save_window_data): Rename current_buffer to
35668         f_current_buffer.
35669         * src/w32proc.c (sys_select): Change the function signature to
35670         closer fit 'pselect' on Posix hosts.
35671         * src/search.c:
35672         * src/regex.h: Convert some globals to macros that reference
35673         thread-specific values.
35674         * src/process.c (pset_thread, add_non_keyboard_read_fd)
35675         (add_process_read_fd, add_non_blocking_write_fd)
35676         (recompute_input_desc, compute_input_wait_mask)
35677         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
35678         (compute_write_mask, clear_waiting_thread_info)
35679         (update_processes_for_thread_death, Fset_process_thread)
35680         (Fprocess_thread): New functions.
35681         (enum fd_bits): New enumeration.
35682         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
35683         'condition' to 'flags'.
35684         (set_process_filter_masks, create_process, create_pty)
35685         (Fmake_serial_process, finish_after_tls_connection)
35686         (connect_network_socket, deactivate_process)
35687         (server_accept_connection, wait_reading_process_output)
35688         (Fcontinue_process, Fstop_process, keyboard_bit_set)
35689         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
35690         (delete_keyboard_wait_descriptor): Use the new functions instead
35691         of manipulating fd flags and masks directly.
35692         (syms_of_process): Defsubr the new primitives.
35693         * src/print.c (print_object): Print threads, mutexes, and
35694         conditional variables.
35695         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
35696         and PVEC_CONDVAR.
35697         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
35698         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
35699         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
35700         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
35701         f_lisp_eval_depth.
35702         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
35703         (rebind_for_thread_switch, do_one_unbind)
35704         (unbind_for_thread_switch): New functions.
35705         (init_eval): 'handlerlist' is not malloc'ed.
35706         (specbind): Call do_specbind.
35707         (unbind_to): Call do_one_unbind.
35708         (mark_specpdl): Accept 2 arguments.
35709         (mark_specpdl): Mark the saved value in a let-binding.
35710         * src/emacs.c (main): Call init_threads_once, init_threads, and
35711         syms_of_threads.
35712         * src/data.c (Ftype_of): Support thread, mutex, and condvar
35713         objects.
35714         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
35715         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
35716         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
35717         (BYTE_CODE_QUIT): Add back.
35718         (exec_byte_code): Add back byte stack manipulation.
35719         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
35720         conditional variables.
35721         (mark_stack): Now extern; accept additional argument 'bottom'.
35722         (flush_stack_call_func): New function.
35723         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
35724         mark handlers.
35725         * src/.gdbinit (xbytecode): Add back.
35727         * test/src/thread-tests.el: New tests.
35728         * test/src/data-tests.el (binding-test-manual)
35729         (binding-test-setq-default, binding-test-makunbound)
35730         (binding-test-defvar-bool, binding-test-defvar-int)
35731         (binding-test-set-constant-t, binding-test-set-constant-nil)
35732         (binding-test-set-constant-keyword)
35733         (binding-test-set-constant-nil): New tests.
35735         * doc/lispref/processes.texi (Processes and Threads): New
35736         subsection.
35737         * doc/lispref/threads.texi: New file
35738         * doc/lispref/elisp.texi (Top): Include it.
35739         * doc/lispref/objects.texi (Thread Type, Mutex Type)
35740         (Condition Variable Type): New subsections.
35741         (Type Predicates): Add thread-related predicates.
35742         * doc/lispref/objects.texi (Editing Types):
35743         * doc/lispref/elisp.texi (Top): Update higher-level menus.
35745         * etc/NEWS: Mention concurrency features.
35747 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35749         Fix error messages in thread.c
35751         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
35752         (Fcondition_notify, Fthread_join): Fix error messages.
35754 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35756         Improve doc strings in thread.c
35758         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
35759         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
35760         (Fthread_join, Fall_threads): Doc fixes.
35762 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35764         Fix building with check-lisp-object-type
35766         * src/thread.c (mark_one_thread): Use NILP to compare with
35767         m_saved_last_thing_searched, which is a Lisp object.  Reported by
35768         Andreas Politz <politza@hochschule-trier.de>.
35770 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
35772         Documentation and commentary improvements
35774         * src/lisp.h:
35775         * src/regex.c:
35776         * src/xgselect.c (xg_select): Improve commentary and formatting.
35778         * doc/lispref/objects.texi (Thread Type, Mutex Type)
35779         (Condition Variable Type): New subsections.
35780         (Type Predicates): Add thread-related predicates.
35781         * doc/lispref/objects.texi (Editing Types):
35782         * doc/lispref/elisp.texi (Top): Update higher-level menus.
35784 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
35786         Fix further problems with quoted file names in Tramp
35788         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
35789         (tramp-unquote-name): Move defsubst ...
35790         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
35791         (tramp-compat-file-name-quote)
35792         (tramp-compat-file-name-unquote): ... here. Adapt callees.
35794         * lisp/net/tramp-cache.el (tramp-flush-file-property)
35795         (tramp-flush-directory-property):
35796         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
35797         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
35798         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
35799         (tramp-smb-handle-substitute-in-file-name)
35800         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
35802 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35804         *src/sysdep.c: Fix a comment.
35806 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35808         Fix compilation error on Fedora 24
35810         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
35811         Reported by Paul Eggert <eggert@cs.ucla.edu>.
35813 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35815         Fix compilation warnings due to prototype of thread_select
35817         * src/thread.h <int select_func>: Make the 5th and 6th arguments
35818         be 'const'.
35819         * src/process.c [WINDOWSNT]:
35820         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
35821         'const'.
35823 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35825         Fix compilation on Debian GNU/Linux
35827         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
35828         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
35830 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
35832         Fix subtle errors with let-binding of localized variables
35834         * src/eval.c (do_specbind): Don't require a "symbol" that is
35835         actually a cons cell, in order to call set-default, as there are
35836         no longer such bindings.  This makes do_specbind work like the
35837         pre-concurrency implementation in specbind for bindings of
35838         forwarded symbols.  Use specpdl_kind to access the type of the
35839         binding.
35840         (specpdl_kind): New function.
35842 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
35844         Document file-name-quote, file-name-unquote and file-name-quoted-p
35846         * doc/lispref/files.texi (File Name Expansion):
35847         * etc/NEWS: Mention file-name-quote, file-name-unquote and
35848         file-name-quoted-p.
35850         * lisp/files.el (file-name-non-special): Revert using
35851         file-name-quote, file-name-unquote and file-name-quoted-p.
35853 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
35855         Fix bad quoting of python-shell-interpreter
35857         `python-shell-calculate-command' was using `shell-quote-argument' as if
35858         it was generating a shell command, but its callers don't pass the result
35859         to a shell, and they expect to parse it with `split-string-and-unquote'.
35860         This caused problems depending on the flavor of shell quoting in
35861         effect (Bug#25025).
35863         * lisp/progmodes/python.el (python-shell-calculate-command): Use
35864         `combine-and-quote-strings' to quote the interpreter, so that it can be
35865         parsed by `python-shell-make-comint' successfully using
35866         `split-string-and-unquote'.
35868 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
35870         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
35872 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
35874         Make read1 more reentrant
35876         This is needed if ‘read’ is called soon after startup, before the
35877         Unicode tables have been set up, and it reads a \N escape and
35878         needs to look up a value the Unicode tables, a lookup that in turn
35879         calls read1 recursively.  Although this change doesn’t make ‘read’
35880         fully reentrant, it’s good enough to handle this case.
35881         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
35882         (grow_read_buffer): Revamp to use locals, not statics, and to
35883         record memory allocation un the specpdl.  All callers changed.
35884         (read1): Start with a stack-based buffer, and use the heap
35885         only if the stack buffer is too small.  Use unbind_to to
35886         free any heap buffer allocated.  Use bool for boolean.
35887         Redo symbol loop so that only one call to grow_read_buffer
35888         is needed.
35889         (init_obarray): Remove no-longer-needed initialization.
35891 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
35893         Fix compilation warnings
35895         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
35896         compilation warning.
35898 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
35900         Fix unlikely substitute-command-keys memory leak
35902         * src/doc.c (Fsubstitute_command_keys):
35903         Free buffer when unwinding.
35905 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
35907         Add file-name-quoted-p, file-name-quote, file-name-unquote
35909         * lisp/files.el (file-name-quoted-p, file-name-quote)
35910         (file-name-unquote): New defsubst.
35911         (find-file--read-only, find-file-noselect)
35912         (file-name-non-special): Use them.
35914 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
35916         Add a NEWS entry.
35918 2016-12-08  Glenn Morris  <rgm@gnu.org>
35920         Minor fix for symbol-file
35922         * lisp/subr.el (symbol-file): Avoid false matches with "require"
35923         elements in load-history.  (Bug#25109)
35925 2016-12-08  Glenn Morris  <rgm@gnu.org>
35927         Doc fix for vc-git
35929         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
35931 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
35933         Fix Bug#24962
35935         * lisp/buff-menu.el (list-buffers--refresh):
35936         List buffers with name starting with " " if they visit a file.
35937         * test/lisp/buff-menu-tests.el (buff-menu-24962):
35938         Update test result as pass.
35940 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
35942         ediff-fixup-patch-map: Improve prompt
35944         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
35945         Make clear in the prompt when we are applying a multi patch.
35947 2016-12-08  Glenn Morris  <rgm@gnu.org>
35949         Retain message logging in map-y-or-n-p
35951         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
35952         Stop disabling logging to Messages buffer.  (Bug#13326)
35954 2016-12-08  Glenn Morris  <rgm@gnu.org>
35956         Doc fix for recent change
35958         * lisp/simple.el (region-modifiable-p): Doc fix.
35960 2016-12-08  Glenn Morris  <rgm@gnu.org>
35962         Quieten make-dist default operation
35964         * make-dist: Add --verbose option.  Default to quieter operation.
35966 2016-12-08  Glenn Morris  <rgm@gnu.org>
35968         Further improve make-dist checking
35970         * make-dist: Print status messages when checking.
35972 2016-12-08  Glenn Morris  <rgm@gnu.org>
35974         Improve previous make-dist change
35976         * make-dist: Let make check the info files more thoroughly.
35978 2016-12-08  Glenn Morris  <rgm@gnu.org>
35980         Make make-dist --snapshot do some sanity checks
35982         * make-dist: Snapshot mode no longer disables checks.
35983         Checks now includes checks for freshness.  (Bug#25084)
35984         Checks now exits with an error if problems were found.
35986 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
35988         Fix regression introduced by commit 7b1e97f
35990         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
35991         of cadr; required after commit 20f5a5b.
35993 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
35995         Put post-25 ChangeLog entries into ChangeLog.3
35997         * ChangeLog.2: Copy from emacs-25 branch.
35998         * ChangeLog.3: New file, with changes only in master.
35999         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
36001 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
36003         Fix network streams.
36005         The original code messed up flags in fd_callback_data[], and also
36006         didn't call add_process_read_fd for process-related file descriptors.
36008 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
36010         Minimize spurious diffs from master.
36012 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
36014         Fix the test suite
36016         * test/automated/bindings.el: Contents moved to
36017         test/src/data-tests.el.
36018         * test/automated/threads.el: Moved to test/src/thread-tests.el.
36020 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
36022         Fix a typo in bytecode.c.
36024 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
36026         Fix compilation problems.
36028         Fix merged code in process.c and eval.c.
36030 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
36032         Merge branch 'concurrency'
36034         Conflicts (resolved):
36035                 configure.ac
36036                 src/Makefile.in
36037                 src/alloc.c
36038                 src/bytecode.c
36039                 src/emacs.c
36040                 src/eval.c
36041                 src/lisp.h
36042                 src/process.c
36043                 src/regex.c
36044                 src/regex.h
36046 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
36048         Fix the MS-Windows build
36050         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
36052         * src/sysselect.h: Don't define fd_set and FD_* macros for
36053         MS-Windows here.
36054         * src/w32.h: Define them here.
36056         * src/process.h (sys_select): Declare prototype.
36058         * src/sysdep.c:
36059         * src/process.c:
36060         * src/filelock.c:
36061         * src/emacs.c:
36062         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
36063         * nt/inc/socket.h: Include w32.h instead of sysselect.h
36065 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
36067         merge from trunk
36069 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
36071         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
36072         specpdl stack.
36074 2013-10-18  Tom Tromey  <tromey@redhat.com>
36076         change condition-variablep to condition-variable-p
36078 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
36080         Fix crashes when unbind_for_thread_switch signals an error.
36082          src/eval.c (unbind_for_thread_switch): Accept a 'struct
36083          thread_state *' argument and use specpdl_ptr and specpdl of that
36084          thread.  Fixes crashes if find_symbol_value signals an error.
36085          src/thread.c (post_acquire_global_lock): Update current_thread
36086          before calling unbind_for_thread_switch.  Pass the previous thread
36087          to unbind_for_thread_switch.
36089 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
36091         Improve MS-Windows implementation of threads.
36093          src/systhread.c (sys_cond_init): Set the 'initialized' member to
36094          true only if initialization is successful.  Initialize wait_count
36095          and wait_count_lock.
36096          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
36097          'initialized' is false, do nothing.
36098          (sys_cond_wait): Fix the implementation to avoid the "missed
36099          wakeup" bug: count the waiting threads, and reset the broadcast
36100          event once the last thread was released.
36101          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
36102          PulseEvent.  Don't signal the event if no threads are waiting.
36103          (sys_cond_destroy): Only close non-NULL handles.
36104          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
36105          src/systhread.h (w32thread_cond_t): New member 'initialized'.
36106          Rename waiters_count and waiters_count_lock to wait_count and
36107          wait_count_lock, respectively.
36109 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
36111         Enable thread support in the MS-Windows build.
36113          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
36114          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
36115          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
36116          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
36117          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
36118          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
36119          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
36121          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
36122          if pthreads is not available.
36124 2013-08-27  Tom Tromey  <tromey@redhat.com>
36126         use condition-notify in the docs, not condition-signal
36128         zap until-condition docs
36130         zap until-condition
36132         rename thread-blocker to thread--blocker
36134         remove binding_symbol
36136         fix style of threadp, mutexp, and condition-variable-p
36138         make thread_check_current_buffer return bool
36140         add a comment before flush_stack_call_func
36142         fix whitespace_regexp warning
36144 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
36146         Fix MS-Windows build.
36148          src/callproc.c:
36149          src/emacs.c:
36150          src/filelock.c:
36151          src/process.c:
36152          src/sysdep.c:
36153          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
36154          redefinition of fd_set etc.
36155          src/process.c: Don't use num_pending_connects when
36156          NON_BLOCKING_CONNECT is not defined.
36157          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
36158          here from w32.h.
36159          src/w32proc.c (sys_select): Adjust the argument types to what
36160          thread.h expects.
36162          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
36163          of w32.h.
36165 2013-08-26  Tom Tromey  <tromey@redhat.com>
36167         use record_unwind_protect_void, avoid warning
36169         implement --enable-threads and a thread-less mode
36171 2013-08-25  Tom Tromey  <tromey@redhat.com>
36173         merge from trunk
36175 2013-08-20  Tom Tromey  <tromey@redhat.com>
36177         fix up some merge errors in process.c
36179         remove a dead function
36180         clean up a fixme I added in create_pty during the merge
36182 2013-08-20  Tom Tromey  <tromey@redhat.com>
36184         merge from trunk
36186 2013-07-26  Tom Tromey  <tromey@redhat.com>
36188         merge from trunk
36190 2013-07-13  Tom Tromey  <tromey@redhat.com>
36192         Merge from trunk
36194 2013-07-12  Tom Tromey  <tromey@redhat.com>
36196         Use thread_alive_p in a couple more spots
36198 2013-07-07  Tom Tromey  <tromey@redhat.com>
36200         fix xfree bug in run_thread
36202         this fixes run_thread to account for the dummy slot
36203         in specpdl
36205 2013-07-07  Tom Tromey  <tromey@redhat.com>
36207         merge from trunk
36209         this merges frmo trunk and fixes various build issues.
36210         this needed a few ugly tweaks.
36211         this hangs in "make check" now
36213 2013-07-06  Tom Tromey  <tromey@redhat.com>
36215         add assertion to flush_stack_call_func
36217         functions called via flush_stack_call_func are assumed
36218         to return with the global lock held again, and with
36219         current_thread reset.  this assertion verifies part of this
36221 2013-07-06  Tom Tromey  <tromey@redhat.com>
36223         call init_primary_thread from init_threads
36225 2013-07-05  Tom Tromey  <tromey@redhat.com>
36227         avoid SAFE_ALLOCA
36229         avoid SAFE_ALLOCA in xgselect.c.
36230         in this code it is just as easy to always use malloc;
36231         and it avoids thread-switching problems, as the safe-alloca
36232         stuff implicitly refers to the current thread
36234 2013-07-05  Tom Tromey  <tromey@redhat.com>
36236         avoid current_thread sometimes
36238         this tweaks thread.c to use 'self' instead of current_thread
36239         in a couple spots.  this is clearer and more robust
36241 2013-07-05  Tom Tromey  <tromey@redhat.com>
36243         initialize saved_value
36245         initialize the saved_value field in all needed cases
36246         also, add an assertion to do_one_unbind
36248 2013-07-04  Tom Tromey  <tromey@redhat.com>
36250         fix buglet in test case
36252 2013-07-04  Tom Tromey  <tromey@redhat.com>
36254         unlink thread later
36256         unlink thread from global list later
36257         also remove some unnecessary destruction code
36259 2013-07-04  Tom Tromey  <tromey@redhat.com>
36261         introduce thread_alive_p macro
36263         This introduces the thread_alive_p macro and changes
36264         thread-alive-p to use it.  This is a minor cleanup.
36265         It also changes all-threads to ignore dead threads.
36267 2013-07-03  Tom Tromey  <tromey@redhat.com>
36269         Don't call unbind_for_thread_switch in run_thread
36271         This removes the call to unbind_for_thread_switch from run_thread.
36272         This isn't necessary because acquire_global_lock does it properly.
36274 2013-07-03  Tom Tromey  <tromey@redhat.com>
36276         remove unused field from struct thread_state
36278         Fix a comment.
36280 2013-06-13  Tom Tromey  <tromey@redhat.com>
36282         merge from trunk
36284 2013-06-06  Tom Tromey  <tromey@redhat.com>
36286         fix a few latent issues in the thread patch
36288         * we called unbind_for_thread_switch unconditionally, but this
36289           is wrong if the previous thread exited
36290         * likewise, exiting a thread should clear current_thread
36291         * redundant assignment in run_thread
36292         * clean up init_threads - no need to re-init the primary thread
36294         This patch still sometimes causes weird hangs in "make check".
36295         However, I think that is a kernel bug, since Emacs enters the zombie
36296         state but its parent process hangs in wait.  This shouldn't happen.
36298 2013-06-04  Tom Tromey  <tromey@redhat.com>
36300         update eval.c to make it build again after the merge
36302 2013-06-03  Tom Tromey  <tromey@redhat.com>
36304         merge from trunk; clean up some issues
36306 2013-03-18  Tom Tromey  <tromey@redhat.com>
36308         don't let kill-buffer kill a buffer if it is current in any thread
36310 2013-03-18  Tom Tromey  <tromey@redhat.com>
36312         fix process bugs
36314         Fix some process-related bugs, mostly thinkos from the conversion to
36315         recording fd state as flags.
36316         This now passes the test suite without hanging.
36318 2013-03-17  Tom Tromey  <tromey@redhat.com>
36320         merge from trunk
36322 2013-03-08  Tom Tromey  <tromey@redhat.com>
36324         merge from trunk
36326 2013-01-16  Tom Tromey  <tromey@redhat.com>
36328         merge from trunk
36330 2013-01-06  Tom Tromey  <tromey@redhat.com>
36332         merge from trunk
36334 2012-12-23  Tom Tromey  <tromey@redhat.com>
36336         mention let bindings and lack of other ways to rewind
36338 2012-12-17  Tom Tromey  <tromey@redhat.com>
36340         Remove bit accidentally left over from the merge
36342         merge from trunk
36344 2012-09-04  Tom Tromey  <tromey@redhat.com>
36346         merge from trunk
36348         link from thread docs to match data
36350 2012-08-27  Tom Tromey  <tromey@redhat.com>
36352         cannot thread-join the current thread
36354         fix test suite for condition-variable-p name change
36356         add tests for variable bindings
36358 2012-08-25  Tom Tromey  <tromey@redhat.com>
36360         minor update to thread-join docs
36362 2012-08-24  Tom Tromey  <tromey@redhat.com>
36364         minor documentation updates
36366 2012-08-23  Tom Tromey  <tromey@redhat.com>
36368         document until-condition
36370         first draft of threads documentation
36372         rename condition-variablep to condition-variable-p
36374         document process-thread and set-process-thread
36376 2012-08-20  Tom Tromey  <tromey@redhat.com>
36378         pass the thread name to the OS if possible
36380         use prctl to pass the thread name to the OS, if possible
36382 2012-08-20  Tom Tromey  <tromey@redhat.com>
36384         add convenience macros with-mutex and until-condition
36386         with-mutex is a safe way to run some code with a mutex held.
36387         until-condition is a safe way to wait on a condition variable.
36389 2012-08-20  Tom Tromey  <tromey@redhat.com>
36391         Merge from trunk
36393 2012-08-19  Tom Tromey  <tromey@redhat.com>
36395         another docstring fixlet
36397         minor docstring fixup
36399         add condition-mutex and condition-name
36401         ensure name of a thread is a string
36403         ensure name of a mutex is a string
36405         use NILP
36407 2012-08-19  Tom Tromey  <tromey@redhat.com>
36409         condition variables
36411         This implements condition variables for elisp.
36412         This needs more tests.
36414 2012-08-19  Tom Tromey  <tromey@redhat.com>
36416         comment fixes
36418 2012-08-19  Tom Tromey  <tromey@redhat.com>
36420         refactor systhread.h
36422         This refactors systhread.h to move the notion of a "lisp mutex"
36423         into thread.c.  This lets us make make the global lock and
36424         post_acquire_global_lock static.
36426 2012-08-17  Tom Tromey  <tromey@redhat.com>
36428         write docstrings for the thread functions
36430         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
36432 2012-08-15  Tom Tromey  <tromey@redhat.com>
36434         add test case for I/O switching
36436 2012-08-15  Tom Tromey  <tromey@redhat.com>
36438         process changes
36440         This changes wait_reading_process_output to handle threads better.  It
36441         introduces a wrapper for select that releases the global lock, and it
36442         ensures that only a single thread can select a given file descriptor
36443         at a time.
36445         This also adds the thread-locking feature to processes.  By default a
36446         process can only have its output accepted by the thread that created
36447         it.  This can be changed using set-process-thread.  (If the thread
36448         exits, the process is again available for waiting by any thread.)
36450         Note that thread-signal will not currently interrupt a thread blocked
36451         on select.  I'll fix this later.
36453 2012-08-15  Tom Tromey  <tromey@redhat.com>
36455         Prepare process.c for threads by not having global select masks.
36456         The next step is to make it so selects can choose fds by thread.
36458 2012-08-15  Tom Tromey  <tromey@redhat.com>
36460         fix a latent bug in process.c
36462         * src/process.c (wait_reading_process_output): Check Writeok bits,
36463         not write_mask.
36465 2012-08-15  Tom Tromey  <tromey@redhat.com>
36467         This adds thread-blocker, a function to examine what a thread is
36468         blocked on.  I thought this would be another nice debugging addition.
36470         This adds names to mutexes.  This seemed like a nice debugging
36471         extension.
36473         This adds some tests of the threading code.
36475 2012-08-15  Tom Tromey  <tromey@redhat.com>
36477         This supplies the mutex implementation for Emacs Lisp.
36479         A lisp mutex is implemented using a condition variable, so that we can
36480         interrupt a mutex-lock operation by calling thread-signal on the
36481         blocking thread.  I did things this way because pthread_mutex_lock
36482         can't readily be interrupted.
36484 2012-08-15  Tom Tromey  <tromey@redhat.com>
36486         This adds most of the thread features visible to emacs lisp.
36488         I roughly followed the Bordeaux threads API:
36490         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
36492         ... but not identically.  In particular I chose not to implement
36493         interrupt-thread or destroy-thread, but instead a thread-signaling
36494         approach.
36496         I'm still undecided about *default-special-bindings* (which I did not
36497         implement).  I think it would be more emacs-like to capture the let
36498         bindings at make-thread time, but IIRC Stefan didn't like this idea
36499         the first time around.
36501         There are one or two semantics issues pointed out in the patch where I
36502         could use some advice.
36504 2012-08-15  Tom Tromey  <tromey@redhat.com>
36506         This turns thread_state into a pseudovector and updates various bits
36507         of Emacs to cope.
36509 2012-08-15  Tom Tromey  <tromey@redhat.com>
36511         This introduces some new functions to handle the specpdl.  The basic
36512         idea is that when a thread loses the interpreter lock, it will unbind
36513         the bindings it has put in place.  Then when a thread acquires the
36514         lock, it will restore its bindings.
36516         This code reuses an existing empty slot in struct specbinding to store
36517         the current value when the thread is "swapped out".
36519         This approach performs worse than my previously planned approach.
36520         However, it was one I could implement with minimal time and
36521         brainpower.  I hope that perhaps someone else could improve the code
36522         once it is in.
36524 2012-08-15  Tom Tromey  <tromey@redhat.com>
36526         This introduces the low-level system threading support.  It also adds
36527         the global lock.  The low-level support is a bit over-eager, in that
36528         even at the end of the present series, it will not all be used.  I
36529         think thiat is ok since I plan to use it all eventually -- in
36530         particular for the emacs lisp mutex implementation.
36532         I've only implemented the pthreads-based version.  I think it should
36533         be relatively clear how to port this to other systems, though.
36535         I'd also like to do a "no threads" port that will turn most things
36536         into no-ops, and have thread-creation fail.  I was thinking perhaps
36537         I'd make a future (provide 'threads) conditional on threads actually
36538         working.
36540         One other minor enhancement available here is to make it possible to
36541         set the name of the new thread at the OS layer.  That way gdb, e.g.,
36542         could display thread names.
36544 2012-08-15  Tom Tromey  <tromey@redhat.com>
36546         This parameterizes the GC a bit to make it thread-ready.
36548         The basic idea is that whenever a thread "exits lisp" -- that is,
36549         releases the global lock in favor of another thread -- it must save
36550         its stack boundaries in the thread object.  This way the boundaries
36551         are always available for marking.  This is the purpose of
36552         flush_stack_call_func.
36554         I haven't tested this under all the possible GC configurations.
36555         There is a new FIXME in a spot that i didn't convert.
36557         Arguably all_threads should go in the previous patch.
36559 2012-08-15  Tom Tromey  <tromey@redhat.com>
36561         This introduces a thread-state object and moves various C globals
36562         there.  It also introduces #defines for these globals to avoid a
36563         monster patch.
36565         The #defines mean that this patch also has to rename a few fields
36566         whose names clash with the defines.
36568         There is currently just a single "thread"; so this patch does not
36569         impact Emacs behavior in any significant way.
36571 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36573         Merge from origin/emacs-25
36575         eeecac7 Fix minor quoting problems in doc strings
36577 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36579         Merge from origin/emacs-25
36581         35ce3fb Don't assume window-point and point are the same
36583 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36585         Merge from origin/emacs-25
36587         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
36588         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
36589         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
36590         93d8346 Improve indexing of 'man'
36592 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36594         Merge from origin/emacs-25
36596         d31298d Fix documentation of `window-combination-resize'
36597         2086f4c Typo fixes in elisp manual
36599 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36601         Merge from origin/emacs-25
36603         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
36604         5878abf Fix 'expand-file-name' during startup on MS-Windows
36606 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36608         Merge from origin/emacs-25
36610         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
36611         6d27423 Tweak refcard note about documentation location
36612         e46a134 Improve treatment of Fortran's "class is"
36614 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36616         Merge from origin/emacs-25
36618         93c0f51 Handle TeX comments when making new paragraph
36619         e0884f1 Restore keystroke echo in 'C-q'
36620         a6213ce Improve documentation of 'current-word'
36621         0828126 Fix a typo in an Eshell defcustom
36622         2e361c7 Minor copyedits of electric-pair-mode
36623         7499ee8 ; Minor copyedit in the Emacs manual
36624         45b652b Fix documentation of 'invocation-directory'
36625         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
36626         ba48880 ; Fix pl-refcard.tex
36628 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36630         Merge from origin/emacs-25
36632         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
36634 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36636         Merge from origin/emacs-25
36638         3d63b48 Update ChangeLog files and authors.el
36639         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
36640         a725592 Avoid errors in shr-pixel-column due to dedicated windows
36641         3138598 Update format-time-string documentation
36643 2016-12-07  Sam Steingold  <sds@gnu.org>
36645         delete-trailing-whitespace: handle read-only text in buffer
36647         * lisp/simple.el (region-modifiable-p): New function.
36648         (delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
36650 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36652         Fix minor quoting problems in doc strings
36654 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36656         Fix --enable-gcc-warnings --with-ns on Fedora
36658         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
36659         (ALL_OBJC_CFLAGS): Use it.
36660         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
36661         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
36663 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
36665         Fix problems in quoting Tramp file names
36667         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
36668         (tramp-unquote-shell-quote-argument): New defun.
36669         (tramp-shell-quote-argument):
36670         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
36671         (tramp-make-copy-program-file-name):
36672         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
36673         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
36674         (tramp-smb-shell-quote-argument): Use it.
36676 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36678         ibuffer-map-deletion-lines: Re-included it
36680         It was deleted in previous commit, but it's referenced
36681         by the macro 'define-ibuffer-op'.
36682         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
36684 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36686         ibuffer-unmark-all: simplify code
36688         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
36689         (ibuffer-unmark-all): Simplify code.
36691 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36693         define-ibuffer-filter: Discard wrong filters
36695         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
36696         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
36697         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
36699 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
36701         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
36703         so that it matches the actual implementation.
36704         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
36706 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36708         ibuffer-decompose-filter-group avoid unwanted side effects
36710         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
36711         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
36712         All callers changed (Bug#25058).
36713         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
36715 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36717         ibuffer-unmark-backward: Unmark the region when is active
36719         * lisp/ibuffer.el (ibuffer-unmark-backward):
36720         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
36721         with the region boundary as the first 2 arguments (Bug#24987).
36723 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
36725         Docstring improvement for seq-some (bug#25129)
36727         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
36728           regarding the returned value.
36730 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36732         dired-unmark-backward: Unmark the region when is active
36734         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
36735         a non-nil second argument (Bug#24986).
36737 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36739         New test file for ediff
36741         Fix previous commit.
36742         * test/lisp/vc/ediff-ptch-tests.el: New test.
36744 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36746         ediff-context-diff-label-regexp: Detect the end of second file
36748         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
36749         '\n' in file names (Bug#25010).
36750         * test/lisp/vc/ediff-ptch-tests.el: New file.
36751         (ibuffer-test-bug25010): Add test for Bug#25010.
36753 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36755         ibuffer-decompose-filter: Avoid side effects on error
36757         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
36758         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
36759         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
36760         Update test result as pass.
36762 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
36764         ibuffer: compare marks with EQ
36766         * lisp/ibuffer.el:
36767         (ibuffer-update-title-and-summary)
36768         (ibuffer-redisplay-current)
36769         (ibuffer-buffer-name-face, ibuffer-unmark-all)
36770         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
36771         Use 'eq' instead of 'char-equal' when comparing mark characters
36772         (Bug#25000).
36773         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
36774         Update test result as pass.
36776 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
36778         ibuffer-saved-filters: Remove extra nesting level
36780         Fix Bug#25049.
36781         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
36782         nesting level; add transparent setter to adjust old-format values;
36783         update doc string.
36784         (ibuffer-save-filters): Remove extra level of nesting
36785         in ibuffer-saved-filters values when saving new filters.
36786         (ibuffer-old-saved-filters-warning): New variable with
36787         clickable message with repair options to be displayed
36788         as a warning if 'ibuffer-repair-saved-filters' detects
36789         a format mismatch.
36790         (ibuffer-repair-saved-filters): Add new command to check and
36791         repair saved filters format.
36792         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
36793         Change access of saved filter data (cadr->cdr) to account
36794         for reduced nesting.
36795         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
36796         New test; check that filters are saved in the proper format.
36798 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
36800         Clean out some IRIX cruft
36802         * etc/MACHINES: Remove obsolete discussion of IRIX.
36803         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
36804         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
36805         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
36806         * src/unexelf.c [__sgi]: Don't include <syms.h>.
36807         (unexec) [__sgi]: Remove SGI-specific code.
36809 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
36811         Simplify FUNCTIONP implementation
36813         * src/bytecode.c (exec_byte_code):
36814         * src/image.c (parse_image_spec):
36815         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
36816         * src/eval.c (FUNCTIONP): Move here ...
36817         * src/lisp.h: ... from here.  No longer inline, as that
36818         bloats the text and does not help speed (at least on my platform).
36819         (functionp): Remove this name, since callers use FUNCTIONP.
36821 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36823         Don't assume window-point and point are the same
36825         The function `cursor-sensor--detect' calls `bobp' to decide whether to
36826         check properties at (1- (window-point)).  However, (window-point) may be
36827         at beginning of buffer, even if (point) is not.  In this case an
36828         `args-out-of-range' error will be signaled (Bug#25104).
36830         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
36831         value of (window-point) against (point-min), rather than (bobp) to
36832         decide if (1- (window-point)) is accessible.
36834 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36836         Give test-completion's PREDICATE the hashtable key
36838         For hashtable entries with symbol keys, `test-completion' would convert
36839         the key to a string before calling PREDICATE, unlike `try-completion'
36840         and `all-completions'.
36842         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
36844 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36846         Give test-completion's PREDICATE full alist entry
36848         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
36849         calling test-completion with an alist collection, the predicate was
36850         recieving the string value instead of the alist entry (Bug#24966).
36852         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
36853         test STRING against `completion-regexp-list'.
36854         * test/src/minibuf-tests.el: New tests for `try-completion',
36855         `all-completions', and `test-completion'.
36857 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
36859         Fix ert-tests when running compiled
36861         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
36862         specific macroexpansion, just check result of evaluation.
36863         (ert-test-record-backtrace): Don't hardcode representation of closure in
36864         expected backtrace, this lets the test succeed even when the test code
36865         is compiled.
36867         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
36868         `byte-compile-macro-environment' to `macroexpand', this allows the
36869         `should' macro to properly handle macroexpansion of macros that were
36870         defined in the same file when it's being compiled (Bug #17851).
36872 2016-12-06  Glenn Morris  <rgm@gnu.org>
36874         Make "g" in vc push/pull buffers re-push/pull
36876         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
36877         * lisp/vc/vc-git.el (vc-git--pushpull):
36878         * lisp/vc/vc-hg.el (vc-hg--pushpull):
36879         Set compile-command so that "g" works.  (Bug#11446)
36881 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
36883         Change two _Noreturn functions to return void
36885         This is a bit clearer than _Noreturn functions that (do not)
36886         return a non-void type.
36887         * src/callproc.c (call_process) [MSDOS]:
36888         Use 'status' local to record status.
36889         (child_setup): Return CHILD_SETUP_TYPE.
36890         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
36891         All callers changed.
36892         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
36894 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36896         Fix GPG bug introduced by Oct file-missing change
36898         Problem with visiting nonexistent .gpg file
36899         reported by Herbert J Skuhra.
36900         * lisp/epa-file.el (epa-file--find-file-not-found-function):
36901         (epa-file-insert-file-contents, epa-file-write-region):
36902         Signal file-missing or file-error instead of epa-error.
36904 2016-12-05  Glenn Morris  <rgm@gnu.org>
36906         Tweak recent flymake change
36908         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
36909         Avoid double message when flymake-log-level >= 0.
36910         * doc/misc/flymake.texi (Customizable variables):
36911         No longer mention flymake-gui-warnings-enabled.
36913 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
36915         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
36917         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
36918         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
36919         `widget-backward' instead (bug#25091).
36921 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
36923         Remove compat code in Tramp
36925         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
36927         * lisp/net/tramp-compat.el (top): Require parse-time.
36929         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
36930         Use `parse-time-months'.
36932 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
36934         Don't try to split side windows in ibuffer (Bug#25115)
36936         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
36937         split a side window (Bug#25115).
36939 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
36941         * src/lisp.h: Update comment to kick -Og down the road.
36943 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
36945         More image-dired refactoring
36947         * lisp/image-dired.el: Remove TODO comment. This appears to have been
36948         implemented in 5d7433a "image-dired: Signal an error before calling a
36949         missing executable".
36950         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
36951         Add :version.
36952         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
36953         when. Remove superfluous call to image-dired-thumb-name. Move single nil
36954         binding and setq into dolist form.
36956 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
36958         Implement quoting the local part of a remote file name
36960         * doc/emacs/files.texi (Quoted File Names):
36961         * etc/NEWS: Mention quoting the local part of a remote file name.
36963         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
36964         `tramp-tramp-file-p'.
36965         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
36966         New defsubst.
36967         (tramp-handle-substitute-in-file-name)
36968         (tramp-handle-make-auto-save-file-name): Handle quoted files.
36969         (tramp-shell-quote-argument): Unquote argument.
36971         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
36972         Handle quoted files.
36974         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
36975         (tramp--test-make-temp-name): New argument QUOTED.
36976         (tramp-test01-file-name-syntax)
36977         (tramp-test02-file-name-dissect)
36978         (tramp-test04-substitute-in-file-name)
36979         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
36980         (tramp-test08-file-local-copy)
36981         (tramp-test09-insert-file-contents)
36982         (tramp-test10-write-region, tramp-test11-copy-file)
36983         (tramp-test12-rename-file, tramp-test13-make-directory)
36984         (tramp-test14-delete-directory, tramp-test15-copy-directory)
36985         (tramp-test16-directory-files)
36986         (tramp-test17-insert-directory)
36987         (tramp-test18-file-attributes)
36988         (tramp-test19-directory-files-and-attributes)
36989         (tramp-test20-file-modes, tramp-test21-file-links)
36990         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
36991         (tramp-test24-file-name-completion, tramp-test25-load)
36992         (tramp-test26-process-file, tramp-test27-start-file-process)
36993         (tramp-test28-shell-command, tramp-test30-vc-registered)
36994         (tramp-test31-make-auto-save-file-name)
36995         (tramp--test-check-files)
36996         (tramp-test35-asynchronous-requests): Test also quoted file names.
36997         (tramp--test-shell-command-to-string-asynchronously): Rename.
36998         (tramp-test29-environment-variables): Use it.
37000 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
37002         Fix typo in dired-omit-case-fold-p
37004         * lisp/dired-x.el (dired-omit-case-fold-p):
37005         Write 'file-name-case-insensitive-p' instead of
37006         'file-name-case-sensitive-p'.
37007         Add declaration of 'file-name-case-insensitive-p'.
37009 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
37011         Add HTML5 attributes for the input element
37013         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
37014         for the input element.
37016 2016-12-03  Glenn Morris  <rgm@gnu.org>
37018         Obsolete sc-load-hook in favor of eval-after-load
37020         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
37021         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
37022         No longer mention sc-load-hook.
37024 2016-12-03  Glenn Morris  <rgm@gnu.org>
37026         Obsolete calendar-load-hook in favor of eval-after-load
37028         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
37029         (calendar): Doc fix - no longer mention calendar-load-hook.
37030         * doc/emacs/cal-xtra.texi (Calendar Customizing):
37031         No longer mention calendar-load-hook.
37032         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
37033         Replace calendar-load-hook in example with with-eval-after-load.
37035 2016-12-03  Glenn Morris  <rgm@gnu.org>
37037         Fix markup in read-multiple-choice doc (Bug#25102)
37039         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
37041 2016-12-03  Glenn Morris  <rgm@gnu.org>
37043         Stop flymake using dialog boxes for errors (Bug#16622)
37045         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
37046         Mark as obsolete.
37047         (flymake-display-warning): Turn into an obsolete alias.
37048         (flymake-report-fatal-status): Just use message for a warning that
37049         was formerly displayed by default.
37051 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
37053         Clean up keymap and menu code in image-dired
37055         A function to populate these maps is not necessary, just define the maps
37056         once and for all.
37057         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
37058         clearer and in the spirit of dired's.
37059         (image-dired-define-display-image-mode-keymap):
37060         (image-dired-define-thumbnail-mode-keymap): Remove.
37061         (image-dired-thumbnail-mode-map):
37062         (image-dired-thumbnail-mode-line-up-map):
37063         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
37064         menu code from the aforementioned removed functions.  Reorder so that
37065         the definitions are inherited properly.
37066         (image-dired-display-current-image-sized): Fix erroneous message.
37067         (image-dired-thumbnail-mode):
37068         (image-dired-display-image-mode): Remove defunct call.
37070 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
37072         Mention `file-name-case-insensitive-p' as magic file name
37074         * doc/lispref/files.texi (Magic File Names):
37075         Mention `file-name-case-insensitive-p'.
37077         * doc/lispref/variables.texi (Connection Local Variables):
37078         Fix typo.
37080 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
37082         Clean up uses of cl-foo in image-dired
37084         Both instances here are just emulating cl-find-if.
37085         * lisp/image-dired.el: Use cl-lib at compile time.
37086         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
37087         Replace the cl-foo instances with equivalent cl-loops.
37089 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
37091         Avoid compilation warnings in nt/*.c files
37093         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
37094         (console_event_handler): Add prototypes.
37095         (canon_filename, skip_space, skip_nonspace, get_next_token)
37096         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
37097         (spawn, get_env_size): Now static.
37098         * nt/ddeclient.c (DdeCallback): Provide prototype.
37099         * nt/addpm.c (DdeCallback): Provide prototype.
37100         (add_registry): Now static.
37102 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
37104         Display window before calculating width
37106         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
37107         before calling image-dired-line-up and friends, which in turn calculate
37108         the window width. Otherwise, the thumbnail layout will be wrong in
37109         a side-by-side split.
37111 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
37113         Use pop-to-buffer-same-window
37115         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
37116         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
37117         use pop-to-buffer-same-window cf. Bug#22244.
37118         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
37120 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37122         Document watchpoints
37124         * doc/lispref/debugging.texi (Variable Debugging):
37125         * doc/lispref/variables.texi (Watching Variables): New section.
37126         * etc/NEWS: Add entry for watchpoints
37128 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37130         Add tests for watchpoints
37132         * test/src/data-tests.el (data-tests-variable-watchers):
37133         (data-tests-local-variable-watchers): New tests.
37135 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37137         Ensure redisplay using variable watcher
37139         This replaces looking up the variable name in redisplay--variables when
37140         setting it.
37142         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
37143         calls.
37144         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
37145         set the redisplay flag unconditionally.
37146         (Vredisplay__variables): Remove it.
37147         * src/data.c (set_internal): Remove maybe_set_redisplay call.
37149 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37151         Add function to trigger debugger on variable write
37153         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
37154         (debug--variable-list):
37155         (cancel-debug-on-variable-change): New functions.
37156         (debugger-setup-buffer): Add watchpoint clause.
37158 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37160         Show watchpoints when describing variables
37162         * src/data.c (Fget_variable_watchers): New function.
37163         * lisp/help-fns.el (describe-variable): Use it to detect watching
37164         functions.
37166 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
37168         Add lisp watchpoints
37170         This allows calling a function whenever a symbol-value is changed.
37172         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
37173         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
37174         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
37175         (enum symbol_trapped_write): New enumeration.
37176         (struct Lisp_Symbol): Rename field constant to trapped_write.
37177         (make_symbol_constant): New function.
37179         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
37180         (set_symbol_trapped_write, restore_symbol_trapped_write):
37181         (harmonize_variable_watchers, notify_variable_watchers): New functions.
37183         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
37184         symbols.
37185         (set_internal): Change bool argument BIND to 3-value enum and call
37186         `notify_variable_watchers' for trapped symbols.
37188         * src/data.c (syms_of_data):
37189         * src/data.c (syms_of_data):
37190         * src/font.c (syms_of_font):
37191         * src/lread.c (intern_sym, init_obarray):
37192         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
37194         * src/alloc.c (init_symbol):
37195         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
37196         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
37197         (Fmake_variable_frame_local):
37198         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
37199         trapped_write instead of constant.
37200         (Ffuncall): Move subr calling code into separate function.
37201         (funcall_subr): New function.
37203 2016-12-02  Glenn Morris  <rgm@gnu.org>
37205         Starting doc of user options with "*" is long obsolete
37207         * lisp/battery.el (battery-upower-device): Doc fix.
37209 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
37211         Fix bug#25087
37213         * etc/themes/manoj-dark-theme.el: Fix two typos.
37215         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
37217 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37219         Fix docstrings to have a complete sentence in first line
37221         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
37222         docstrings.
37224 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37226         Remove obsolete comments and commented code from dired-x.el
37228         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
37229         1997 answer about whether dired-mark-sexp is used.
37230         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
37231         commented out since before dired-x.el was added to RCS in 1994.
37233 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37235         Remove pre-customize dired-x.el documentation
37237         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
37238         use dired-x from .emacs.  It is now fully customizable.
37239         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
37240         how to set this custom variable in .emacs.  It should be customized.
37242 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37244         Allow files to be matched case-sensitively in dired-x
37246         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
37247         controls case folding for matching the regex (Bug#18716).
37248         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
37249         systems, `nil' otherwise.
37250         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
37251         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
37253 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
37255         Add support for curly quotation marks to electric-pair-mode
37257         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
37258         entries for left/right single/double quotation marks, from
37259         electric-quote-chars. Note that this is safe for single quotation marks,
37260         unlike with the ASCII apostrophe, since, although the right quotation
37261         mark can be used as an apostrophe, it is the left quotation mark that is
37262         typed to get a pair (Bug#24901).
37264 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
37266         Fix bug#25087
37268         * etc/themes/manoj-dark-theme.el: Fix two typos.
37270 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
37272         Handle quoted file names in Tramp
37274         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
37275         case the file name is quoted.  This is not trapped by the
37276         reassigned `tramp-file-name-regexp' anymore.
37278 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
37280         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
37282 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
37284         Support for rawrgb images using imagemagick
37286         * src/image.c (imagemagick_load_image): Set wand size before loading
37287         blob when ':width' and ':height' are provided.
37289         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
37291 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
37293         Fix 'sql-connect' on first invocation
37295         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
37296         param-var.  (Bug#19452)
37298 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
37300         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
37302 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
37304         Improve indexing of 'man'
37306         * doc/emacs/programs.texi (Man Page): Index 'man', not
37307         'manual-entry', as the latter is an alias for the former.
37308         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
37310 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37312         Port to Sun C 5.14
37314         Backport from master.  Sun C 5.14 supports C11 but not GCC
37315         extensions, and so refuses to compile Emacs without this patch.
37316         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
37317         size_t, as in general this macro is restricted to signed types.
37319 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37321         Fix type typo on Solaris
37323         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
37324         Fix type mismatch, caught by --enable-check-lisp-object-type.
37326 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37328         Merge from gnulib
37330         This incorporates:
37331         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
37332         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
37333         * build-aux/snippet/c++defs.h:
37334         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
37335         Copy from gnulib.
37337 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37339         Make struct font_drivers read-only
37341         This simplifies the code a bit, and makes the structs more
37342         shareable and less likely to become corrupt.
37343         * src/alloc.c (cleanup_vector):
37344         * src/font.c (valid_font_driver, font_prepare_cache)
37345         (font_finish_cache, font_get_cache, font_clear_cache)
37346         (register_font_driver, font_update_drivers):
37347         * src/font.h (struct font, struct font_driver_list)
37348         (valid_font_driver):
37349         struct font_drivers are now const.
37350         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
37351         Omit no-longer-necessary decls.
37352         * src/ftcrfont.c (syms_of_ftcrfont):
37353         * src/ftxfont.c (syms_of_ftxfont):
37354         * src/xftfont.c (syms_of_xftfont):
37355         Omit no-longer-necessary initialization code.
37356         * src/ftcrfont.c (ftcrfont_driver):
37357         * src/ftfont.c (ftfont_driver):
37358         * src/ftxfont.c (ftxfont_driver):
37359         * src/macfont.m (macfont_driver):
37360         * src/nsfont.m (nsfont_driver):
37361         * src/xfont.c (xfont_driver):
37362         * src/xftfont.c (xftfont_driver):
37363         Use C99-style initializer for ease of maintenance, and make it const.
37364         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
37365         Refer to functions like ftfont_text_extents directly.
37366         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
37367         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
37368         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
37369         (ftfont_variation_glyphs, ftfont_filter_properties)
37370         (ftfont_combining_capability):
37371         * src/xfont.c (xfont_get_cache):
37372         Now extern, so that other modules’ struct font_drivers can use
37373         them directly.
37374         * src/macfont.m (macfont_descriptor_entity):
37375         * src/nsfont.m (nsfont_open):
37376         Use constant directly; this is clearer.
37378 2016-12-01  Richard Stallman  <rms@gnu.org>
37380         Fix mail-combine-fields
37382         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
37383         avoid losing our place in the search loop.
37385         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
37387 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
37389         Forth related improvements for etags
37391         Generate correct tags names for things like "(foo)".
37392         Previously "(foo" created.
37394         Fix a bug where a tag for "-bar" was created when encountering things
37395         like "create-bar".
37397         Recognize more words from the Forth-2012 Standard.
37399         * lib-src/etags.c (Forth_words): Check for whitespace after defining
37400         words.  Create tag with make_tag instead of get_tag to avoid notiname
37401         which isn't appropriate for Forth.
37403         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
37404         * test/manual/etags/ETAGS.good_1:
37405         * test/manual/etags/ETAGS.good_2:
37406         * test/manual/etags/ETAGS.good_3:
37407         * test/manual/etags/ETAGS.good_4:
37408         * test/manual/etags/ETAGS.good_5:
37409         * test/manual/etags/ETAGS.good_6:
37410         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
37411         new test cases.
37413 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
37415         Fix bugs with buffer-local tags tables
37417         * lisp/progmodes/etags.el (visit-tags-table): After
37418         'visit-tags-table-buffer' returns, retrieve the value of
37419         'tags-file-name' from the buffer we started in.  Force
37420         recomputation of 'tags-completion-table' next time it is used,
37421         since the list of tags table has changed.
37422         (visit-tags-table-buffer): Accept an additional optional argument
37423         CBUF, the buffer in which to start processing, and switch to that
37424         buffer if CBUF is non-nil.  All callers changed to supply a
37425         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
37426         Doc fix.
37427         (tags-completion-table): Accept an optional argument, the buffer
37428         for which to build 'tags-completion-table', and build that
37429         buffer's completion table.
37430         (tags-lazy-completion-table): Pass the current buffer to
37431         'tags-completion-table'.
37432         (tags-file-name): Don't say in the doc string that setting this
37433         variable directly is enough; say that 'visit-tags-table' should be
37434         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
37436         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
37437         advice to set 'tags-file-name' directly.
37439         * test/lisp/progmodes/etags-tests.el: New tests.
37441 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
37443         Fix documentation of `window-combination-resize'
37445         * src/window.c (Vwindow_combination_resize): Fix doc-string.
37446         * doc/lispref/windows.texi (Recombining Windows): Fix
37447         documentation of `window-combination-resize'.
37449 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37451         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
37453         All uses replaced by LISPSYM_INITIALLY.
37455 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37457         Make Cairo safer for --enable-gcc-warnings
37459         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
37460         Avoid overflow warnings about ‘0xff << 24’.
37461         (xpm_load, gif_load): Avoid unnecessary casts.
37462         (gif_load): Fewer ifdefs.
37464 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
37466         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
37468         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
37469         !NILP.
37471 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
37473         Fix previous commit
37475         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
37476         of hunk before calling `diff-hunk-style'.
37478 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
37480         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
37482 2016-11-29  Glenn Morris  <rgm@gnu.org>
37484         Use archive-mode for .cbr files
37486         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
37488 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37490         Pacify Sun C 5.14
37492         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
37493         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
37494         into this enum rather than into an anonymous enum.  This avoids
37495         diagnostics from Sun C 5.14 and is a bit clearer anyway.
37497 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37499         Adjust lwlib to recent config.h change
37501         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
37503 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37505         * src/eval.c (clobbered_eassert): Check E's syntax.
37507 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
37509         Improve user retrieval from auth-source in Tramp
37511         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
37512         Use user for auth-source request only in case it exists.
37514 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
37516         shr.el: Don't render a normal table twice
37518         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
37519         Don't render a table if it is called for the first time,
37520         IOW, recognize it to never be invalid (bug#25051).
37522 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
37524         Typo fixes in elisp manual
37526         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
37527         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
37528         definitions of 'string-prefix-p' and 'string-suffix-p'.
37529         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
37531 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
37533         Improve diff-mode navigation/manipulation
37535         This is Bug #17544.
37537         Navigation and use of diff buffers had several annoying corner cases
37538         that this patch fixes.  These corner cases were largely due to
37539         inconsistent treatment of file headers.  Say you have a diff such as
37540         this:
37542          --- aaa
37543          +++ bbb
37544          @@ -52,7 +52,7 @@
37545          hunk1
37546          @@ -74,7 +74,7 @@
37547          hunk2
37548          --- ccc
37549          +++ ddd
37550          @@ -608,6 +608,6 @@
37551          hunk3
37552          @@ -654,7 +654,7 @@
37553          hunk4
37555         The file headers here are the '---' and '+++' lines.  With the point on
37556         such a line, hunk operations would sometimes refer to the next hunk and
37557         sometimes to the previous hunk.  Most of the time it would be the
37558         previous hunk, which is not what the user would expect.  This patch
37559         consistently treats such headers as the next hunk.  So with this patch,
37560         if the point is on the '--- ccc' line, the point is seen as referring to
37561         hunk3.
37563         Specific behaviors this fixes are:
37565         1. It should be possible to place the point in the middle of a diff
37566         buffer, and press M-k repeatedly to kill hunks in the order they appear
37567         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
37568         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
37569         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
37570         This is fixed by this patch.
37572         2. Similarly, it should be possible to apply hunks in order.  Previously
37573         with the point at the start, C-c C-a would apply the hunk1, then move
37574         the point to the first @@ header, and thus C-c C-a would try to apply
37575         the same hunk again.
37577         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
37578         navigation logic to diff-{hunk,file}-{next,prev}.
37579         (diff-hunk-next, diff-hunk-prev):
37580         (diff-file-next, diff-file-prev): Better navigation logic if
37581         skip-hunk-start is true, which happens when called interactively.
37582         (diff-bounds-of-hunk, diff-find-source-location):
37583         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
37584         improve hunk navigation.
37586 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
37588         Upcase Path and ComSpec in process-environment
37590         Since 2016-07-18 "Keep w32 environment settings internal only", the
37591         upcasing of environment variables "Path" and "ComSpec" occurred after
37592         initializing process-environment.  This meant that Lisp code trying to
37593         override "PATH" environment had no effect (Bug #24956).
37595         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
37596         in Vprocess_environment.
37598 2016-11-28  Philipp Stephani  <phst@google.com>
37600         Guard terminal parameter in XTerm mouse mode
37602         It has been observed (in the HTerm terminal emulator) that the
37603         event stored in the 'xterm-mouse-last-down' terminal parameter gets
37604         overwritten during a mouse drag operation, causing Emacs to attempt to
37605         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
37606         the terminal parameter to protect against such modifications.
37608         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
37609         of input event list.
37611 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
37613         Fix template for module functions
37615         Reported by Syohei YOSHIDA (Bug#24932).
37616         * modules/modhelp.py (TEMPLATES):
37617         c_func’s 2nd arg is ptrdiff_t, not int.
37619 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
37621         Pacify gcc -Wswitch.
37623         * src/keyboard.c (kbd_buffer_store_buffered_event):
37624         Move initialization into default case.
37626 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
37628         Reuse already existing lisp symbols for ignore_event (bug#19547).
37630         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
37631         * src/keyboard.c (kbd_buffer_store_buffered_event):
37632         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
37633         and make-frame-visible for DEICONIFY_EVENT.
37634         (syms_of_keyboard): Remove unneeded symbols.
37636 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
37638         Allow configuring which event throw-on-input should ignore (bug#19547).
37640         * src/keyboard.c (kbd_buffer_store_buffered_event):
37641         Translate event to corresponding symbol from `while-no-input-ignore-events`
37642         and check them with Fmemq.
37643         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
37644         and its symbols.
37646         * lisp/subr.el (while-no-input-ignore-events): Add default values.
37648         * doc/lispref/commands.texi (Event Input Misc):
37649         Document while-no-input-ignore-events.
37650         * etc/NEWS: Same.
37652 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
37654         ash, lsh avoid code duplication
37656         See discussion in:
37657         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
37658         * src/data.c (ash_lsh_impl): New function.
37659         (ash, lsh): Use it.
37661 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
37663         Add will change module to CSS property list
37665         * lisp/textmodes/css-mode.el (css-property-alist)
37666         (css-value-class-alist): Add new property and value class from CSS
37667         Will Change Module.
37669 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
37671         Don't access pointers to freed storage in regex.c
37673         Remove __BOUNDED_POINTERS__ code, which does not work with
37674         -fcheck-pointer-bound and which has undefined behavior anyway.
37675         Problem found when trying to port to gcc -fcheck-pointer-bounds.
37676         (This code was removed from glibc and gnulib regex.c many years ago.)
37677         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
37678         (EXTEND_BUFFER): Use a more-portable approach that avoids
37679         undefined behavior due to inspecting pointers to freed storage.
37681 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
37683         Port build to gcc -fcheck-pointer-bounds
37685         This does not let Emacs run, just build.
37686         * lib-src/etags.c (main):
37687         * lib-src/profile.c (main):
37688         Use return, not exit.
37689         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
37690         Do not define, as -fcheck-pointer-bounds is incompatible with taking
37691         addresses of labels.
37692         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
37693         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
37695 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
37697         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
37699 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
37701         * lisp/rot13.el: Use lexical-binding
37703 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
37705         Add "using" to cl-loop debug spec (Bug#24750)
37707         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
37708         "using" hash table clause.
37710 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
37712         Allow user control of progress messages in cpp.el
37714         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
37715         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
37716         the doc string.
37717         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
37718         'message' to print messages.  (Bug#24861)
37720 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
37722         New input method 'polish-prefix'
37724         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
37725         method.  (Bug#24967)
37727         * etc/NEWS: Mention the new input method.
37729 2016-11-25  Damien Cassou  <damien@cassou.me>
37731         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
37733 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
37735         Add missing 'provide's in preloaded packages
37737         * lisp/composite.el:
37738         * lisp/replace.el:
37739         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
37741 2016-11-24  Alan Mackenzie  <acm@muc.de>
37743         Handle correctly an (undocumented) bare mode in hack-local-variables.
37745         lisp/files.el (hack-local-variables-prop-line): When a file's first line
37746         contains only a mode specification without the string "mode:", return the mode
37747         symbol only when `handle-mode' is t.
37749 2016-11-23  Dima Kogan  <dima@secretsauce.net>
37751         Clarify ediff-directories prompt
37753         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
37754         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
37755         ediff-directories3, ediff-merge-directories,
37756         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
37757         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
37758         filename filter in interactive ediff. The new message makes it clear what is
37759         being filtered
37761 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
37763         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
37765 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
37767         Fix Bug#24199.
37769         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
37770           bracket in doc string (make checkdoc happy).
37771           (icalendar-import-buffer),
37772           (icalendar-import-buffer),
37773           (icalendar--convert-ical-to-diary),
37774           (icalendar--add-diary-entry): Rename argument diary-file to
37775           diary-filename (make checkdoc happy).
37776           (icalendar--convert-recurring-to-diary): Take care of byday-clause
37777           in monthly recurring events.  Actually fix Bug#24199.
37779         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
37781 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
37783         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
37785 2016-11-22  Philipp Stephani  <phst@google.com>
37787         Comint: new user option for C-c M-r and C-c M-s
37789         This option allows the user to specify where to place point after these
37790         commands.
37792         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
37793         (comint-previous-matching-input-from-input): Use user option.
37795 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
37797         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
37799         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
37800         `eshell-first-time-mode-hook'.
37802 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
37804         Dump also connection local variables in Tramp bug reports
37806         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
37807         Dump also connection local variables.
37809 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37811         Make sure elided long buffer names have ellipses added (Bug#24972)
37813         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
37814         string concat, and chop "strvar" less the width of the ellipsis.
37815         (ibuffer-compile-make-substring-form): Add space as padding, to fix
37816         off-by-one in alignment.
37818 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
37820         Buffer-menu-no-header: Detect a fake header
37822         * lisp/buff-menu.el (Buffer-menu-no-header): Use
37823         'tabulated-list-header-overlay-p' (Bug#24855).
37825 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
37827         buff-menu: Add command to unmark all buffers
37829         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
37830         to unmark all buffers (Bug#24880).
37831         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
37832         New predicate; return non-nil if tabulated-list has a fake header.
37833         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
37834         New command; remove all flags that use a particular mark from all the lines.
37835         Bind it to 'M-DEL'.
37836         (Buffer-menu-unmark-all):
37837         New command; remove all flags from all the lines.  Bind it to 'U'.
37838         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
37839         (Buffer-menu-delete, Buffer-menu-mark): Use them.
37840         (Buffer-menu-mode-map): Update menus.
37841         (Buffer-menu-mode): Update mode doc.
37842         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
37843         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
37844         (bs-mode): Update mode doc.
37845         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
37846         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
37847         to 'M-DEL'.
37848         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
37849         Use point instead of cursor in doc string.
37850         (electric-buffer-list): Update mode doc.
37851         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
37852         and Buffer-menu-unmark-all-buffers.
37854 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37856         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
37858         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
37860 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37862         Port htmlfontify to cl-lib
37864         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
37865         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
37866         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
37867         instances of cl aliases with their cl-lib counterparts.
37869 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37871         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
37873 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
37875         Fix another CANNOT_DUMP problem
37877         Reported by Robert Pluim in:
37878         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
37879         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
37880         * src/lisp.h: ... to here.
37882 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
37884         Add further consideration to string-width (Bug#24972)
37886         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
37887         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
37889 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
37891         Don't collect strings existing out of <tr>...</tr>
37893         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
37894         Don't collect strings existing out of <tr>...</tr> to avoid
37895         duplication with what `shr-tag-table' renders.
37897 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
37899         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
37900         the last commit.
37902 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
37904         Add a variable to pass additional options to rcvstore
37906         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
37907         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
37908         the arguments that are passed to rcvstore.
37910         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
37911         and followups, i.e., ding mailing list.
37913 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37915         Fix undefined refs on some GNU/Linux hosts
37917         Problem reported by Ken Raeburn in:
37918         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
37919         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
37920         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
37921         removes unwanted references to my_endbss and my_endbss_static,
37922         which are not optimized away on some platforms.
37924 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37926         Make CANNOT_DUMP work better on GNU/Linux
37928         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
37929         lets the build succeed again, and fixes the testing framework so
37930         that most test cases now pass.  About twenty test cases still
37931         fail, though, and we still have Bug#24974.
37932         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
37933         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
37934         be any point to messing with a private memory allocator unless
37935         Emacs is dumping.
37936         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
37937         * src/image.c (reset_image_types):
37938         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
37939         Do not define if CANNOT_DUMP.
37940         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
37941         (daemon_pipe) [!WINDOWSNT]: Now static.
37942         * test/Makefile.in (mostlyclean): Remove *.tmp files.
37943         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
37945 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37947         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
37949 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37951         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
37953         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
37954         Do not define.  If defining, do it in a smaller scope.
37956 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
37958         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
37960 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
37962         Fix redrawing non-selected frame after resize on MS-Windows
37964         * src/xdisp.c (redisplay_internal): If all the frames were
37965         successfully updated, reset the "garbaged" flag of each frame, to
37966         make sure it doesn't stay set.
37968         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
37969         "garbaged", since expose_frame won't redraw the foreground then.
37970         (Bug#24642)
37972 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
37974         Add file-local-name
37976         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
37977         (Unique File Names): Use it.
37979         * etc/NEWS: Mention `file-local-name'.
37981         * lisp/files.el (file-local-name): New defun.
37982         (file-expand-wildcards):
37983         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
37984         * lisp/eshell/esh-ext.el (eshell-remote-command):
37985         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
37986         * lisp/org/ob-core.el (org-babel-local-file-name):
37987         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
37988         * lisp/progmodes/python.el (python-shell-send-file):
37989         * lisp/shell.el (shell):
37990         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
37991         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
37993 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
37995         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
37997 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
37999         * src/editfns.c (format-time-string): Mention %q in doc string.
38001 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38003         Document format-time-string %q
38005         * doc/lispref/os.texi (Time Parsing):
38006         * etc/NEWS: Document new %q functionality taken from gnulib.
38008 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38010         Merge from gnulib
38012         This incorporates:
38013         2016-11-15 sys_time: add gnulib::timeval for C++
38014         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
38015         2016-11-13 strftime: don't use __THROW
38016         2016-11-12 strftime: tune %q
38017         2016-11-12 Merge strftime.c changes from glibc
38018         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
38019         2016-11-05 strftime,strptime: support %q to represent the quarter
38021         The glibc changes in turn incorporate the following strftime.c changes:
38022         2015-10-20 Convert misc function definitions to prototype style
38023         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
38024         2010-01-09 Add support for XPG7 testing
38025         2009-10-30 Implement Burmese language locale for Myanmar
38026         2008-06-13 [BZ #6612] pass reference to tzset_called around
38027         2007-10-16 [BZ #5184] Add tzset_called argument
38029         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
38030         * m4/manywarnings.m4: Copy from gnulib.
38032 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38034         Merge from origin/emacs-25
38036         07f45d7 ; Spelling fix
38037         1a210f0 * admin/release-process: Update versions and blocking bug num...
38038         36bafc9 Improve documentation of functions that accept time values
38040         # Conflicts:
38041         #       admin/release-process
38042         #       src/editfns.c
38044 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
38046         Merge from origin/emacs-25
38048         4af5981 Add a comment in generated refcards about the source
38049         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
38050         4887e7c js-mode: Fix indent problem after a regexp
38051         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
38052         1fc101b Don't confuse how Texinfo outputs @var with the input
38053         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
38054         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
38055         5b0cddd More fixes in copyright notices in etc/refcards/
38056         f994c20 Update copyright text in refcards
38057         9ad2ae7 Fix Outline command names
38058         26c3554 Send text received by bracketed paste to process
38059         db0b58d Correct the statement about programming modes always running ...
38060         78aece4 Improve documentation of 'occur'
38061         eb364fd Do call debugger on failed cl-assert
38062         3ef4ee8 Avoid infloop in python
38063         8da810f Don't refer to obsolete FEATURE-unload-hook
38064         4f478ca Improve documentation of dabbrevs
38065         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
38066         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
38067         3b199f7 Improve documentation of some Help commands
38068         93d3a0e Fix documentation of yes-or-no prompts
38069         af04919 Fix documentation of partial completion style
38070         ed80184 Fix documentation of the mode line on emacsclient frames
38071         e6be855 Fix description of 'C-z' in User manual
38072         16f7007 Improve and clarify documentation of Outline Mode
38073         31d93aa Add Emacs version number to nt/README.W32
38074         0b6b815 Fix python-mode hideshow regexp
38075         dc152c5 Modernize usage of 'macOS' in doc and comments
38076         84c5343 Prefer comments /* like this */ in C code
38077         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
38078         3ef86fd Clarify documentation of face attribute functions
38079         de51d59 ; * nt/README.W32: Minor copyedits.
38080         db436e9 Don't call debug on failed cl-assert
38082         # Conflicts:
38083         #       doc/emacs/cmdargs.texi
38084         #       etc/NEWS
38085         #       etc/PROBLEMS
38086         #       lisp/auth-source.el
38087         #       lisp/net/tramp-sh.el
38089 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
38091         Port RefTeX to cl-lib
38093         * lisp/textmodes/reftex-auc.el:
38094         * lisp/textmodes/reftex-cite.el: Use cl-lib.
38095         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
38096         macros.
38097         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
38098         (reftex-view-regexp-match): Substitute cl-lib macro.
38099         * lisp/textmodes/reftex-global.el: Use cl-lib.
38100         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
38101         (reftex-translate): Substitute cl-lib macros.
38102         * lisp/textmodes/reftex-index.el: Use cl-lib.
38103         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
38104         (reftex-index-next-phrase, reftex-index-phrases-info):
38105         (reftex-query-index-phrase): Substitute cl-lib macros.
38106         * lisp/textmodes/reftex-parse.el: Use cl-lib.
38107         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
38108         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
38109         Substitute cl-lib macros.
38110         * lisp/textmodes/reftex-ref.el: Use cl-lib.
38111         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
38112         macros.
38113         * lisp/textmodes/reftex-sel.el: Use cl-lib.
38114         (reftex-select-shared-map): Set keymap parent to special-mode-map.
38115         Flatten loop and remove digits and hyphen definitions from the map.
38116         (reftex-select-label-mode-map):
38117         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
38118         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
38119         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
38120         cl-pushnew.
38121         * lisp/textmodes/reftex.el: Use cl-lib.
38122         (reftex-docstruct-symbol): Use cl-incf.
38123         (reftex-ref-style-toggle): Replace add-to-list with append.
38124         (reftex-compile-variables): Use cl-lib macros, and functions with
38125         compiler macros. cl-first is just an alias.
38126         (reftex-parse-args, reftex-scanning-info-available-p):
38127         (reftex-select-external-document, reftex-get-file-buffer-force): Use
38128         cl-lib macros.
38129         (reftex-isearch-minor-mode): Replace add-to-list with append.
38131 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
38133         ibuffer-exchange-filters: Simplify code
38135         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
38137 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
38139         Implement getrlimit and setrlimit for MS-Windows
38141         * src/w32heap.c (getrlimit, setrlimit): New functions.
38142         Include w32.h.
38143         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
38144         should be compatible with 'struct rlimit' members.
38146         * nt/inc/sys/resource.h: New header file.
38148         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
38149         Set to "yes".
38151 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38153         Move key mappings into reftex-mode-map defvar
38155         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
38156         key mappings.
38157         (reftex-reset-mode): Just use dolist.
38159 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38161         Derive reftex-index-mode from special-mode
38163         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
38164         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
38165         from special-mode now.
38166         (reftex-index-mode): Derive from special-mode.
38167         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
38169 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
38171         Clean up reftex-toc-mode-map
38173         * lisp/textmodes/reftex-toc.el: Remove cl.
38174         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
38175         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
38177 2016-11-18  Philipp Stephani  <phst@google.com>
38179         Prevent dubious argument lists
38181         See Bug#24912 and Bug#24913.
38183         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
38184         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
38185         more dubious argument lists.
38186         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
38187         test.
38189 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
38191         Add test suite for buff-menu.el
38193         * test/lisp/buff-menu-tests.el: New file.
38194         (buff-menu-24962): Add test for Bug#24962.
38196 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
38198         Add cyrillic-tuvan input method
38200         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
38201         method.  (Bug#24942)
38203         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
38205 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
38207         Extend 'indent-relative' when its arg is non-nil
38209         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
38210         (indent-relative-first-indent-point): Renamed from
38211         'indent-relative-maybe'.
38212         (indent-relative): Now accepts an additional optional argument.
38213         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
38214         the additional arg.  (Bug#24766)
38216 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
38218         Add example for bug#24854
38220         * test/manual/indent/js.js: Add example for bug#24854.
38222 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
38224         Port registry.el the rest of the way to cl-lib
38226         This file already is using cl-lib functions at runtime; eieio ultimately
38227         loads cl-lib, which explains why doing so wasn't an issue.
38228         * lisp/registry.el: Require cl-lib.
38229         (registry-db, registry--match, registry-search, registry-delete):
38230         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
38231         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
38233 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
38235         Fix arglist in python.el (Bug#24762)
38237         * lisp/progmodes/python.el: Remove unneeded second args.
38238         (python-define-auxiliary-skeleton): DOC arg should be &optional.
38240 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
38242         Add tests for rot13.el
38244         * lisp/rot13.el (rot13): Docstring correction.
38246         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
38248 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
38250         Fix Bug#24947 (Tramp + ido)
38252         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
38254         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
38255         Run remote tests only if a connection is established only.  (Bug#24947)
38257 2016-11-16  Ken Brown  <kbrown@cornell.edu>
38259         Unbreak the build on Darwin (Bug#24957)
38261         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
38262         mistakes in recent commit.
38264 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
38266         Do not use map.el in seq-tests.el
38268         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
38269         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
38270         Emacs 24.5.
38272 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
38274         Update parameter :version to 26.1 in several defcustom
38276         Following defcustom where added or modified for 25.2 release.
38277         In fact all these changes belong to 26.1 release.
38278         * lisp/battery.el (battery-linux-sysfs-regexp)
38279         * lisp/comint.el (comint-password-prompt-regexp)
38280         * lisp/dired.el (dired-always-read-filesystem)
38281         * lisp/image.el (image-scaling-factor)
38282         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
38283         (ibuffer-never-search-content-mode)
38284         * lisp/mouse.el (mouse-select-region-move-to-beginning)
38285         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
38286         (netstat-program, route-program, route-program-options)
38287         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
38288         * lisp/progmodes/grep.el (grep-save-buffers)
38289         * lisp/vc/add-log.el (change-log-directory-files)
38290         * lisp/url/url-vars.el (url-user-agent)
38291         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
38292         (vc-hg-use-file-version-for-mode-line-version)
38293         (vc-hg-parse-hg-data-structures)
38294         * lisp/wdired.el (wdired-create-parent-directories)
38295         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
38296         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
38297         (gnus-button-url-regexp)
38298         * lisp/window.el (switch-to-buffer-preserve-window-point)
38299         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
38300         (ibuffer-locked-buffer)
38301         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
38302         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
38303         * lisp/gnus/message.el (message-user-fqdn)
38304         * lisp/simple.el (shell-command-dont-erase-buffer)
38305         (extended-command-suggest-shorter)
38306         * lisp/net/shr.el (shr-use-fonts)
38307         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
38309 2016-11-15  Glenn Morris  <rgm@gnu.org>
38311         Add --new-daemon, which runs in the foreground and does not fork
38313         This is intended for modern init systems such as systemd,
38314         which manage many of the traditional aspects of daemon behavior
38315         themselves.  (Bug#2677)
38316         * src/emacs.c (daemon_type): New integer.
38317         (usage, standard_args): Add --old-daemon and --new-daemon.
38318         (main): Handle --old-daemon and --new-daemon arguments.
38319         Restrict all the forking and complicated daemon stuff to old-daemon.
38320         (Fdaemon_initialized): Handle new-style daemon.
38321         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
38322         Replace daemon_pipe with daemon_type.
38323         * doc/emacs/cmdargs.texi (Initial Options):
38324         * doc/emacs/glossary.texi (Glossary):
38325         * doc/emacs/misc.texi (Emacs Server):
38326         * doc/lispref/display.texi (Window Systems):
38327         * doc/lispref/os.texi (Startup Summary): Related doc updates.
38328         * etc/NEWS: Mention this.
38329         * etc/emacs.service: Use Type=simple and --new-daemon.
38331 2016-11-15  Glenn Morris  <rgm@gnu.org>
38333         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
38334         * doc/man/emacs.1.in: Likewise.
38336 2016-11-15  Ken Brown  <kbrown@cornell.edu>
38338         Simplify case-insensitivity checks on Mac OS X
38340         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
38341         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
38342         Leave in two alternatives conditionally compiled based on
38343         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
38345         * etc/PROBLEMS: Mention the possible problem with pathconf on
38346         Mac OS X.
38348 2016-11-15  Glenn Morris  <rgm@gnu.org>
38350         * src/emacs.c (sort_args): Warn about multiple matches.
38352 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
38354         Implement file name handler for `file-name-case-insensitive-p'
38356         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
38357         is also applicable for remote hosts.
38359         * lisp/net/tramp.el (tramp-methods): Improve docstring.
38360         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
38361         (tramp-handle-file-name-case-insensitive-p): New defun.
38363         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
38364         Add `tramp-case-insensitive' entry.
38366         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
38367         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
38368         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
38369         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
38370         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
38372 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
38374         Nix more uses of default-FOO variables (Bug#24946)
38376         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
38377         Check for header-line-format instead.
38378         * lisp/emulation/viper.el (viper-load-custom-file): Reference
38379         major-mode instead.
38380         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
38381         fill-column instead.
38383 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
38385         Complete the name of PostgreSQL databases
38387         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
38388         name.
38389         (sql-postgres-list-databases): New function returning a list of
38390         available PostgreSQL databases.
38392         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
38394 2016-11-14  Sam Steingold  <sds@gnu.org>
38396         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
38398         When `vc-git-print-log-follow' is true and all files are
38399         non-directory, pass "--follow" to "git log".
38400         This works around bug#8756 and bug#16422.
38402 2016-11-14  Sam Steingold  <sds@gnu.org>
38404         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
38406         vc-git-print-log: pass "--follow" to "log" to handle renamed files
38408 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
38410         Revert "Improve case-insensitive checks (Bug#24441)"
38412         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
38413         I see no reason for removing code, documentation, and comments
38414         in the original commit.
38416 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
38418         Update verilog-mode.el
38420         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
38421         (verilog-calc-1): Fix "default clocking" indentation and
38422         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
38423         (verilog-diff-report): Fix `verilog-diff-report'
38424         not returning bad status on differences, bug1087.  Reported by
38425         Eric Jackowski.
38426         (verilog-auto-inst-param-value)
38427         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
38428         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
38429         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
38430         (verilog-read-sub-decls-type): When
38431         `verilog-auto-inst-param-value-type' is set, which is now the
38432         default, AUTOINPUT etc will now substitute parameter types from
38433         submodules, bug1061.  Reported by Brad Dobbie.
38434         (verilog-auto-reset, verilog-backward-case-item)
38435         (verilog-extended-case-re, verilog-read-always-signals-recurse):
38436         Fix indentation of randcase, bug1072. Reported by David Rogoff.
38437         (verilog-read-sub-decls-expr)
38438         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
38439         in generated comments, bug1057. Reported by Kaushal Modi.
38440         (verilog-auto-wire-comment, verilog-insert-definition):
38441         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
38442         Eric Jackowski.
38443         (verilog-extended-complete-re): Fix indentation
38444         of class static functions, bug1053. Reported by Gregory
38445         Czajkowski.
38446         (verilog-module-filenames): Support tramp for
38447         finding verilog modules. Reported by Nevada Sanchez.
38449 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
38451         Improve case-insensitive checks (Bug#24441)
38453         * doc/lispref/files.texi (Truenames): Simplify documentation,
38454         to avoid giving too much platform-specific information that
38455         may not be accurate anyway.
38456         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
38457         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
38458         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
38459         back on an alternative rather than returning false.  Try skipping
38460         the Darwin code, as it (1) no longer seems to be needed and (2)
38461         does not seem to match the Apple documentation.  Leave in two
38462         alternatives conditionally compiled based on
38463         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
38465 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
38467         Fix documentation changes of connection-local variables
38469         * etc/NEWS: Fix last change.
38470         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
38471         * doc/lispref/elisp.texi (Top): Update the master menu.
38473 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
38475         Implement connection-local variables
38477         * doc/lispref/variables.texi (Connection Local Variables): New section.
38479         * etc/NEWS: Mention connection-local variables.
38481         * lisp/files-x.el (enable-connection-local-variables)
38482         (connection-local-variables-alist, connection-local-class-alist)
38483         (connection-local-criteria-alist): New defvars.
38484         (connection-local-get-classes)
38485         (connection-local-get-class-variables): New defsubst.
38486         (connection-local-set-classes)
38487         (connection-local-set-class-variables)
38488         (hack-connection-local-variables)
38489         (hack-connection-local-variables-apply): New defuns.
38490         (with-connection-local-classes): New defmacro.
38492         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
38494         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
38495         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
38496         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
38497         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
38499         * test/lisp/files-x-tests.el: New file.
38501 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
38503         tabulated-list: extend truncation into next align-right column
38505         See discussion on:
38506         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
38507         * lisp/emacs-lisp/tabulated-list.el
38508         (tabulated-list--near-rows): New variable.
38509         (tabulated-list-print, tabulated-list-set-col): Use it.
38510         (tabulated-list--col-local-max-widths): New defsubst.
38511         (tabulated-list-print-col): Use it.  If the next column is
38512         align-right, and has some space left then don't truncate to width,
38513         use some of the available space from the next column.
38515 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
38517         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
38519         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
38520         (shr-collect-extra-strings-in-table): Render images as well.
38522 2016-11-13  Ken Brown  <kbrown@cornell.edu>
38524         Use the new 'file-name-case-insensitive-p' function
38526         * lisp/international/mule.el (auto-coding-alist-lookup):
38527         * lisp/files.el (file-truename):
38528         (abbreviate-file-name, set-auto-mode, file-relative-name):
38529         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
38530         'file-name-case-insensitive-p' instead of 'system-type' to test
38531         case-insensitivity.
38533 2016-11-13  Glenn Morris  <rgm@gnu.org>
38535         Include a systemd user unit file.  (Bug#16507)
38537         * etc/emacs.service: New file.
38538         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
38539         * Makefile.in (libdir): New, set by configure.
38540         (systemdunitdir): New variable.
38541         (install-etc, uninstall): Handle the emacs.service file.
38543 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
38545         Port --enable-gcc-warnings to Ubuntu 16.10
38547         * src/gmalloc.c: Include <stdlib.h>, so it declares
38548         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
38549         so that GCC doesn't complain that hybrid_aligned_alloc is
38550         defined without being declared.
38552 2016-11-13  Ken Brown  <kbrown@cornell.edu>
38554         Silence tramp warning
38556         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
38557         'file-name-case-insensitive-p' as a known file primitive.
38558         (Bug#24936)
38560 2016-11-12  Ken Brown  <kbrown@cornell.edu>
38562         Check case-sensitivity when renaming files
38564         * src/fileio.c (file_name_case_insensitive_p)
38565         (Ffile_name_case_insensitive_p):  New functions.
38566         (Frename_file): Allow renames that simply change case when the
38567         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
38569         * lisp/dired-aux.el (dired-do-create-files): Use
38570         'file-name-case-insensitive-p' instead of 'system-type' to check
38571         for case-insensitivity.  (Bug#24441)
38573         * doc/lispref/files.texi (Truenames): Document
38574         'file-name-case-insensitive-p'.
38576 2016-11-12  Ken Brown  <kbrown@cornell.edu>
38578         Unbreak the build on Cygwin
38580         * configure.ac (system_malloc) [CYGWIN]: Unset.
38582 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
38584         Update chart.el
38586         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
38587         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
38588         fixed number of newlines, use window-height.
38589         (chart-bar):
38590         (chart-trim): Use dolist.
38591         (chart-file-count): The previous implementation was buggy and missed
38592         extensions.  Use file-name-extension instead to detect file extensions.
38593         Also use dolist and cl-incf to reduce verbosity.
38595 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
38597         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
38598         (shr-collect-extra-strings-in-table):
38599         Render extra tables in an invalid html as well.
38601 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
38603         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
38605 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
38607         Resurrect 'memory-limit' on MS-Windows
38609         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
38610         'memory-limit' will produce a trivial and useless result on Windows.
38612 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
38614         Update quickurl.el
38616         * lisp/net/quickurl.el (quickurl-format-function):
38617         (quickurl-sort-function): Use named function.
38618         (quickurl-list-mode-map): Remove lines that are extraneous now that the
38619         parent mode is special-mode.
38620         (quickurl-format-url, quickurl-sort-urls): New functions.
38621         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
38622         be used.
38623         (quickurl-list-mode): Derive from special-mode.  Nix setting
38624         buffer-read-only: special-mode does that.
38625         (quickurl-list-populate-buffer): Use dolist instead.
38626         (quickurl-list-quit): Use quit-window.  It looks like this was written
38627         before the quit-window rewrite.  quit-window is very useful now.
38629 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
38631         Refine multi-hop specs in Tramp
38633         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
38635         * test/lisp/net/tramp-tests.el
38636         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
38637         method.  "/h:" is allowed on non MS Windows.
38639 2016-11-08  Daniel Colascione  <dancol@dancol.org>
38641         Avoid infloop in python
38643         Fix bug#24905
38645         * lisp/progmodes/python.el (python-info-docstring-p): Improve
38646         infloop avoidance: replace (bobp) with generic test for
38647         forward progress.
38648         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
38649         test for bug#24905
38651 2016-11-08  Daniel Colascione  <dancol@dancol.org>
38653         Make gnus/message.el work correctly under lexical binding
38655         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
38656         `_' to shut up the byte compiler.
38657         (sha1-maximum-internal-length, smtpmail-smtp-server)
38658         (smtpmail-smtp-service): add missing defvars
38660 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
38662         Fix Bug#24889
38664         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
38665         defvar.  Fix docstring.
38666         (tramp-completion-file-name-handler-alist): Fix docstring.
38667         (tramp-register-file-name-handlers): Reassign
38668         `tramp-file-name-regexp' to the car of
38669         `tramp-file-name-structure'.  (Bug#24889)
38671 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
38673         Port to FreeBSD 11 AMD
38675         Problem reported by Ashish Shukla (Bug#24892).  I tested
38676         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
38677         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
38678         (sbrk): Check whether it exists.
38679         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
38680         Do not define, since this function is now used only on GNU/Linux,
38681         and sbrk might not exist on other platforms.
38682         (malloc_initialize_hook) [!GNU_LINUX]:
38683         Do not call my_heap_start, since its side effect will never be used.
38684         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
38685         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
38686         sbrk exists.
38688 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
38690         Port emacsclient to FreeBSD 11 etc.
38692         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
38693         platforms like FreeBSD 11 that use code involving strlen etc., and
38694         because <config.h> no longer includes string.h.
38696 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
38698         Prescribe history for read-regexp in query-replace
38700         In the fix for bug#24580, the history argument for read-regexp was
38701         removed erroneously; read-regexp's history argument defaults to
38702         regexp-history, not minibuffer-history.
38703         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
38704         minibuffer-history.  Fixes bug#24873.
38706 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
38708         Remove obsolete default-FOO variables
38710         * etc/NEWS: Indicate the removed variables.
38711         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
38712         * lisp/subr.el (default-mode-line-format, default-header-line-format):
38713         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
38714         (default-truncate-lines, default-left-margin, default-tab-width):
38715         (default-case-fold-search, default-left-margin-width):
38716         (default-right-margin-width, default-left-fringe-width):
38717         (default-right-fringe-width, default-fringes-outside-margins):
38718         (default-scroll-bar-width, default-vertical-scroll-bar):
38719         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
38720         (default-fringe-indicator-alist, default-fringe-cursor-alist):
38721         (default-scroll-up-aggressively, default-scroll-down-aggressively):
38722         (default-fill-column, default-cursor-type):
38723         (default-cursor-in-non-selected-windows):
38724         (default-buffer-file-coding-system, default-major-mode):
38725         (default-enable-multibyte-characters): Remove obsolete declarations.
38726         * src/buffer.c (default-mode-line-format, default-header-line-format):
38727         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
38728         (default-truncate-lines, default-left-margin, default-tab-width):
38729         (default-case-fold-search, default-left-margin-width):
38730         (default-right-margin-width, default-left-fringe-width):
38731         (default-right-fringe-width, default-fringes-outside-margins):
38732         (default-scroll-bar-width, default-vertical-scroll-bar):
38733         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
38734         (default-fringe-indicator-alist, default-fringe-cursor-alist):
38735         (default-scroll-up-aggressively, default-scroll-down-aggressively):
38736         (default-fill-column, default-cursor-type):
38737         (default-cursor-in-non-selected-windows):
38738         (default-buffer-file-coding-system, default-major-mode):
38739         (default-enable-multibyte-characters): Remove.
38740         * src/fileio.c (choose_write_coding_system): Fix comment.
38741         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
38743 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
38745         Improve the tutorial
38747         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
38748         * etc/tutorials/TUTORIAL.he: Follow suit.
38750 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
38752         Restore file descriptor limit in subprocesses
38754         Problem reported by Philipp Stephani (Bug#24869).
38755         * src/callproc.c (child_setup) [!DOS_NT]:
38756         Call restore_nofile_limit in the child.
38757         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
38758         (restore_nofile_limit): New function.
38759         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
38761 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
38763         Remove some subr.el functions obsoleted in 22.1
38765         * etc/NEWS: Document removed functions.  Also mention the "face"
38766         variables that have been removed recently.
38767         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
38768         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
38770 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
38772         Prefer comments /* like this */ in C code
38774 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
38776         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
38778 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
38780         Support zstd compressed files
38782         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
38783         zstd compression info: <http://facebook.github.io/zstd/>.
38784         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
38785         compressed tar archives.  (Bug#24853)
38787 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
38789         Enlarge DUMPED_HEAP_SIZE
38791         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
38792         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
38794 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
38796         Update from gnulib
38798         This incorporates:
38799         2016-11-03 intprops: port to older XL C
38800         * lib/intprops.h: Copy from gnulib.
38802 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
38804         Merge from origin/emacs-25
38806         acae275 ; Spelling fixes
38807         d8fac73 Update README for precompiled windows Emacs.
38808         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
38809         f708cb2 Clarify doc string of 'transpose-sexps'
38810         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
38811         bdc89eb Improve documentation of 'font-lock-remove-keywords'
38812         4a0c590 Fix documentation of the command summary key
38813         0221b7a Mark relocation workarounds with REL_ALLOC
38815 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
38817         Merge from origin/emacs-25
38819         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
38820         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
38821         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
38822         9c247d2 Update category-table for Chinese characters
38823         43986d1 Inhibit buffer relocation during regex searches
38824         fee4cef Revert fixes to allocation of regex matching
38826 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
38828         Fix references to long obsoleted functions/aliases
38830         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
38831         * doc/misc/cl.texi (Conditionals):
38832         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
38833         not string-to-int.
38834         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
38835         default-major-mode.
38836         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
38837         here is not a function call, but shorten the binding names anyways.
38838         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
38839         Bug#22244.
38840         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
38841         read-input.
38843 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
38845         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
38847 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
38849         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
38850         that gathers extra strings in an invalid html.  (bug#24831)
38851         (shr-tag-table): Use it.
38853 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
38855         Add 'x-ctrl-keysym' support on X window system
38857         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
38858         Support 'x-ctrl-keysym'.
38859         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
38860         property on it.
38861         <x-ctrl-keysym>: New DEFVAR_LISP.
38862         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
38863         fix.  (Bug#24822)
38865         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
38867         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
38869 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
38871         Improve autoload error reporting
38873         * src/eval.c (Fautoload_do_load): Include the absolute file name
38874         in the error message.
38876 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38878         Stop force parameter of whitespace-report-region having global effect
38880         * lisp/whitespace.el (whitespace-report-region): Force parameter
38881         previously changed whitespace-style globally.  Fix this, and use
38882         whitespace-active-style, to take account of any changes the user may
38883         have made.  Simplify the documentation: the force parameter simply
38884         forces all classes of whitespace problem to be considered.
38885         (Bug#24745)
38887 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38889         Document use of `tab-width'
38891         * lisp/whitespace.el: When talking about `8 or more spaces', mention
38892         `tab-width' instead of 8.  (Bug#24745)
38894 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38896         Make whitespace-report-region respect current settings
38898         * lisp/whitespace.el (whitespace-report-region): Make it respect
38899         whitespace-style, including any additions made by the force parameter.
38900         This means that the function does not return t unless a whitespace
38901         problem that the user cares about is reported.  (Bug#24745)
38903 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38905         Fix whitespace-space-after-tab-regexp
38907         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
38908         (whitespace-regexp): Match all the spaces after tabs for highlighting,
38909         not just the first tab-width.  Fix whitespace-space-after-tab::space
38910         version so that it requires at least tab-width spaces, not just 1.
38911         (Bug#24745)
38913 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38915         Remove duplicate documentation
38917         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
38918           section which duplicate and in some places contradict (due to being
38919           out of date) the docstrings (Bug#24745).
38921 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
38923         Fix bob/eob checks
38925         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
38926         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
38927         work at beginning & end of buffer in whitespace-report-region, and only
38928         there (i.e. they will never match in regions that don't include the
38929         start or end of the buffer).  (Bug#24745)
38931 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
38933         (thing-at-point 'list) return nil if no list at point
38935         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
38936         Check first if we are at the beginning of a top-level sexp (Bug#24627).
38937         If point is inside a comment or string, look for a list out of the
38938         comment/string.
38939         Escape '[' in doc string.
38940         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
38941         expected test result as pass.
38943 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
38945         Remove antlr face aliases obsoleted in 22.1
38947         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
38948         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
38949         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
38950         (antlr-tokenref-face, antlr-literal-face):
38951         (antlr-literal-face): Remove.
38952         (antlr-font-lock-additional-keywords): Use face symbols instead.
38954 2016-11-02  Daniel Colascione  <dancol@dancol.org>
38956         Revert "Disable bracketed paste in a terminal in char mode"
38958         This change causes regressions, and besides, disabling BPM frame-wide
38959         for the sake of one buffer is the wrong solution.
38961         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
38963 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
38965         Revert change to eww-suggest-uris
38967         The introduced append is ugly and can yield '(nil); doing delq on it
38968         would be hacks on hacks.
38969         * lisp/net/eww.el: Require cl-lib at run time.
38970         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
38971         (eww): Remove erroneous append.
38972         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
38973         equal to eww-current-url, which is nil anyways if we are not in an EWW
38974         buffer.
38976 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
38978         Add eww-open-in-new-buffer to EWW
38980         * doc/misc/eww.texi (Basic): Document new command and key.
38981         * etc/NEWS: Mention new key and its purpose.
38982         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
38983         (eww): Append (eww-current-url) to the prompt defaults.
38984         (eww-open-in-new-buffer): New command.
38985         (eww-mode-map): Bind it and add a menu item.
38987 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
38989         Migrate auth-source to cl-lib
38991         * lisp/auth-source.el: Use cl-lib.
38992         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
38993         (auth-source-search): Replace cl calls with cl-lib ones.
38994         (auth-source-netrc-cache):
38995         (auth-source-forget+): Use cl-do-symbols instead.
38996         (auth-source-specmatchp, auth-source-netrc-parse):
38997         (auth-source-netrc-search, auth-source-netrc-create):
38998         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
38999         (auth-source-secrets-search, auth-source-secrets-create):
39000         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
39001         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
39002         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
39004 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
39006         Don't segfault on timed-out TLS connections
39008         * src/process.c (finish_after_tls_connection): Check that the
39009         file descriptor is still alive before proceeding (bug#24811).
39010         Also clean up the code slightly.
39012 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
39014         Support 'TARGETS' in clipboard selections on MS-Windows
39016         * src/w32select.c (Fw32_selection_targets): New function.
39018         * lisp/term/w32-win.el (w32--get-selection): Call
39019         'w32-selection-targets' to obtain the list of data formats
39020         available in the clipboard.
39022 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
39024         Fix documentation for 'eudc-options-file'
39026         * doc/misc/eudc.texi (The Server Hotlist): Update the default
39027         value of 'eudc-options-file'.
39029 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
39031         Fix documentation of 'eudc-inline-expansion-format'
39033         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
39034         'eudc-inline-expansion-format'. (Bug#24840)
39036 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39038         Turn on lexical-binding in some more libs
39040         * lisp/calendar/icalendar.el:
39041         * lisp/emacs-lisp/regexp-opt.el:
39042         * lisp/emacs-lisp/timer.el:
39043         * lisp/gnus/message.el:
39044         * lisp/hex-util.el: Turn on lexical-binding.
39046 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39048         Turn on lexical-binding in some net libs
39050         * lisp/net/dbus.el: Turn on lexical-binding.
39051         (dbus-list-hash-table, dbus-list-known-names):
39052         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
39053         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
39054         (dbus-introspect-get-property-names):
39055         (dbus-introspect-get-argument-names, dbus-get-all-properties):
39056         (dbus-property-handler, dbus-get-all-managed-objects):
39057         (dbus-managed-object-handler): Replace add-to-list with push. Add
39058         nreverse in some places where the APPEND argument of add-to-list was
39059         used.
39060         * lisp/net/network-stream.el: Turn on lexical-binding.
39061         * lisp/net/newsticker.el: Turn on lexical-binding.
39062         * lisp/net/shr.el: Turn on lexical-binding.
39063         (shr-make-placeholder-image): Remove unused variable binding.
39064         (shr-inspect-table): Replace ignored bindings with underscore.
39066 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
39068         Turn on lexical-binding in some url libs
39070         * lisp/url/url-auth.el:
39071         * lisp/url/url-expand.el:
39072         * lisp/url/url-future.el:
39073         * lisp/url/url-parse.el:
39074         * lisp/url/url-util.el: Turn on lexical-binding.
39076 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
39078         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
39080         (Bug#24733)
39082 2016-10-30  Alan Mackenzie  <acm@muc.de>
39084         Handle chars of syntax word which are also flagged as comment delimiters
39086         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
39087         as the start/end of two char comment delimiters, recognize a comment delimiter
39088         in preference to a portion of a word.  This fixes bug #24767.
39090 2016-10-29  Daniel Colascione  <dancol@dancol.org>
39092         Speed up initialization by preferring /dev/urandom to GnuTLS
39094         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
39096 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
39098         Quote file names in dired compression commands
39100         * lisp/dired-aux.el (dired-do-compress-to): Change the string
39101         used as shell command for compression by quoting the filenames
39102         used for input and output (Bug #24620).
39104 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
39106         Avoid errors in posn-at-point for large images
39108         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
39109         returns a 6-member list for a partially visible glyph, pass the
39110         sum of Y and RTOP to posn-at-x-y, since that's where the visible
39111         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
39112         (Bug#23809)
39114 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
39116         Unbreak MS-Windows build
39118         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
39119         name is "wignore".
39120         (x_set_cursor_gc, x_set_mouse_face_gc)
39121         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
39122         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
39123         use s->window, which doesn't exist anymore.
39125         * src/w32term.h (XCreateGC): Adjust prototype.
39127 2016-10-28  Daniel Colascione  <dancol@dancol.org>
39129         Add double-buffering support to reduce flicker
39131         * src/dispextern.h (struct glyph_string): Remove window member
39132         (block_buffer_flips, unblock_buffer_flips)
39133         (buffer_flipping_blocked_p): Declare.
39135         * src/xterm.h (struct x_display_info): New member supports_xdbe.
39136         (struct x_output): New members draw_desc and need_buffer_flip.
39137         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
39138         (FRAME_X_DOUBLE_BUFFERED_P)
39139         (FRAME_X_NEED_BUFFER_FLIP): New macros.
39140         (set_up_x_back_buffer, tear_down_x_back_buffer)
39141         (initial_set_up_x_back_buffer): Declare.
39143         * src/xterm.c: Include Xdbe.h.
39144         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
39145         (x_draw_vertical_window_border, x_update_end)
39146         (x_setup_relief_color, x_draw_relief_rect)
39147         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
39148         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
39149         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
39150         variables appropriately; substitute calls to XClearArea with
39151         x_clear_area, which DTRT for double buffering.
39152         (x_clear_window, x_clear_area): In double-buffering mode, use
39153         rect-drawing X functions instead of XClearWindow and
39154         XClearArea, which always operate on the front buffer.
39155         (show_back_buffer): New function.
39156         (XTframe_up_to_date): Call show_back_buffer when done.
39157         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
39158         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
39159         now independent X windows.
39160         (handle_one_xevent): Call font_drop_xrender_surfaces when
39161         XftDraw might need regenerating; perform buffer flip when
39162         responding to Expose events; issue front-buffer clearing
39163         commands as stopgap while we wait for redisplay.
39164         Call flush_dirty_back_buffers.
39165         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
39166         earlier in function.
39167         (x_free_frame_resources): Call tear_down_x_back_buffer when
39168         destroying frame.
39169         (x_term_init): Attempt to initialize double buffer extension.
39170         (x_flip_and_flush): New function.
39171         (x_redisplay_interface): Point to x_flip_and_flush instead of
39172         x_flip directly.
39173         (flush_dirty_back_buffers): New function.
39174         (x_create_terminal): Register buffer_flipping_unblocked_hook.
39176         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
39177         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39178         (xftfont_draw): Call x_mark_frame_dirty.
39179         (xftfont_drop_xrender_surfaces): New function.
39180         (syms_of_xftfont): Register it.
39182         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
39183         FRAME_X_WINDOW.
39185         * src/xfns.c: Include Xdbe.h.
39186         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
39187         (Fx_double_buffered_p): New functions.
39188         (x_window): Call initial_set_up_x_back_buffer.
39189         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39190         (Fx_create_frame): Configure `inhibit-double-buffering'
39191         frame parameter.
39192         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
39193         (x_frame_parm_handlers): Register
39194         x_set_inhibit_double_buffering.
39195         (syms_of_xfns): Register Sx_double_buffered_p.
39196         (x_mark_frame_dirty): Define.
39198         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
39199         FRAME_X_WINDOW.
39201         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
39202         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
39203         (redisplay_internal): Restart redisplay if a frame is garbaged
39204         during updating; explain why. Block buffer flips
39205         during redisplay.
39206         (redisplay_preserve_echo_area): Block buffer flip during call
39207         to redisplay_internal.
39208         (buffer_flip_blocked_depth): New variable.
39209         (block_buffer_flips, unblock_buffer_flips)
39210         (buffer_flipping_blocked_p): New functions.
39211         (init_glyph_string): Stop setting window member of struct
39212         glyph_string.
39214         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
39215         x_set_inhibit_double_buffering.
39217         * src/termhooks.h (struct terminal): Add
39218         buffer_flipping_unblocked_hook.
39220         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
39221         x_set_inhibit_double_buffering.
39223         * src/image.c (x_create_bitmap_from_data)
39224         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
39225         (Create_Pixmap_From_Bitmap_Data)
39226         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
39227         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
39228         variables appropriately.
39230         * src/gtkutil.c: Include Xdbe.h.
39231         (xg_get_widget_from_map): Forward declare.
39232         (xg_clear_under_internal_border): Remove obsolete calls to
39233         refresh scroll bars.
39234         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
39235         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
39236         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
39237         same reason.
39238         (xg_set_background_color): Set scroll bar background colors.
39239         (xg_finish_scroll_bar_creation): New function with common
39240         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
39241         scroll bars to be real X11 windows.
39242         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
39243         xg_finish_scroll_bar_creation.
39244         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
39245         Remove obsolete calls to refresh scroll bars; fix comments.
39247         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
39248         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
39249         FRAME_X_WINDOW.
39251         * src/frame.c (frame_parms): Add table entry for new
39252         `inhibit-double-buffering' frame parameter
39253         (syms_of_frame): Register Qinhibit_double_buffering.
39255         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
39256         (font_drop_xrender_surfaces): Declare.
39258         * src/font.c (font_drop_xrender_surfaces): New function.
39260         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
39262         * etc/NEWS: Mention use of double buffering
39264         * doc/lispref/frames.texi (Management Parameters): Document
39265         `inhibit-double-buffering' frame parameters.
39266         (Visibility of Frames): Document `x-double-buffered-p'.
39268         * configure.ac: Check for the X double buffer extension
39270 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
39272         Improve result of `auth-source-search' in Tramp
39274         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
39275         :user in result of `auth-source-search'.
39277 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
39279         Fix avl-tree alias docstrings
39281         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
39282         (avl-tree-stack-p, avl-tree-create):
39283         (avl-tree-compare-function): Add calling convention to docstrings.
39285 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39287         Update from gnulib
39289         This incorporates:
39290         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
39291         2016-10-13 stdint: port SIZE_MAX to glibc s390
39292         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
39293         * lib/gnulib.mk: Regenerate.
39294         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
39295         * m4/utimes.m4: Copy from gnulib.
39297 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39299         electric-quote-chars fixups
39301         * lisp/electric.el (electric-quote-chars): Check types and safety
39302         more carefully.
39303         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
39304         Omit no-longer-necessary runtime error diagnostic.
39306 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
39308         New user variable 'electric-quote-chars'
39310         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
39311         * lisp/electric.el (electric-quote-chars): New defcustom.
39312         (electric-quote-post-self-insert-function): Use it.
39314 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
39316         Add more tests for Bug#24627
39318         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
39319         Add tests for 'list-at-point'.
39321 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
39323         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
39325         * lisp/shell.el (shell--unquote&requote-argument): Fix
39326         off-by-one thinko.  Don't use match data after a failed string-match.
39328 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39330         * src/xwidget.c (webkit_js_to_lisp): Now static.
39332 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39334         xwidget: Map "previous-line" and "next-line" to scroll
39336         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
39337         procedures.
39339 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39341         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
39343         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
39344         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
39345         respectively.
39346         (xwidget-webkit-scroll-top,
39347         xwidget-webkit-scroll-bottom): New procedures.
39349 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39351         Implement zoom for WebKit widget.
39353         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
39354         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
39355         (xwidget-webkit-zoom): Declare procedure.
39356         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
39358 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39360         Dynamically resize WebKit widget.
39362         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
39363         xwidget-webkit-adjust-size-in-frame): New procedures.
39364         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
39365         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
39366         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
39367         add widget and window as arguments.
39368         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
39370 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39372         Let initial WebKit view fill window
39374         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
39375         WebKit widget to window size.
39377 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39379         xwidget: Remove title hack.
39381         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
39382         * lisp/xwidget.el (xwidget-webkit-get-title,
39383         xwidget-webkit-execute-script-rv): Remove procedures.
39385 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39387         xwidget: Get URL asynchronously.
39389         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
39391 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39393         xwidget: Get selection with asynchronous JavaScript
39395         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
39396         process selection.
39397         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
39399 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39401         xwidget: Add function to find element by CSS selector
39403         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
39405 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39407         xwidget: Simplify functions to scroll to elements
39409         * lisp/xwidget.el (xwidget-webkit-show-named-element,
39410         xwidget-webkit-show-id-element,
39411         xwidget-webkit-show-id-or-named-element): Simplify functions by
39412         scrolling exclusively with JavaScript.
39414 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39416         xwidget: Get title via asynchronous JavaScript.
39418         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
39419         asynchronously.
39421 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39423         xwidget: Do not use `xwidget-execute-script-rv' to insert string
39425         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
39426         return value via callback instead of using
39427         `xwidget-webkit-execute-script-rv'.
39429 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39431         Remove scrolled window container around WebKit widget
39433         The WebKit widget can scroll on its own and does not need to wrapped
39434         with a scrolled window container.
39436         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
39437         * src/xwidget.c: Remove widgetscrolledwindow_osr.
39438         (xwidget-set-adjustment): Remove.
39439         (xwidget-resize): Resize Webkit widget last.
39440         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
39441         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
39442         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
39443         Implement scrolling via JavaScript.
39445 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39447         xwidget: Pass JavaScript return value to optional callback procedure
39449         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
39450         callback argument.
39451         (xwidget-webkit-callback): Handle "javascript-callback" event type.
39452         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
39453         argument FUN, a Lisp procedure to execute on the JavaScript return
39454         value.
39455         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
39456         webkit_js_to_lisp): New procedures.
39458 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
39460         xwidget: Use WebKit2 API
39462         * configure.ac: Check for webkit2gtk-4.0.
39463         * src/xwidget.c: Adjust to use WebKit2 API.
39464         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
39465         `xwidget-event-type'.
39467 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39469         Merge from origin/emacs-25
39471         4c3f738 Comment for bug#24793
39473 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39475         Merge from origin/emacs-25
39477         96ac0c3 Yet another fix for using pointers into buffer text
39478         1047496 Another fix for using pointer to buffer text
39479         3121992 Fix Bug#24478
39481 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39483         Merge from origin/emacs-25
39485         ee04aed Fix handling of buffer relocation in regex.c functions
39486         71ca4f6 Avoid relocating buffers while libxml2 reads its text
39487         1b3fc8a ; Remove redundant code in gmalloc.c
39488         9afea93 Attempt to catch reads from a buffer that is relocated
39490 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
39492         Minor fix in the documentation of seq-random-elt
39494         * doc/lispref/sequences.texi (Sequence Functions): Remove false
39495           sentence.
39497 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
39499         Minor copyedits in documentation of 'seq-random-elt'
39501         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
39502         last change.  Use 2 spaces between sentences.
39504 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
39506         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
39508 2016-10-25  Damien Cassou  <damien@cassou.me>
39510         Add seq-random-elt to seq.el
39512         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
39513           random element from it's sequence parameter.
39515         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
39516           test-seq-random-elt-return-nil): Test the new function
39518         * doc/lispref/sequences.texi: Document the new function
39520 2016-10-24  Ken Brown  <kbrown@cornell.edu>
39522         * configure.ac: Stop using mmap for buffers on Cygwin.
39524 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
39526         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
39528 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
39530         Don't prompt user when killing Flymake processes
39532         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
39533         Don’t prompt the user when killing Flymake processes.
39535         * doc/misc/flymake.texi (Starting the syntax check process):
39536         Document new behavior.
39538 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39540         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
39542         This finishes the merge of the recent emacs-25 regex changes into
39543         master.
39545 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39547         Merge from origin/emacs-25
39549         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
39550         6f1325e electric-quote mode no longer worries about coding
39551         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
39552         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
39553         b2ba630 Explain how to debug emacsclient lisp errors
39554         9da53e2 Let describe-function work for lambda again
39555         5c2da93 Fix kill-line's docstring
39556         ad66b3f Fix handling of allocation in regex matching
39557         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
39558         3877c91 vc-region-history: Search just on lines intersecting the region
39559         8988327 Fix documentation of 'alist-get'
39560         b6998ea * src/regex.h (re_match_object): Improve commentary.
39562         # Conflicts:
39563         #       etc/NEWS
39564         #       lisp/help-fns.el
39566 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39568         Merge from origin/emacs-25
39570         8ad0d7d ; Fix quoting in etc/NEWS
39571         6b9dee1 Change Tramp version to "2.2.13.25.2"
39572         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
39573         b2f32e4 Don't scan compiled module files for autoloads
39574         9a758b4 Fix Bug#24698
39575         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
39576         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
39577         12da149 Update URL of MS-Windows optional DLLs
39578         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
39579         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
39580         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
39581         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
39583         # Conflicts:
39584         #       doc/misc/trampver.texi
39585         #       etc/NEWS
39586         #       lisp/net/tramp-sh.el
39587         #       lisp/net/trampver.el
39589 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39591         Merge from origin/emacs-25
39593         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
39594         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
39595         993acb5 ; Minor fix for last change in characters.el
39596         30c4bb5 More char-width fixes
39597         4eb4463 Fix char-width-table values for some Emoji
39598         528997d Keep point when switching from and to *terminal* buffer
39599         2130005 * INSTALL: Use correct Emacs release number 25.
39600         10835b1 Avoid crashes due to objects read with the #n=object form
39601         4de671d Improve doc string of 'completion-at-point-functions'
39602         ceb46f0 Fix crash in evaluating functions
39603         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
39605 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
39607         Merge from origin/emacs-25
39609         2deb20c Port last_marked change to full-program optimizers
39610         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
39611         dac64e3 Avoid optimizing out the last_marked[] array
39613 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
39615         Avoid infinite hscrolling in redisplay
39617         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
39618         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
39619         redisplay (Bug #24633).
39621 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
39623         Fix error codes in Tramp
39625         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
39626         taken from tramp.el.
39627         (tramp-file-missing): New defconst.
39629         * lisp/net/tramp.el (tramp-user-error): Remove it.
39630         (tramp-check-proper-method-and-host)
39631         (tramp-dissect-file-name, tramp-debug-message)
39632         (tramp-handle-shell-command):
39633         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
39634         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
39635         Use `tramp-compat-user-error'.
39637         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
39638         (tramp-handle-load):
39639         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
39640         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
39641         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
39642         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
39643         Use `tramp-file-missing'.  (Bug#24714)
39645         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
39646         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
39647         Use `file-already-exists'.
39649 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
39651         Autoload all commands from misc.el
39653         Only two of the commands there were autoloaded, one of which is an
39654         easter egg.
39655         * lisp/misc.el (copy-from-above-command):
39656         * lisp/misc.el (zap-up-to-char):
39657         * lisp/misc.el (mark-beginning-of-buffer):
39658         * lisp/misc.el (mark-end-of-buffer):
39659         * lisp/misc.el (upcase-char):
39660         * lisp/misc.el (forward-to-word):
39661         * lisp/misc.el (backward-to-word):
39662         Add autoload cookie.
39664 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
39666         On terminal frames ignore minibuffer frame parameter (Bug#24758)
39668         * src/frame.c (Fmake_terminal_frame): Don't complain when the
39669         caller asks for a deviant minibuffer setting (Bug#24758).
39671 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39673         New error file-missing
39675         This fixes a recently-introduced bug in delete-directory,
39676         where the code assumes the C locale when determining
39677         whether a file-error corresponds to a missing file (Bug#24714).
39678         * doc/lispref/errors.texi (Standard Errors):
39679         * doc/lispref/files.texi (Changing Files):
39680         * etc/NEWS:
39681         Document this.
39682         * doc/lispref/loading.texi (How Programs Do Loading):
39683         Say "a file-error" rather than "the error file-error" since
39684         it might be a file-missing now.
39685         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
39686         * lisp/epa-file.el (epa-file--find-file-not-found-function):
39687         (epa-file-insert-file-contents, epa-file-write-region):
39688         * lisp/ffap.el (find-file-at-point, dired-at-point):
39689         * lisp/jka-compr.el (jka-compr-insert-file-contents)
39690         (jka-compr-insert-file-contents):
39691         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
39692         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
39693         * lisp/progmodes/etags.el (visit-tags-table):
39694         * lisp/url/url-handlers.el (url-copy-file):
39695         * src/fileio.c (report_file_errno):
39696         Signal file-missing if appropriate.
39697         * lisp/epa-file.el (epa-file-insert-file-contents):
39698         * lisp/jka-compr.el (jka-compr-insert-file-contents):
39699         Don't assume file-error is a leaf in the error hierarchy.
39700         * lisp/files.el (files--force):
39701         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
39702         * lisp/jka-compr.el (jka-compr-insert-file-contents):
39703         Use file-missing to detect whether the file is missing.
39704         * lisp/url/url-handlers.el (url-copy-file):
39705         Signal file-already-exists if appropriate.
39706         * src/fileio.c (syms_of_fileio): Define file-missing.
39708         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
39710 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
39712         Teach browse-url to open man page urls
39714         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
39715         (browse-url): Add a condition to catch links matching "^man:".
39716         (browse-url-man): New function.
39718 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
39720         Improve fontification of footnote references in Info buffers
39722         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
39723         in parentheses as if they were footnote references.  See
39724         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
39725         for the details.
39727 2016-10-20  Philipp Stephani  <phst@google.com>
39729         Minor fixes to cc-mode-tests.el
39731         See Bug#24747.
39733         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
39734         file-local variable; add comments to make checkdoc happy.
39736 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
39738         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
39740 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
39742         Document, how to suppress iTerm2 shell integration in Tramp
39744         * doc/misc/tramp.texi (Frequently Asked Questions):
39745         Suppress iTerm2 shell integration.
39747 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
39749         cl-seq: Remove max limit on input sequence length
39751         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
39752         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
39753         Remove limit on maximum length for the input sequence
39754         (#Bug24264).
39755         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
39757 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
39759         Derive dig-mode from special-mode
39761         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
39762         mode-class assignment.
39763         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
39764         (dig-mode): Derive from special-mode.
39765         (dig-exit): Use quit-window instead.
39766         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
39767         (query-dig): Use pop-to-buffer-same-window.
39769 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
39771         cl-defstruct: Fix debug spec and check of slot options
39773         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
39774         option syntax.  Fix debug spec.  (Bug#24700)
39776 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
39778         isearch: Fix bug in defstruct syntax
39780         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
39781         options.  (Bug#24685)
39783 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
39785         Add an option for eshell-input-filter
39787         * etc/NEWS: Document changes.
39788         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
39789         symbol.  Change type to a radio for choosing functions.  Refer to both
39790         new functions.
39791         (eshell-input-filter-default): New function.  Same body as the previous
39792         value of eshell-input-filter.
39793         (eshell-input-filter-initial-space): New function.
39795 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
39797         delete-directory no longer errors when racing
39799         Problem reported by Glenn Morris for package-test.el (Bug#24714).
39800         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
39801         * lisp/files.el (files--force): New function.
39802         (delete-directory): Use it to avoid error in this case.
39804 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
39806         Support Shift selection in nxml-mode commands
39808         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
39809         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
39810         (nxml-backward-down-element, nxml-forward-element)
39811         (nxml-backward-element, nxml-forward-paragraph)
39812         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
39813         support shift-selection.
39815 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
39817         Simplify some loops and cons
39819         * lisp/net/mailcap.el: Replace cl with cl-lib.
39820         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
39821         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
39822         (mailcap-possible-viewers): Use push and dolist where possible.
39823         (mailcap-viewer-passes-test): Remove unused binding.
39824         (mailcap-add-mailcap-entry): Use push.
39825         (mailcap-mime-info): Remove unused binding.  Use push.
39826         (mailcap-parse-mimetypes): Use dolist.
39828 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
39830         Turn on lexical-binding in auth-source
39832         * lisp/auth-source.el: Turn on lexical-binding.
39833         (auth-source-netrc-parse, auth-source-netrc-normalize):
39834         (auth-source-token-passphrase-callback-function):
39835         (auth-source-netrc-create, auth-source-secrets-search):
39836         (auth-source-macos-keychain-search-items):
39837         (auth-source-plstore-search): Use let instead of lexical-let.
39839 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
39841         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
39843         * src/frame.c (do_switch_frame): Redirect frame focus also when
39844         the frame switched to has its minibuffer window on the selected
39845         frame.
39846         * src/window.c (candidate_window_p): To qualify as candidate
39847         it's not sufficient for the window's frame to just share the
39848         minibuffer window - it must be active as well.
39850 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
39852         Fix time-related data types in 2 editfns.c functions
39854         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
39855         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
39856         instead of relying on struct timespec's 'tv_sec' member to be of
39857         compatible type.
39859 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
39861         Document atomic windows in Elisp manual (Bug#18170)
39863         * lisp/window.el (display-buffer-in-atom-window): If no `side'
39864         alist entry was specified, use `below' as the doc tells.
39865         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
39866         * doc/lispref/windows.texi (Atomic Windows): New section.
39867         (Window Parameters): Update reference.
39869 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39871         New face homoglyph
39873         Suggested by Eli Zaretskii, from a feature request by
39874         Alan Mackenzie (Bug#24468).
39875         * doc/emacs/display.texi (Standard Faces, Text Display):
39876         * etc/NEWS: Document this.
39877         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
39878         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
39879         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
39880         * etc/themes/wombat-theme.el:
39881         Customize homoglyph to be the same as escape-glyph.
39882         * lisp/cus-theme.el (custom-theme--listed-faces):
39883         Add homoglyph.
39884         * lisp/faces.el (homoglyph): New face.
39885         * lisp/startup.el (startup--setup-quote-display): Use it.
39887 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39889         Port to Ubuntu 16.10, which needs gcc -nopie
39891         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
39892         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
39893         preference to -nopie (Bug#24682).
39895 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
39897         Fix bug#24665 in Tramp
39899         * doc/misc/tramp.texi (External methods): Do not confuse
39900         method names.  (Bug#24665)
39902 2016-10-15  Sam Steingold  <sds@gnu.org>
39904         use full time objects (lists) instead of floats when possible
39906         * lisp/midnight.el (midnight-buffer-display-time): Remove
39907         (clean-buffer-list): Use float time only for time comparison
39909 2016-10-15  Sam Steingold  <sds@gnu.org>
39911         Save and restore buffer-display-time
39913         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
39914         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
39915         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
39917 2016-10-15  Philipp Stephani  <phst@google.com>
39919         Disable bracketed paste in a terminal in char mode
39921         In char mode, a terminal doesn't accept bracketed paste events,
39922         therefore we should disable them; see Bug#24639.  To decouple the XTerm
39923         management from term.el, introduce a per-buffer setting to disable
39924         bracketed paste for that buffer.  If bracketed paste is inhiited for at
39925         least one buffer in a terminal, it is disabled for the whole terminal.
39927         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
39928         inhibit XTerm bracketed paste per buffer.
39929         (xterm--buffer-terminals, xterm--update-bracketed-paste)
39930         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
39931         functions.
39932         (xterm--init-bracketed-paste-mode): Remove unused helper
39933         function.
39934         (terminal-init-xterm): Update bracketed paste status when
39935         initializing an XTerm and on window configuration change.
39937         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
39938         bracketed paste in char mode.
39940 2016-10-15  Dima Kogan  <dima@secretsauce.net>
39942         Undo the effect of CapsLock when other modifiers are present
39944         * src/keyboard.c (make_lispy_event): Effectively undo the effect
39945         of CapsLock if any modifiers other than Shift are present in a key.
39946         (Bug#24456)
39948 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
39950         Add tests for foreign completions in CSS mode
39952         * test/lisp/textmodes/css-mode-tests.el
39953         (css-test-foreign-completions): New test for
39954         `css--foreign-completions'.
39955         (css-test-complete-selector-tag): Rename test.
39956         (css-test-complete-selector-class): New test testing completion of
39957         class names in selectors.
39958         (css-test-complete-selector-id): New test testing completion of IDs in
39959         selectors.
39961 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
39963         Cosmetic change to last mm-url change
39965         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
39966         Tweak last change slightly for more readability.
39968 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
39970         Fix problem with submitting binary data via HTTP forms
39972         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
39973         Document the parameters, clean up the code, and make uploading
39974         binary data really work (which it didn't if the binary bits
39975         were in the last part of the data).
39977 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
39979         * lisp/time.el (display-time-string-forms): Fix custom type.
39981 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
39983         Derive Man and WoMan modes from special-mode
39985         * lisp/man.el (Man-mode-map): Set parent to map composed from both
39986         button-buffer-map and special-mode-map.  Remove redundant bindings.
39987         Fix menu to refer to the quit-window command.
39988         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
39989         buffer-read-only binding.
39990         (Man-quit): Remove.
39991         * lisp/woman.el (woman-really-find-file): Use setq-local.
39992         (woman-mode-map): Refer to woman-mode in docstring.
39993         (woman-mode): Derive from special-mode.  Document woman-mode-map in
39994         docstring.  Use setq-local where possible; imenu-generic-expression is
39995         already buffer-local.
39996         (woman-negative-vertical-space): Replace unused binding with _.
39998 2016-10-13  Philipp Stephani  <phst@google.com>
40000         Fix crash in evaluating functions
40002         See Bug#24673
40004         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
40005         as (closure).
40007         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
40009 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
40011         Add test for Bug#24627
40013         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
40015 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
40017         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
40019 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40021         Work around Samba bug with ':' in symlink contents
40023         * src/filelock.c (current_lock_owner): When reading the contents
40024         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
40026 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
40028         If autoloads buffer is unchanged, mark it as such (bug#23692)
40030         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
40031         If autoloads buffer is unchanged, mark it as such (bug#23692).
40033 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
40035         Use "26.1" version string in Tramp, fix some comments
40037         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
40038         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
40039         Use "26.1" version string.
40041 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
40043         form-at-point work for all kind of THINGS
40045         * lisp/thingatpt.el (form-at-point):
40046         Use thing-at-point--read-from-whole-string only if thing-at-point
40047         returns a string (Bug#24605).
40049 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
40051         Fix compilation warnings on MS-Windows
40053         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
40054         definitions of these macros, which seem to be unneeded and cause
40055         compiler warnings.
40056         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
40057         macros.
40058         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
40059         make it external, to avoid compiler warning.
40061 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40063         Spelling and clarity fixes
40065 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40067         Merge from origin/emacs-25
40069         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
40070         44e402e Allow to disable compaction of font caches
40071         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
40072         c03d44b ; Fix last commit
40073         d4be4f3 ; Fix indexing in lispref manual
40074         ed399f2 ; Minor improvement in documentation of generators
40075         197a6bc Fix horizontal scrolling during Isearch
40076         3566644 Fix infloop in redisplay due to truncated lines and invisible...
40078         # Conflicts:
40079         #       etc/NEWS
40081 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40083         Merge from origin/emacs-25
40085         c4a5e7e Improve documentation of 'menu-bar-open'
40087 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40089         Merge from origin/emacs-25
40091         4b347fe Clarify that doc fixes are okay in feature freeze
40092         01669ad Avoid crashes when setting the cursor
40093         f2144ee Restore 'command-debug-status' functionality
40094         ec6e4b9 ; Minor addition to CONTRIBUTE
40096 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40098         Merge from origin/emacs-25
40100         74b4f13 Document nil args of compare-buffer-substrings
40101         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
40102         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
40104 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40106         Merge from origin/emacs-25
40108         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
40109         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
40110         bbf1ffd Regexp Functions doc minor fixes
40112 2016-10-08  Philipp Stephani  <phst@google.com>
40114         Don’t consider nested let-alist forms
40116         See Bug#24641.
40118         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
40119         consider symbols in nested ‘let-alist’ forms.
40121         * test/lisp/emacs-lisp/let-alist-tests.el
40122         (let-alist--deep-dot-search--nested): Add a unit test.
40124 2016-10-08  Alain Schneble  <a.s@realize.ch>
40126         Support SIGTRAP in kill emulation on Windows
40128         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
40129         'DebugBreakProcess' to cause a breakpoint exception to occur in the
40130         specified process.  On Windows versions prior to Windows XP that do
40131         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
40132         (as opposed to EINVAL before this change).
40133         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
40134         and global variable to track state of run-time dynamic linking of this
40135         function.
40137         * etc/NEWS: Add entry to document that 'signal-process' now supports
40138         SIGTRAP.
40140 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
40142         Deprecate 'wp' group and introduce a new group 'text'
40144         * lisp/textmodes/tildify.el (tildify):
40145         * lisp/textmodes/text-mode.el (text-mode-hook):
40146         * lisp/textmodes/table.el (table):
40147         * lisp/textmodes/rst.el (rst):
40148         * lisp/textmodes/refer.el (refer):
40149         * lisp/textmodes/refbib.el (refbib):
40150         * lisp/textmodes/picture.el (picture):
40151         * lisp/textmodes/nroff-mode.el (nroff):
40152         * lisp/textmodes/enriched.el (enriched):
40153         * lisp/textmodes/bib-mode.el (bib):
40154         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
40155         * lisp/nxml/rng-valid.el (relax-ng):
40156         * lisp/view.el (view):
40157         * lisp/ps-print.el (ps-print):
40158         * lisp/printing.el (printing):
40159         * lisp/outline.el (outlines):
40160         * lisp/lpr.el (lpr):
40161         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
40162         * lisp/cus-edit.el (wp): Remove the "text" tag.
40163         (text): New defgroup, inherits from the deprecated 'wp'.
40164         (outlines): Remove, in favor of the definition in outline.el.
40165         (tex): Inherit from 'text'.
40166         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
40168 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
40170         Extend dictionary and library-directory handling for Ispell
40172         * lisp/textmodes/ispell.el (ispell-check-version): Allow
40173         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
40174         ISPELL_DICTDIR).
40175         (ispell-valid-dictionary-list): If the -d option to Ispell
40176         specifies an absolute file name, use that regardless of
40177         ispell-library-directory.  (Bug#24439)
40179 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
40181         Fix unescaped \begin{...} in docstring
40183         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
40184         \begin{...} in docstring.
40186 2016-10-06  Noah Friedman  <friedman@splode.com>
40188         Update comment.
40190 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
40192         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
40194         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
40195         defining to avoid redefinition warnings.
40197         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
40198         inclusion of sys/stat.h from the system headers, which could then
40199         lead to compilation errors due to redefinition of 'struct stat'
40200         etc.  This is needed because latest versions of MinGW runtime
40201         include sys/stat.h from wchar.h.
40203         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
40204         redefine to 4 to avoid conflict between 2 definitions of
40205         MemoryBarrier.  (Bug#24613)
40207 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
40209         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
40211 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
40213         Autoload entry point testcover-start
40215         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
40216         testcover-start.
40218 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40220         Bump version of ntlm.el to 2.1.0
40222         * lisp/net/ntlm.el: Bump version to 2.1.0.
40224 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40226         lisp/net/ntlm.el: Fix comment and docstring formatting
40228 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
40230         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
40232         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
40233         "negotiate domain supplied" bit when a domain is supplied.  Do
40234         not set "negotiate workstation supplied" bit.
40235         (ntlm-build-auth-response): Set domain to empty string by
40236         default.  Set workstation name to "WORKSTATION".  Set flags to
40237         logical and of Type 1 and Type 2 message flags.  Remove four
40238         trailing 0 bytes.  Always set LM response.  Hard-code domain
40239         offset.  Reorder buffer fields.
40241 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
40243         Document return value of `display-buffer-in-side-window'
40245         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
40246         * lisp/window.el (display-buffer-in-side-window): Describe
40247         return value of `display-buffer-in-side-window'.
40249 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
40251         Improve wording in side windows documentation
40253         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
40254         (Side Window Options and Functions)
40255         (Frame Layouts with Side Windows): Minor wording improvements.
40257 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
40259         Document and fix some bugs with side windows
40261         Add a documentation for side windows and fix some bugs
40262         found when testing their behavior.  Also add a new window
40263         parameter `no-delete-other-window', a new `display-buffer'
40264         alist member called `window-parameters', and functions to
40265         toggle and reverse side windows on a frame.  Add new function
40266         `window-swap-states' to exchange states of two live windows.
40268         * lisp/window.el (display-buffer-in-atom-window): Use
40269         `split-window-no-error'.
40270         (window-sides-vertical): Maybe change layouts when setting this
40271         variable.
40272         (window-sides-reversed): New option.
40273         (window-sides-slots): Rewrite doc-string and help echoes.
40274         (window-sides-shown): New buffer-local variable set when showing
40275         a buffer in a side window.
40276         (window--sides-inhibit-check): New variable.
40277         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
40278         (window--sides-reverse-all, window--sides-reverse-frame)
40279         (window--sides-reverse-side, window--sides-reverse)
40280         (window--sides-verticalize-frame, window--sides-verticalize)
40281         (window--sides-check-failed): New functions.
40282         (window--side-window-p): Remove function.
40283         (window--major-non-side-window): Rename to `window-main-window',
40284         adjust callers, rewrite doc-string.
40285         (window--major-side-window): Rename to
40286         `window--make-major-side-window-next-to', adjust caller, fix
40287         doc-string.
40288         (display-buffer-in-major-side-window): Rename to
40289         `window--make-major-side-window', adjust
40290         caller, rewrite doc-string.  Make `window-side' and
40291         `window-slot' parameters persistent (Bug#23858).  Don't set
40292         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
40293         (delete-side-window): Remove function.
40294         (display-buffer-in-side-window): Fix doc-string.  Don't set
40295         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
40296         (window--side-check): Rename to window--sides-check.  Rewrite
40297         completely.  Adjust caller.
40298         (window-resize-no-error): Don't describe PIXELWISE argument.
40299         (adjust-window-trailing-edge): Fix bug that disallowed
40300         re-enlarging windows that were too small.
40301         (window-deletable-p): Don't tell that a minibuffer window on a
40302         non-minibuffer-only frame can be deleted.  Fix doc-string.
40303         (delete-window): Handle deleting a side window here (the
40304         `delete-window' parameter is no more set for side windows).
40305         (delete-other-windows): Handle ‘no-delete-other-window'
40306         parameter. Don't treat side windows separately (see discussion
40307         of Bug#24368) but keep optimization that makes the main window
40308         the root window of its frame.
40309         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
40310         windows and buffers shown in side windows separately.
40311         (split-window-no-error): New function.
40312         (window--state-get-1): Use right buffer when storing window
40313         point and start positions and WRITABLE is nil (Bug#24368).
40314         (window--state-put-1): Fix handling of `window-combination-limit'.
40315         Use `split-window-no-error'.
40316         (window--state-put-2): Try to restore windows with preserved
40317         size to their original size.  Fix bug where a fixed window's width
40318         was not preserved.
40319         (window-state-put): When reducing an internal window to a live
40320         one, don't choose a side window.
40321         (window-swap-states): New function.
40322         (window-splittable-p): Don't call `window--side-window-p'.
40323         (window--display-buffer): Handle `window-parameters' ALIST entry.
40324         Minor rewrite.
40325         (display-buffer): Mention `window-parameters' entry in
40326         doc-string.
40327         (display-buffer-at-bottom): Call `split-window-no-error'.
40329         * doc/lispref/elisp.texi (Top): New section "Side Windows".
40330         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
40331         of `delete-window' and `delete-other-windows' wrt window
40332         parameters and side windows.
40333         (Display Action Functions): Mention `window-parameters' ALIST
40334         entry.
40335         (Side Windows): New section (Bug#18170).
40336         (Window Configurations): Describe new function `window-swap-states'.
40337         (Window Parameters): Say that functions may behave specially when
40338         their homonymous window parameter has been set.  Mention new
40339         parameter `no-delete-other-window'.  Add cross reference for
40340         `window-side' and `window-slot' parameters.
40342 2016-10-04  John Wiegley  <johnw@newartisans.com>
40344         Add documentation note from Alex
40346 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
40348         Avoid dynamic binding on a symbol
40350         Instead, bind history in the default minibuffer-history.
40351         Fixes bug#24580.
40352         * lisp/replace.el (query-replace-read-from): Let-bind
40353         minibuffer-history.  Change read-regexp and read-from-minibuffer's
40354         HISTORY arguments to nil so that they use minibuffer-history.
40356 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
40358         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
40360         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
40361         deleting the old buffer content.
40362         * src/lisp.h (del_range_byte):
40363         * src/insdel.c (del_range_byte): Drop the last argument.
40364         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
40366 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
40368         Ibuffer: 'w' and 'B' default to buffer at current line
40370         See discussion in:
40371         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
40372         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
40373         return buffers near current line.
40374         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
40375         Add argument ARG; if a non-zero integer, return next ARG buffers.
40376         Otherwise return the marked buffers.
40377         If there are not marked buffers, return buffer at current line
40378         without prompting the user.
40379         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
40380         Append to kill ring when last command was a kill-region.
40381         (ibuffer-copy-filename-as-kill): Idem.
40382         Simplify the code.
40383         Use ibuffer-buffer-file-name instead of buffer-file-name to
40384         include buffers in Dired mode.
40386 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
40388         dired-mark-extension: Unmark if called with C-u prefix
40390         See discussion in #Bug2518 and:
40391         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
40392         * lisp/dired-x.el (dired-mark-extension):
40393         Update interactive calls: a prefix arg C-u unmark files;
40394         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
40395         (dired-mark-sexp):
40396         Show in the prompt that we are unmarking if called with a prefix argument.
40397         * doc/misc/dired-x.texi (Advanced Mark Commands):
40398         Update documentation for 'dired-mark-extension'.
40400 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
40402         Document yank behavior in the right place
40404         * lisp/simple.el (yank): Document the handling of the
40405         `yank-handled-properties' and `yank-excluded-properties' variables,
40406         and the `yank-handler' text property.
40407         (yank-pop): Refer to `yank' now (bug#286)
40409         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
40410         (insert-for-yank-1): Refer to `insert-for-yank' now.
40412         See this thread for discussion:
40414           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
40415           From: Karl Fogel
40416           To: Emacs Devel
40417           Subject: Question about intended behavior of 'insert-for-yank-1'.
40418           Date: Mon, 12 Sep 2016 00:17:14 -0500
40419           Message-ID: <874m5lr92d.fsf@red-bean.com>
40421 2016-10-02  Philipp Stephani  <phst@google.com>
40423         Restart blink cursor timers on interval changes
40425         This prevents surprising behavior when timer interval customizations are
40426         only applied whenever the timers happen to be restarted (see Bug#24372).
40428         * lisp/frame.el (blink-cursor--start-idle-timer)
40429         (blink-cursor--start-timer): New functions.
40430         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
40431         the new helper functions.
40432         (blink-cursor-delay, blink-cursor-interval): Restart timers when
40433         the value is changed.
40435 2016-10-01  Philipp Stephani  <phst@google.com>
40437         Use a simple keyword for a non-nil argument
40439         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
40440         and non-nil values are distinguished.  Passing a number here is
40441         confusing.  Pass a descriptive symbol instead.
40443         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
40444         :repeat symbol instead of number for second argument of
40445         `run-with-idle-timer'
40447 2016-10-01  Philipp Stephani  <phst@google.com>
40449         Make querying to kill processes customizable
40451         Introduce a new customization option, `confirm-kill-processes', that
40452         users can set to nil if they don't want Emacs to nag them about killing
40453         processes.
40455         * lisp/files.el (confirm-kill-processes): New customization option.
40456         (save-buffers-kill-emacs): Use customization option.
40458         * test/lisp/files-tests.el
40459         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
40460         test for new customization option.
40462         * doc/emacs/entering.texi (Exiting): Document new user option.
40464         * doc/lispref/processes.texi (Query Before Exit): Document new
40465         user option.
40467         * etc/NEWS: Document new user option.
40469 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
40471         Set :version of 'debugger-stack-frame-as-list'
40473         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
40474         the ':version' attribute.
40476 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
40478         Bump Emacs version to 26.0.50
40480         * README:
40481         * configure.ac:
40482         * etc/NEWS:
40483         * etc/refcards/ru-refcard.tex:
40484         * msdos/sed2v2.inp:
40485         * src/msdos.c: Increment Emacs version to 26.0.50.
40486         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
40487         moved to etc/NEWS.
40489 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
40491         Avoid compilation warning on MinGW
40493         * src/w32.c: Include string.h, needed for the prototype of
40494         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
40495         warning about "no previous prototype".  The string.h header
40496         must be included after ms-w32.h, but before "#undef strerror".
40498 2016-09-30  Alan Third  <alan@idiocy.org>
40500         Fix compatibility with macOS 10.12 pmset (bug#24537)
40502         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
40503         present in output.
40505 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
40507         Limit <config.h>’s includes
40509         This follows up on recent problems with the fact that config.h
40510         includes stdlib.h etc.; some files need to include stdlib.h later.
40511         config.h generally should limit itself to includes that are
40512         universally safe; outside of MS-Windows, only stdbool.h makes
40513         the cut among the files currently included.  So, move the
40514         other includes to just the files that need them (Bug#24506).
40515         * configure.ac (config_opsysfile): Remove, as this generic hook
40516         is no longer needed.
40517         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
40518         * src/w32proc.c (_GNU_SOURCE):
40519         Remove, as it’s OK for config.h to do this now.
40520         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
40521         config_opsysfile, for simplicity as this old way of configuring is
40522         now done only for the MS-Windows port.  Do not include <ms-w32.h>
40523         if DEFER_MS_W32_H, for the benefit of the few files that want its
40524         effects later.  Do not include <alloca.h>, <string.h>, or
40525         <stdlib.h>.  Other files modified to include these headers as
40526         needed, or to not include headers that are no longer needed.
40527         * src/lisp.h: Include <alloca.h> and <string.h> here, since
40528         some of the inline functions need them.
40529         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
40530         we can rely on SAFE_ALLOCA.)  There is no longer any need to
40531         worry about HAVE_ALLOCA_H.
40532         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
40533         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
40534         Define before including <config.h> first, and include <ms-w32.h>
40535         after the troublesome headers.
40537 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
40539         New user option 'debugger-stack-frame-as-list'
40541         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
40542         variable.
40543         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
40544         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
40545         backtrace processing for the value of debugger-stack-frame-as-list.
40546         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
40547         processing for the value of debugger-stack-frame-as-list.
40548         * doc/lispref/debugging.texi (Internals of Debugger): Document
40549         debugger-stack-frame-as-list.
40550         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
40552 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
40554         * src/alloc.c: call only non-null finalizers
40556 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
40558         Avoid compiler warnings in image.c on MS-Windows
40560         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
40561         warning about unused macros.
40563 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
40565         * lisp/outline.el (outline-invisible-p): Only return `t' for
40566         the 'outline property.
40568 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
40570         Fix problems found by static checking --with-ns
40572         This is for Fedora 24 when configured with --enable-gcc-warnings.
40573         Although it does not fix all the problems, it fixes many of them.
40574         * src/frame.c (XParseGeometry):
40575         * src/nsterm.m (mouseDown:):
40576         Mark locals with UNINIT to pacify --enable-gcc-warnings.
40577         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
40578         Remove unused macros.
40579         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
40580         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
40581         (xpm_put_color_table_v, xpm_get_color_table_v)
40582         (xpm_make_color_table_h, xpm_put_color_table_h)
40583         (xpm_get_color_table_h, xpm_load_image, xpm_load)
40584         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
40585         (svg_load_image):
40586         * src/nsfns.m (x_get_string_resource):
40587         * src/nsimage.m (ns_image_from_XBM):
40588         Fix pointer signedness problems.
40589         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
40590         (imagemagick_load_image): Omit unused locals.
40591         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
40592         (Fx_open_connection):
40593         * src/nsfont.m (ns_antialias_threshold):
40594         Move extern decl to nsterm.h so it can be checked.
40595         * src/nsmenu.m (svcsMenu, dockMenu):
40596         Move to the only file that uses them, so they can be static.
40597         * src/nsterm.h (find_and_call_menu_selection):
40598         * src/nsterm.m (x_set_frame_alpha):
40599         Omit duplicate decls.
40600         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
40601         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
40602         (ns_set_name_as_filename, x_set_menu_bar_lines)
40603         (x_set_tool_bar_lines, x_set_internal_border_width):
40604         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
40605         Now static.
40606         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
40607         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
40608         Remove; unused.
40609         * src/nsfont.m (ns_dump_glyphstring):
40610         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
40611         (ns_clear_frame, keyDown:):
40612         Fix signedness problem with printf arg.
40613         * src/nsterm.h (ns_input_events, ns_finish_events):
40614         * src/nsterm.m (ns_finish_events, hide_bell):
40615         Prototype the decls.
40616         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
40617         Omit unnecessary decl.
40618         (dockMenu):
40619         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
40620         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
40621         (toggleFullScreen:): Use FACE_FROM_ID instead of
40622         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
40623         result to be non-null.
40624         (applicationShouldTerminate:): Fix misleading indentation.
40626 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
40628         Turn on more lexical-binding
40630         * lisp/dom.el:
40631         * lisp/faces.el:
40632         * lisp/htmlfontify.el: Turn on lexical-binding.
40633         (htmlfontify-string): Use pushnew instead of add-to-list.
40634         * lisp/info-xref.el:
40635         * lisp/isearch.el:
40636         * lisp/man.el:
40637         * lisp/ps-def.el:
40638         * lisp/ps-print.el:
40639         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
40640         time.
40641         (multi-occur): Use cl-pushnew instead of add-to-list.
40642         (replace-match-string-symbols): Remove unused lexical variable.
40643         (replace-search, replace-highlight): Fix argument shadowing.
40644         * lisp/sort.el:
40645         * lisp/xml.el: Turn on lexical-binding.
40646         (xml--parse-buffer): Use push instead of add-to-list.
40647         * lisp/xt-mouse.el: Turn on lexical-binding.
40649 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
40651         * admin/notes/bug-triage: Do not mention closed bugs
40653         * admin/notes/bug-triage: Do not mention closed bugs, they are
40654         suppressed by default in debbugs-{gnu,org}.
40656 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
40658         * etc/PROBLEMS: Remove problem Bug#22814, again.
40660 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40662         Stick with debbugs-supported tags in triage
40664         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
40665         debbugs supports, rather than suggesting "doneunreproducible" or
40666         "unreproducable".
40668 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40670         Merge from origin/emacs-25
40672         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
40673         c14a1d4 Minor copyedits of MS-Windows installation instructions
40674         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
40676         # Conflicts:
40677         #       lisp/minibuffer.el
40679 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40681         Merge from origin/emacs-25
40683         0ae9a81 Document 'timerp'
40684         2c72c46 Improve documentation of overlay priorities
40685         f6fa160 Fix 'dired-compress-files'
40686         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
40688         # Conflicts:
40689         #       lisp/dired.el
40690         #       src/buffer.h
40691         #       src/character.h
40693 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40695         Merge from origin/emacs-25
40697         cf9e174 Document the optional zlib library in MS-Windows builds
40698         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
40699         73c67dd Fix tagging of DEFUN by etags
40700         ea1960b Avoid resetting track-mouse by mouse clicks
40701         505fef3 Improve nt/README.W32 instructions
40702         1229cc4 Document that desktop file overrides frame parameters
40703         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
40705         # Conflicts:
40706         #       ChangeLog.2
40707         #       admin/notes/unicode
40708         #       lisp/ldefs-boot.el
40710 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40712         Merge from origin/emacs-25
40714         0ffc9ce Update admin/authors.el
40715         0ad7410 Update Antinews in ELisp manual
40716         ea0f750 Fix comments on window height macros
40717         0bbdeed Fix 'url-http-create-request' when cookies are used
40718         0045998 Fix cross reference in frames.texi
40719         1392894 ; * etc/DEBUG: Minor copyedits.
40720         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
40721         56bf7d7 Fix regexp-opt documentation (bug #17862)
40722         803ad6f ; Fix documentation of seq-subseq
40723         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
40724         88ea396 ; Spelling fixes
40725         17197d0 Fix tags-query-replace docstring
40726         80a7f8b Clarify documentation of precision in format specs
40727         88a5052 Improve and clarify documentation of subprocesses
40728         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
40730         # Conflicts:
40731         #       etc/PROBLEMS
40732         #       src/process.c
40734 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
40736         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
40738 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40740         Fix 'dired-mark-extension' with prefix argument
40742         * lisp/dired-x.el (dired-mark-extension): Allow to specify
40743         MARKER-CHAR interactively as a string, not as a character's
40744         codepoint.  (Bug#24518)
40746         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
40747         behavior when invoked with a prefix arg.
40749 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
40751         Support completion of classes and IDs in CSS mode
40753         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
40754         holding the function to call for retrieving completions of class
40755         names.
40756         (css-id-list-function): New variable holding the function to call for
40757         retrieving completions of IDs.
40758         (css--foreign-completions): New function for retrieving completions
40759         from other buffers.
40760         (css--complete-selector): Support completing HTML class names and IDs
40761         from other buffers in addition to completing HTML tags.
40763         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
40764         variable holding a cache for `html-current-buffer-classes'.
40765         (html--buffer-ids-cache): New variable holding a cache for
40766         `html-current-buffer-ids'.
40767         (html-current-buffer-classes): New function returning a list of class
40768         names used in the current buffer.
40769         (html-current-buffer-ids): New function returning a list of IDs used
40770         in the current buffer.
40771         (html-mode): Set `css-class-list-function' and `css-id-list-function'
40772         to `html-current-buffer-classes' and `html-current-buffer-ids'
40773         respectively.
40775 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40777         Update test suite files due to removal of test/lisp/legacy
40779         * test/README: Reference file-organization.org.
40780         * test/file-organization.org: Remove the description of files in
40781         the lisp/legacy/ directory.
40783 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40785         Incorporate syntax-tests in lisp-tests.
40787         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
40788         test/lisp/legacy/syntax-tests.el.
40789         * test/lisp/legacy/syntax-tests.el: File deleted.
40791 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40793         Incorporate occur-tests in replace-tests
40795         * test/lisp/replace-tests.el: Add tests from
40796         test/lisp/legacy/occur-tests.el.
40797         * test/lisp/legacy/occur-tests.el: File deleted.
40799 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40801         Incorporate lexbind-tests.el in bytecomp-test.el
40803         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
40804         test/lisp/legacy/lexbind-tests.el.
40805         * test/lisp/legacy/lexbind-tests.el: File deleted.
40807 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
40809         Improve integer overflow handling a bit
40811         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
40812         The machine code is the same on my platform.
40813         * src/doprnt.c (doprnt):
40814         * src/emacs-module.c (module_funcall):
40815         * src/font.c (font_intern_prop):
40816         * src/keyboard.c (Frecursion_depth):
40817         * src/lread.c (read1):
40818         Use WRAPV macros instead of checking overflow by hand.
40819         * src/editfns.c (hi_time, time_arith, decode_time_components):
40820         * src/emacs-module.c (Fmodule_load):
40821         Simplify by using FIXNUM_OVERFLOW_P.
40822         * src/emacs-module.c: Include intprops.h.
40823         * src/xdisp.c (percent99): New function.
40824         (decode_mode_spec): Use it to simplify overflow avoidance and
40825         formatting of %p and %P.
40827 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40829         Incorporate core-elisp-tests in lisp-tests
40831         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
40832         test/lisp/legacy/core-elisp-tests.el.
40833         * test/lisp/legacy/core-elisp-tests.el: File removed.
40835 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
40837         Move coding-tests.el and decoder-test.el to their places
40839         * test/src/coding-tests.el: Added all the tests from
40840         test/lisp/legacy/decoder-tests.el.
40841         * test/lisp/legacy/decoder-tests.el: File deleted.
40843 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
40845         Use correct TYPE value for displaying error messages in (erc-display-message)
40847 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
40849         Bump the version to 25.2.50
40851         * README:
40852         * configure.ac:
40853         * etc/NEWS:
40854         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
40856 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
40858         ibuffer-do-view-other-frame: Display each buffer in a new frame
40860         * lisp/ibuffer.el (ibuffer-do-view-1):
40861         When TYPE equals 'other-frame, then display each buffer
40862         in a new frame (Bug#24086).
40864 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
40866         Update from gnulib
40868         This incorporates:
40869         2016-09-22 stdint: port to GCC 7
40870         2016-09-22 limits-h, stdint: don't assume extensions
40871         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
40873 2016-09-22  Alan Mackenzie  <acm@muc.de>
40875         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
40877 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
40879         Port recent flexmember changes to NetBSD
40881         The NetBSD library supports localtime_rz directly, and without
40882         this change 'configure' omitted the flexmember test that is marked
40883         as conditional on localtime_rz.  Emacs now needs to use
40884         flexmember.m4 even when localtime_rz works.
40885         Problem reported by Thomas Klausner.
40886         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
40887         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
40889 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
40891         * doc/misc/texinfo.tex: Copy from gnulib.
40893 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
40895         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
40897 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
40899         Use flexmembers on IBM XL C for AIX
40901         This removes a workaround where Emacs did not use flexible
40902         array members when compiled with IBM XL C.  Instead, avoid
40903         the problem by making the aliasing issues more obvious to
40904         this compiler.
40905         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
40906         * m4/flexmember.m4: Copy from gnulib.
40907         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
40908         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
40909         problem that would otherwise mess up code generated for flexible
40910         array members by IBM XL C for AIX, V12.1.
40911         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
40912         by gnulib code.
40914 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
40916         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
40918         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
40919         `tramp-drop-volume-letter' any longer, it causes collateral
40920         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
40922 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
40924         Port January __morecore changes to AIX 7.1
40926         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
40927         (__after_morecore_hook):
40928         * src/ralloc.c (__morecore):
40929         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
40930         not defined.  <malloc.h> does not declare these in AIX 7.1.
40932 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
40934         Define _GNU_SOURCE in files delaying config.h
40936         Problem reported by Richard Copley in:
40937         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
40938         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
40939         Define early.
40941 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
40943         Update the bidi test code and data
40945         * test/manual/BidiCharacterTest.txt: Import the version from
40946         Unicode Standard 9.0.0.
40947         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
40948         in the 4th field of the test data.
40950 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
40952         ibuffer-do-toggle-read-only: Fix unused argument
40954         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
40955         'read-only-mode' with ARG when its an integer.
40956         Clarify the meaning of ARG in doc string.
40958 2016-09-17  Alan Mackenzie  <acm@muc.de>
40960         Improve accuracy of line/column numbers in byte compiler's warning messages.
40962         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
40963         value of byte-compile-last-position is not lower than old value.
40964         (byte-compile-function-warn): call byte-compile-set-symbol-position.
40966 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
40968         Minor Tramp tweaks
40970         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
40971         property "process-buffer" if already existing.
40972         (tramp-connectable-p): Suppress debug messages.
40974 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
40976         Define _GNU_SOURCE in unexmacosx.c
40978         Problem reported by Bob Halley in:
40979         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
40980         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
40982 2016-09-16  Alan Mackenzie  <acm@muc.de>
40984         C Mode: Fix mis-fontification of macro invocation as function declaration
40986         This happened with a macro invocation which was followed by a statement block
40987         in braces.
40989         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
40990         between contexts nil and top, being less permissive in the former case.
40991         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
40993 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
40995         Improve the doc string of 'format'
40997         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
40998         of a literal period.  (Bug#24407)
41000 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41002         Improve doc strings in whitespace.el
41004         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
41005         (global-whitespace-mode, global-whitespace-newline-mode): Improve
41006         the doc strings.  (Bug#24413)
41008 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
41010         Improve detectability of 'next-logical-line' and 'previous-logical-line'
41012         * lisp/simple.el (next-line, previous-line): Mention
41013         'next-logical-line' and 'previous-logical-line' in the doc
41014         strings.  (Bug#24443)
41016 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41018         Update from gnulib
41020         This incorporates:
41021         2016-09-16 extensions: fix typo in comment
41022         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
41023         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
41025 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41027         Prefer now-standard int width macros
41029         * src/data.c (ULL_WIDTH):
41030         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
41031         * src/lread.c (read_integer):
41032         * src/term.c (produce_glyphless_glyph):
41033         * src/xterm.c (x_send_scroll_bar_event):
41034         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
41035         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
41036         with the *_WIDTH standard macros.  All uses changed.
41037         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
41038         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
41039         for consistency with the *_WIDTH standard macros.  All uses changed.
41040         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
41041         be the same as CHAR_WIDTH and avoids confusion with Elisp
41042         char-width, which counts columns not bits.
41043         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
41044         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
41045         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
41046         used directly.
41048 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41050         Update from gnulib
41052         This incorporates:
41053         2016-09-15 stdint: support new _WIDTH macros
41054         2016-09-15 limits-h: new module
41055         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
41056         2016-09-15 extensions: port to more ISO C TSes
41057         2016-09-13 intprops: new macro TYPE_WIDTH
41058         2016-09-13 extensions: port to recent ISO C TRs
41059         * .gitignore: Add lib/limits.h.
41060         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
41061         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
41062         * m4/sys_types_h.m4: Copy from gnulib.
41063         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
41064         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
41065         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
41067 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
41069         Rework fixing Bug#24432
41071         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
41072         "process-buffer" in order to mark connection as active.
41074         * lisp/net/tramp-cache.el (tramp-get-hash-table)
41075         (tramp-set-connection-property)
41076         (tramp-dump-connection-properties): Do not use "active" property.
41077         (tramp-list-connections): Use "process-buffer" property.
41079         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
41080         properties prior deletion of process.
41082 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
41084         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
41086         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
41088 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
41090         Avoid compiler warning on MS-Windows due to clone_file
41092         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
41093         call to it is not compiled in that build, and having it defined
41094         causes compiler warnings.
41096 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
41098         Avoid aborts in GC due to abort_on_gc
41100         * src/lisp.h:
41101         * src/print.c (Fprin1_to_string):
41102         * src/eval.c (signal_or_quit):
41103         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
41104         and testing the value of abort_on_gc.  It is no longer needed, and
41105         using it causes rare aborts in GC for no good reason.  (Bug#23912)
41107 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
41109         Fix Bug#24432
41111         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
41112         connection as inactive.
41113         (tramp-set-connection-property): Make the connection active.
41114         (tramp-dump-connection-properties): Don't save "active" property.
41115         (tramp-list-connections): List only active connections.  (Bug#24432)
41117 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
41119         Don't bug out on all-whitespace URLs
41121         * lisp/net/shr.el (shr-expand-url): Don't bug out on
41122         degenerate all-whitespace URLs.
41124 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
41126         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
41128         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
41129         Rename from sieve-manage-ignore-broken-tls.  If it is set,
41130         sieve-manage will never use STARTTLS even if the server says
41131         it is capable (but may be broken).
41133 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
41135         Port to ISO/IEC TS 18661-1:2014
41137         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
41138         All uses changed.
41140 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
41142         dired-jump: Expand file-name before dired-goto-file call
41144         Command dired-goto-file requires its argument to be an absolute
41145         file name.  Interactively FILE-NAME is read with read-file-name,
41146         which could return an abbreviated file name (Bug#24409).
41147         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
41148         Clarify in doc string the meaning of arg FILE-NAME.
41150 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
41152         Add test for Bug#21454
41154         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
41156 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
41158         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
41160 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
41162         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
41164         * lisp/net/sieve.el (sieve-edit-script):
41165         Make the buffer to edit be not modified-p initially (bug#24423).
41167 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
41169         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
41171         * lisp/net/sieve-manage.el
41172         (sieve-manage-ignore-broken-tls): New user option.
41173         (sieve-manage-open-server):
41174         Don't test STARTTLS capability if the option is set (bug#24422).
41176 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41178         Fix compiler thinking width and height may be unitialized in frame.c
41180         This fixes the following warning:
41182                 frame.c: In function ‘x_set_frame_parameters’:
41183                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
41184                         this function [-Werror=maybe-uninitialized]
41185                        adjust_frame_size (f, width_change ? width : -1,
41186                                  ^
41188         * src/frame.c (x_set_frame_parameters): Drop width_changed and
41189         height_changed variables in favor of storing that information in
41190         width and height variables.
41192 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41194         Fix compiler thinking tmpdir may be unitialized in emacsclient
41196         This fixes the following warning:
41198                 emacsclient.c: In function ‘set_local_socket’:
41199                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
41200                         ‘tmpdir’ may be used uninitialized in this function
41201                         [-Werror=maybe-uninitialized]
41202                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
41203                    ^
41204                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
41205                      const char *tmpdir;
41207         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
41208         variable and instead use tmpdir being non-NULL as sign that it should
41209         be used.
41211 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
41213         image-dired: Signal an error before calling a missing executable
41215         Reverts commit ca473907
41216         Add a defun to check if an executable exists, and call it
41217         on each function using an external program: when the executable
41218         is not available signal an error.
41219         See discussion on:
41220         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
41221         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
41222         Throw and error when the executable arg is missing.
41223         (image-dired-display-image, image-dired-rotate-thumbnail)
41224         (image-dired-rotate-original, image-dired-set-exif-data)
41225         (image-dired-get-exif-data):
41226         Use it.
41228 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
41230         Fix daemon shutdown when emacs-kill-hooks ask questions
41232         * lisp/server.el (server-start): Put the server's kill-emacs-hook
41233         last, to allow other hooks to have a frame to interact with the
41234         user.  (Bug#24326)
41236 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
41238         * src/casefiddle.c (casify_word): Simplify.
41240         * src/casefiddle.c (casify_word): Return Qnil.
41242 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
41244         Refactor common code in {upcase,downcase,capitalize}-word functions
41246         * src/casefiddle.c (operate_on_word): Removed in favor of…
41247         (casify_word) …new function which does what operate_on_word did plus
41248         what all of the common code from *-word functions.
41249         (upcase-word, downcase-word, capitalize-word): Move code common between
41250         those functions (pretty much the whole body of those functions) into
41251         casify_word and use that instead of now deleted operate_on_word.
41253 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
41255         * doc/lispref/files.texi: Remove @vindex.
41257 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
41259         Remove unnecessary ref to coreutils manual
41261         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
41263 2016-09-11  Alan Mackenzie  <acm@muc.de>
41265         Correctly fontify C++ direct initializations with parens inside functions
41267         Or, more clearly, when something looks like a function declaration and it's
41268         inside a function, fontify it as a direct initialization.
41270         For this purpose, introduce a "brace stack" for each buffer, where an entry on
41271         the brace stack states how deeply nested a particular position is inside
41272         braces inside a "top level", which includes classes and namespaces.
41274         Also introduce a new "context", "top", with which c-font-lock-declarations
41275         signals to c-forward-decl-or-cast-1 that point is at the top level.
41277         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
41278         c-truncate-bs-cache.
41279         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
41280         (c-type-decl-operator-prefix-key): new language constants/variables.
41282         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
41283         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
41284         stack cache.
41285         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
41286         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
41287         (c-find-decl-prefix-search): Keep track of whether we're at top level.
41288         (c-find-decl-spots): New local variable cfd-top-level which records what it
41289         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
41290         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
41291         to non-nil when a match for c-type-decl-operator-prefix-key is found.
41292         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
41293         Introduce "CASE 9.5", which recognizes direct initializations.
41295         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
41296         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
41297         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
41298         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
41299         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
41300         participate in the decision whether to fontify an identifier as a function or
41301         a variable.
41302         (c-font-lock-declarations): The internal lambda function takes an additional
41303         argument `toplev' from c-find-decl-spots, which it uses in determining the
41304         "context" of a declaration.  Add appropriate `not-top' argument to calls to
41305         c-font-lock-declarators.
41306         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
41307         like for c-font-lock-declarators.
41309         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
41310         cache.
41312 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
41314         Avoid signaling errors when computing "Stop" in GDB menu
41316         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
41317         'gdb-running-threads-count' must have a numeric value.
41318         (Bug#24414)
41320 2016-09-11  Philipp Stephani  <phst@google.com>
41322         Stop calling ‘byte-compile-log-warning’
41324         For errors, use ‘byte-compile-report-error’ instead so that the error
41325         is registered and causes compilation to fail (Bug#24359).
41327         For warnings, use ‘byte-compile-warn’ instead so that
41328         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
41330         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
41331         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
41332         ‘byte-compile-log-warning’.
41334         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
41335         (byte-compile-setq, byte-compile-funcall): Use
41336         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
41337         (byte-compile-log-warning): Convert comment to documentation
41338         string.  Explain that the function shouldn’t be called directly.
41339         (byte-compile-report-error): Add optional FILL argument.
41341         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
41342         (cconv--analyze-function, cconv-analyze-form): Use
41343         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
41345         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
41346         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
41348         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
41349         of ‘byte-compile-log-warning’.
41350         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
41351         ‘byte-compile-log-warning’.
41353 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41355         * etc/NEWS: Remove comment lost in emacs-25 merge.
41357 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41359         Document file synchronization issues
41361         * doc/lispref/files.texi (Files and Storage): New section.
41363 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
41365         copy-file now uses GNU/Linux file cloning
41367         From a suggestion by Kieran Colford (see Bug#23904).
41368         * configure.ac: Check for linux/fs.h.
41369         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
41370         (clone_file): New function.
41371         (Fcopy_file): Use it.
41373 2016-09-10  Alan Third  <alan@idiocy.org>
41375         Invert y coord of NS image files (bug#7847)
41377         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
41378         when compositing.
41380 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
41382         Don't require isearch-update before isearch-done
41384         It is useful to be able to call `isearch-done' unconditionally to
41385         ensure a non-isearching state.
41387         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
41388         is a live buffer before using it (Bug #21091).
41389         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
41391 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
41393         * lisp/emacs-lisp/ring.el: Use lexical-binding
41395         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
41396         argument of `dotimes' when the iteration variable isn't referred by
41397         it.
41398         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
41399         since it's the default.
41401 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41403         Split regex character class test into smaller chunks
41405         Having one test for all character classes it is not always trivial to
41406         determine which class is failing.  This happens when failure is caused
41407         by ‘(should (equal (point) (point-max)))’ not being met.
41409         With per-character class tests, it is immidiatelly obvious which test
41410         causes issues plus tests for all classes are run even if some of them
41411         fail.
41413         * test/src/regex-tests.el (regex-character-classes): Delete and split
41414         into…
41415         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
41416         regex-tests-ascii-character-class, regex-tests-blank-character-class,
41417         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
41418         regex-tests-graph-character-class, regex-tests-lower-character-class,
41419         regex-tests-multibyte-character-class,
41420         regex-tests-nonascii-character-class,
41421         regex-tests-print-character-class, regex-tests-punct-character-class,
41422         regex-tests-space-character-class,
41423         regex-tests-unibyte-character-class,
41424         regex-tests-upper-character-class, regex-tests-word-character-class,
41425         regex-tests-xdigit-character-class): …new tests.
41427 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41429         Don’t allocate char-table’s extra slots in regexp-out-charset
41431         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
41432         'case-table as charmap char-table’s property.  The function has nothing
41433         to do with casing and in addition using 'case-table causes unnecessary
41434         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
41436 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41438         Remove dead loop iterations in regex.c
41440         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
41441         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
41442         for byte8 characters.  This means that
41444                 c = RE_CHAR_TO_MULTIBYTE (ch);
41445                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
41447         is equivalent to:
41449                 c = c;
41450                 if (! false && re_iswctype (c, cc))
41452         for 0 ⪬ c < 0x80, and
41454                 c = BYTE8_TO_CHAR (c);
41455                 if (! true && re_iswctype (c, cc))
41457         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
41458         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
41460         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
41461         dead iterations and unnecessary macro calls.
41463 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41465         Replace decimalnump with alphanumericp
41467         decimalnump was used in regex.c only in ISALNUM macro which ored it with
41468         alphabeticp.  Because both of those functions require Unicode general
41469         category lookup, this resulted in unnecessary lookups (if alphabeticp
41470         return false decimalp had to perform another lookup).  Drop decimalnump
41471         in favor of alphanumericp which combines decimelnump with alphabeticp.
41473         * src/character.c (decimalnump): Remove in favor of…
41474         (alphanumericp): …new function.
41476         * src/regex.c (ISALNUM): Use alphanumericp.
41478 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41480         Remove inaccurate comment in regex.c
41482         * src/regex.c (regex_compile): Remove comment indicating that wctype of
41483         some character classes may be negative.  All wctypes are in fact
41484         non-negative.
41486 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
41488         STRING_CHAR does not unify characters; update documentation
41490         * src/character.h (STRING_CHAR): Update doc.
41491         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
41492         the function to use BYTE_POS_ADDR instead of open-coding it.
41494 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
41496         Add tests for ring.el
41498         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
41500 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
41502         New file test/src/marker-tests.el
41504 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
41506         Port flexible array members to GCC + valgrind
41508         These changes are needed to conform to the C standard's rule for
41509         allocating structs containing flexible array members.  C11 says
41510         that malloc (offsetof (struct s, m) + n) does not suffice to
41511         allocate a struct with an n-byte tail; instead, malloc’s arg
41512         should be rounded up to the nearest multiple of alignof (struct s).
41513         Although this is arguably a defect in C11, gcc -O2 + valgrind
41514         sometimes complains when this rule is violated, and when debugging
41515         it’s better to keep valgrind happy.
41516         For details please see the thread containing the message at:
41517         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
41518         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
41519         Include flexmember.h.
41520         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
41521         (register_namespace_alias):
41522         * src/alloc.c (SDATA_SIZE, allocate_string_data):
41523         * src/image.c (xpm_cache_color, imagemagick_create_cache):
41524         * src/process.c (Fmake_network_process):
41525         Use FLEXSIZEOF instead of offsetof and addition.
41526         * src/alloc.c (SDATA_SIZE, vector_alignment):
41527         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
41528         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
41529         Remove, as alloc.c can now calculate this on its own.
41531 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
41533         Update from gnulib
41535         This incorporates:
41536         2016-09-07 flexmember: new macro FLEXALIGNOF
41537         2016-09-07 flexmember: port better to GCC + valgrind
41538         2016-08-18 Port modules to use getprogname explicitly
41539         2016-09-02 manywarnings: add -fno-common
41540         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
41541         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
41542         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
41543         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
41544         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
41545         * m4/manywarnings.m4: Copy from gnulib.
41546         * lib/flexmember.h: New file, from gnulib.
41547         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
41549 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
41551         Don't --load directories
41553         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
41554         of --load when it refers to a normal file, since `load' doesn't handle
41555         directories (Bug #16406).
41557 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
41559         Avoid error in icalendar--read-element
41561         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
41562         stack overflow by not using regex to extract values from calendar
41563         events. (Bug#24315)
41565 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
41567         Fix back-white <-> black-white typo
41569         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
41571 2016-09-07  Alan Third  <alan@idiocy.org>
41573         Fix cursor at bottom left of rectangle (bug#24364)
41575         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
41576         require rectangle--point-crutches to be set.
41578 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
41580         Fix documentation of convert-standard-filename on MS-Windows
41582         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
41584         * etc/NEWS: Suggest a way for mirroring slashes where previously
41585         'convert-standard-filename' was used.
41587 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
41589         Use DEV_TTY more consistently
41591         * src/conf_post.h (DEV_TTY): Move from here ...
41592         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
41593         to be visible everywhere.  Make it a constant.
41594         * src/keyboard.c (handle_interrupt, Fset_quit_char):
41595         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
41597 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
41599         Avoid assertion violations when using marker positions
41601         * src/intervals.c (set_point_from_marker): If MARKER comes from
41602         another buffer, recalculate its byte position before using it to
41603         set point.
41604         * src/marker.c (set_marker_internal): If POSITION is a marker from
41605         another buffer, recalculate its byte position before using it.
41606         (Bug#24368)
41608 2016-09-06  Alan Mackenzie  <acm@muc.de>
41610         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
41612 2016-09-06  Alan Mackenzie  <acm@muc.de>
41614         New options for handling of literals in c-syntactic-re-search-forward
41616         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
41617         be given the values `before-literal' and `after-literal', so that when a
41618         search fails, and the `bound' is inside a literal, point is left respectively
41619         before or after that literal.
41621 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
41623         Avoid assertion violations when scrolling narrowed buffer
41625         * src/window.c (window_scroll_pixel_based):
41626         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
41627         start outside the accessible portion of the buffer.  This avoids
41628         assertion violations when some Lisp narrows the buffer to less
41629         than the current window, and then attempts to scroll the buffer.
41631 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
41633         Treat SIGINT correctly in GUI sessions on MS-Windows
41635         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
41636         supported by MS runtime.
41637         * src/term.c (DEV_TTY): Move from here ...
41638         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
41639         for WINDOWSNT and for the rest.
41640         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
41641         a literal "/dev/tty".
41643         * etc/NEWS: Mention the behavior change.
41645 2016-09-04  Alan Third  <alan@idiocy.org>
41647         Fix synthetic bold on macOS retina displays
41649         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
41650         factor by the OS window backing scale factor.
41652 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
41654         image-dired: Report when a necessary executable is not found
41656         See discussion on:
41657         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
41658         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
41659         (image-dired-cmd-create-thumbnail-program)
41660         (image-dired-cmd-create-temp-image-program)
41661         (image-dired-cmd-rotate-thumbnail-program)
41662         (image-dired-cmd-write-exif-data-program)
41663         (image-dired-cmd-read-exif-data-program):
41664         Use executable-find to set the default value of this option.
41665         (image-dired-cmd-rotate-original-program): Idem.
41666         Search for program 'convert' if 'jpegtran' is not available.
41667         (image-dired-cmd-rotate-original-options):
41668         Set the default value consistent with the executable in
41669         image-dired-cmd-rotate-original-program.
41670         (image-dired-create-thumb, image-dired-display-image)
41671         (image-dired-rotate-thumbnail, image-dired-rotate-original)
41672         (image-dired-set-exif-data, image-dired-get-exif-data):
41673         Throw and error when the executable used in the function is missing.
41674         (image-dired-next-line, image-dired-previous-line):
41675         Use 'forward-line'.
41677 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
41679         image-type-from-file-name: Perform a case insensitive match
41681         Fix Bug#24317
41682         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
41683         to a non-nil value to force a case insensitive match.
41684         * lisp/image-dired.el (image-dired-rotate-original):
41685         Use image-type (Bug#24317).
41686         (image-dired-get-exif-file-name): Idem.
41687         Set 'no-exif-data-found' and 'data' in same setq call.
41688         Use file-attribute-modification-time.
41690 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
41692         image-increase-size: Fix non-interactive calls
41694         * lisp/image.el (image-increase-size, image-decrease-size):
41695         Compute a floating point division.
41696         Problem reported in:
41697         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
41699 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
41701         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
41703         Passing the prefix argument as the 3rd argument to 'call-interactively'
41704         causes the prefix argument to be interpreted as events, which is not
41705         only wrong, but also causes a type error, as 'current-prefix-arg' can
41706         never be a vector as 'call-interactively' expects.  'call-interactively'
41707         automatically passes its prefix argument to the called function, so just
41708         do that, eliminating faulty behavior.
41710         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
41711         (checkdoc-ispell-current-buffer):
41712         (checkdoc-ispell-interactive):
41713         (checkdoc-ispell-message-text):
41714         (checkdoc-ispell-start):
41715         (checkdoc-ispell-continue):
41716         (checkdoc-ispell-comments):
41717         (checkdoc-ispell-defun):
41718         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
41719         vector; merely allow it to propagate forward to the interactive call.
41721 2016-09-03  Richard Stallman  <rms@gnu.org>
41723         Fix mail-combine-fields
41725         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
41726         avoid losing our place in the search loop.
41728 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
41730         Check actual contents before promting about changed file
41732         * lisp/userlock.el (userlock--check-content-unchanged)
41733         (userlock--ask-user-about-supersession-threat): New functions.
41734         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
41735         * doc/lispref/buffers.texi (Modification Time): Update doc of
41736         ask-user-about-supersession-threat.
41738 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
41740         Make a reference to fakecygpty in the Tramp manual
41742         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
41743         fakecygpty on the Emacs Wiki.
41744         (Frequently Asked Questions): Fix url.
41746 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41748         Don’t create fd >= FD_SETSIZE
41750         This avoids a potential crash if too many subprocesses (Bug#24325).
41751         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
41752         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
41753         set it to FD_SETSIZE.
41755 2016-09-01  Alan Mackenzie  <acm@muc.de>
41757         Fix c-declaration-limits to return correct limits in all cases.
41759         This function is the guts of c-indent-defun and c-mark-function.
41761         In particular, when c-defun-tactic is nil, return a correct value rather than
41762         always nil, and when it's 'go-outward, go through an intricate algorithm to
41763         determine the requisite narrowing before the "top-level" defuns go to work.
41765         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
41766         to take additional optional parameter LEVEL, saying how many enclosing levels
41767         of decl-block to narrow to.
41768         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
41769         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
41770         lower bound.
41772 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
41774         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
41776 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
41778         Avoid compiler warnings with MinGW64 GCC 6
41780         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
41781         the GCC 6 builtin, to avoid warnings.  For more details, see
41782         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
41784 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41786         Fix over-substitution of quotes on error
41788         Problem reported by Tino Calancha in:
41789         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
41790         * src/print.c (print_error_message):
41791         Substitute quotes in errmsg only when gotten from a property.
41793 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41795         Improve testing of etags
41797         * test/manual/etags/y-src/cccp.c:
41798         * test/manual/etags/y-src/parse.c: Correct #line directives to
41799         allow testing invalidate_nodes in etags.c.
41800         * test/manual/etags/ETAGS.good_1:
41801         * test/manual/etags/ETAGS.good_2:
41802         * test/manual/etags/ETAGS.good_3:
41803         * test/manual/etags/ETAGS.good_4:
41804         * test/manual/etags/ETAGS.good_5:
41805         * test/manual/etags/ETAGS.good_6:
41806         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
41808 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41810         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
41812 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41814         Fix etags problems found by static checking
41816         * lib-src/etags.c (invalidate_nodes, put_entry):
41817         Remove now-unnecessary tests for null pointers.  Simplify.
41818         (put_entries): Rewrite to avoid GCC 6.2 warning about
41819         dereferencing null pointer.
41821 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41823         Fix a thinko in etags.c
41825         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
41826         a null pointer.
41828 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
41830         Avoid recursive calls in etags
41832         * lib-src/etags.c (stack_entry): New struct.
41833         (push_node, pop_node, put_entry): New functions.
41834         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
41835         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
41837 2016-08-31  Leo Liu  <sdl.web@gmail.com>
41839         Add 451 to url-http-codes
41841         * lisp/url/url-http.el (url-http-codes): Add 451.
41843 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
41845         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
41847 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41849         Minor doc quoting fixes
41851         * doc/misc/htmlfontify.texi (Interactive):
41852         * lisp/htmlfontify.el (htmlfontify-buffer):
41853         Spell out character names, for clarity.  The old doc string
41854         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
41855         stands for a form feed character; this was confusing.
41856         * lisp/electric.el (electric-quote-mode):
41857         * src/doc.c (syms_of_doc):
41858         * src/editfns.c (Fformat_message):
41859         Remove no-longer-necessary ‘\=’s in doc strings.
41861 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41863         Update from gnulib
41865         This incorporates:
41866         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
41867         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
41868         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
41869         2016-08-29 intprops.h: use __typeof__ with GCC 7
41870         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
41871         2016-08-24 intprops: fix paren typo on old platforms
41872         2016-08-24 intprops: port to OpenVMS
41873         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
41875 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
41877         Fix rules for \phi and \varphi which were reversed
41879         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
41880           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
41881           were reversed which is not true (anymore?).
41883 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
41885         Fix prettification of \phi, \varphi, and \varsigma
41887         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
41888           prettification of \phi, \varphi, and \varsigma.
41890         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
41891         \varsigma was commented out with a FIXME that it was reversed with
41892         \sigma which it was not.
41894 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
41896         Use normal double quotes in TeX / LaTeX comments
41898         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
41899           default to inserting a normal double quote (") instead of TeX-style
41900           open (``) or close ('') quote marks.
41902         * etc/NEWS (TeX mode): Note the change.
41904         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
41906         See this thread for discussion:
41908           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
41909           From: Karl Fogel <kfogel {_AT_} red-bean.com>
41910           To: Emacs Development <emacs-devel {_AT_} gnu.org>
41911           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
41912           Date: Mon, 29 Aug 2016 14:44:12 -0500
41913           Message-ID: <87twe3icmr.fsf@red-bean.com>
41915 2016-08-30  Alan Mackenzie  <acm@muc.de>
41917         Correctly analyze C++ list initialization in member init areas.
41919         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
41920         superfluous call to c-backward-syntactic-ws.
41921         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
41922         reports encountering the Java "new" keyword.  Add, as an alternative, a check
41923         that we can move back over member initializations, and handle this as finding
41924         a brace block.
41925         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
41926         new calling convention of c-looking-at-or-maybe-in-bracelist.
41927         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
41928         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
41929         using the extra info from the value of that function to generate a
41930         topmost-into-cont element where needed (in Java).
41932         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
41933         calling convention of c-looking-at-or-maybe-in-bracelist.
41935         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
41936         convention of c-looking-at-or-maybe-in-bracelist.
41938 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
41940         Use `file-attribute-*' in Tramp
41942         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
41943         (tramp-compat-file-attribute-link-number)
41944         (tramp-compat-file-attribute-user-id)
41945         (tramp-compat-file-attribute-group-id)
41946         (tramp-compat-file-attribute-modification-time)
41947         (tramp-compat-file-attribute-size)
41948         (tramp-compat-file-attribute-modes): New defaliases.
41950         * lisp/net/tramp.el (tramp-handle-file-modes)
41951         (tramp-handle-file-newer-than-file-p)
41952         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
41953         (tramp-handle-set-visited-file-modtime)
41954         (tramp-handle-verify-visited-file-modtime)
41955         (tramp-get-local-gid, tramp-check-cached-permissions):
41956         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
41957         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
41958         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
41959         (tramp-gvfs-handle-file-directory-p)
41960         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
41961         (tramp-gvfs-get-remote-gid):
41962         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
41963         (tramp-sh-handle-set-visited-file-modtime)
41964         (tramp-sh-handle-verify-visited-file-modtime)
41965         (tramp-sh-handle-file-newer-than-file-p)
41966         (tramp-sh-handle-file-ownership-preserved-p)
41967         (tramp-do-copy-or-rename-file)
41968         (tramp-do-copy-or-rename-file-via-buffer)
41969         (tramp-do-copy-or-rename-file-directly)
41970         (tramp-do-copy-or-rename-file-out-of-band)
41971         (tramp-sh-handle-file-local-copy)
41972         (tramp-sh-handle-write-region):
41973         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
41974         (tramp-smb-handle-copy-file)
41975         (tramp-smb-handle-file-directory-p)
41976         (tramp-smb-handle-file-writable-p)
41977         (tramp-smb-handle-insert-directory): Use them.
41979 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
41981         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
41983         * lisp/window.el (pop-to-buffer): Don't assume that
41984         `display-buffer' has supplied a window (Bug#24332).
41985         Rename BUFFER argument to BUFFER-OR-NAME.
41986         * doc/lispref/windows.texi (Switching Buffers): Fix
41987         `pop-to-buffer' documentation.
41989 2016-08-29  Alan Third  <alan@idiocy.org>
41991         Clarify docstrings
41993         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
41995 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
41997         Use `process-live-p' in Tramp
41999         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
42001         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
42002         (tramp-handle-file-notify-valid-p)
42003         (tramp-action-process-alive, tramp-action-out-of-band)
42004         (tramp-wait-for-regexp):
42005         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
42006         (tramp-adb-maybe-open-connection):
42007         * lisp/net/tramp-cache.el (tramp-get-connection-property):
42008         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
42009         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
42010         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
42011         * lisp/net/tramp-sh.el (tramp-process-sentinel)
42012         (tramp-sh-handle-file-notify-add-watch)
42013         (tramp-maybe-open-connection):
42014         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
42015         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
42016         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
42017         (tramp-smb-get-cifs-capabilities)
42018         (tramp-smb-get-stat-capability)
42019         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
42020         (tramp-smb-kill-winexe-function): Use it.
42022 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
42024         Avoid crashes for invalid value of key modifiers
42026         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
42027         is not a symbol, don't try to recognize it.  See
42028         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
42029         for the details.
42031         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
42032         test, for testing the above fix.
42034 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
42036         Make dired-do-compress understand files with spaces in them
42038         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
42039           and `literal' flag to `replace-regexp-in-string'.
42041 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42043         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
42045 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
42047         Add tests for dom.el
42049         * test/lisp/dom-tests.el: New file with tests for dom.el.
42051 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42053         Memory allocator alignment fixes
42055         These changes remove some assumptions about heap allocator
42056         alignment that may not be true on unusual platforms.
42057         * src/alloc.c (POWER_OF_2): New macro.
42058         (ROUNDUP): Use it.
42059         (BLOCK_ALIGN): Verify that it is a power of 2.
42060         (aligned_alloc): Check that alignment passed to posix_memalign
42061         satisfies POSIX restrictions.
42062         (lisp_align_malloc): Check that size passed to aligned_alloc
42063         satisfies C11 restrictions.
42064         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
42065         code has not been verified to work with other GCALIGNMENT values
42066         and the ice is thin here.  On GNU/Linux, malloc can return a value
42067         that is a multiple of 8 but not 16, even though __alignof__
42068         (max_align_t) is 16.  See:
42069         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
42070         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
42071         is a multiple of alignment, since C11 says the behavior is
42072         undefined otherwise.
42073         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
42074         general this macro is restricted to signed types.  Remove
42075         assertion that the result is a multiple of GCALIGNMENT, as that
42076         need not be true.
42078 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42080         Pacify --enable-gcc-warnings for lib-src/pop.c
42082         * lib-src/pop.c: Include c-ctype.h.
42083         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
42084         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
42085         of the (undeclared) isupper and tolower.  Fix pointer constness
42086         problem.
42088 2016-08-27  Alan Mackenzie  <acm@muc.de>
42090         Handle the C++ "identifiers" "final" and "override" correctly.
42092         This fixes bug #24319, allowing destructors affixed with these identifiers to
42093         be correctly fontified.
42095         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
42096         After reaching the "end" of a type expression, skip over any occurrences of
42097         c-type-decl-suffix-ws-ids-key.
42099         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
42100         "final" from the C++ value.
42101         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
42102         constants/variables for "final" and "override".
42104 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
42106         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
42108 2016-08-27  Alan Mackenzie  <acm@muc.de>
42110         Handle template delimiters in C++ member init constructs.
42112         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
42113         handling for "<....>"s.
42115 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
42117         Fix etags test suite messed up by merges from emacs-25
42119         * test/manual/etags/go-src/test.go:
42120         * test/manual/etags/go-src/test1.go: Move from test/etags/.
42121         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
42122         * test/etags/: Directory deleted.
42124 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
42126         Add "supports" to list of CSS at-rules
42128         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
42130 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
42132         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
42134         (Bug#22478)
42136 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
42138         Rename option to shell-command-dont-erase-buffer
42140         Suggested by Clément Pit--Claudel in:
42141         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
42142         * lisp/simple.el (shell-command-dont-erase-buffer):
42143         (shell-command--save-pos-or-erase):
42144         (shell-command--set-point-after-cmd):
42145         (shell-command-on-region):
42146         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
42147         * etc/NEWS (Changes in Emacs 25.2):
42148         Rename from shell-command-not-erase-buffer.
42150 2016-08-25  Alan Mackenzie  <acm@muc.de>
42152         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
42154         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
42155         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
42156         the loop won't hang at a "terminating" paren of a different type (due to the
42157         c-syntactic-re-search-forward at the end of the loop stopping at such
42158         characters).
42160 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
42162         call-shell-region: New defun
42164         Suggested by Stefan Monnier in Bug#22679.
42165         * lisp/subr.el (call-shell-region): New defun; execute a command
42166         in an inferior shell with the buffer region as input.
42167         * lisp/simple.el (shell-command-on-region): Use it.
42168         * lisp/gnus/message.el (message-do-fcc): Idem.
42169         * doc/lispref/processes.texi: Document call-shell-region in the manual.
42170         ;* etc/NEWS: Add entry for this new function.
42172 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
42174         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
42176         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
42177         argument in `pop-to-buffer' call (Bug#24306).
42179 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
42181         Some fixes around `delete-other-frames' and `next-frame'
42183         * src/frame.c (Fdelete_frame): Clarify doc-string.
42184         * lisp/frame.el (delete-other-frames): Delete other frames on
42185         FRAME's terminal instead of the current terminal.  Delete
42186         non-minibuffer-only surrogate frames too.  See
42187         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
42188         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
42189         docs of `delete-frame' and `frame-live-p'.  Add entry for
42190         `delete-other-frames'.
42191         (Finding All Frames): Fix doc of `next-frame'.
42193 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42195         Find message.el thumbnail toggling
42197         * lisp/gnus/message.el (message-toggle-image-thumbnails):
42198         Don't infloop when toggling thumbnails.
42200 2016-08-24  Alan Third  <alan@idiocy.org>
42202         Fix macOS 12 deprecation notices
42204         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
42205         new constant names.
42206         * src/nsmenu.m: Replace old constant names with
42207         new.
42208         (fillWithWidgetValue): Remove calls to deprecated
42209         setMenuChangedMessagesEnabled.
42210         * src/nsterm.m: Replace old constant names with new.
42211         * src/nsfns.m: Replace old constant names with new.
42213 2016-08-23  Alan Mackenzie  <acm@muc.de>
42215         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
42217         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
42218         directly preceding the colon, and handle it.
42220 2016-08-23  Noah Friedman  <friedman@splode.com>
42222         * src/xfns.c (Fx_change_window_property): Modify previous change.
42223         Instead of forcing format to 8 for strings, check that the length of
42224         the string is appropriate for whatever format given.
42225         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
42226         try its outer window.  This mimics the behavior of Fx_window_property.
42228 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
42230         Fix invalid image rotations
42232         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
42234 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
42236         call-process instead of call-process-region with empty region
42238         * lisp/calc/calc-graph.el (calc-graph-show-tty):
42239         Use call-process and shell-command-switch.
42241 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42243         Merge from origin/emacs-25
42245         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
42246         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
42247         73cbb81 ; ChangeLog spelling fixes
42248         9b99772 Some assorted documentation clarifications
42249         37d4723 Improve commentary in src/character.h
42250         5ccd593 ; Fix typo in /etc/NEWS
42251         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
42252         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
42253         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
42254         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
42256         # Conflicts:
42257         #       ChangeLog.2
42258         #       lisp/ldefs-boot.el
42260 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42262         Merge from origin/emacs-25
42264         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
42266 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42268         Merge from origin/emacs-25
42270         8c2946e In NEWS describe new handling of window margins (Bug#24193)
42271         0cee66c Facultatively ignore margins when splitting and resizing wind...
42272         8d68147 Document CATEGORY arg to modify-category-entry
42273         8342e74 Document char-script-table's effect on word motion
42274         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
42275         0695235 Fix docstring of eval-expression
42276         98b01dd Clarify when 'cursor' property is in effect
42277         75f1882 Convert the remaining strings to unibyte before concatenating
42278         d2db5dd Fix bug with handling the bidi cache
42279         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
42280         f785ff4 Clarify documentation of before/after-change-functions
42281         3c9cb57 Document use of vectors in keymaps
42283         # Conflicts:
42284         #       src/xdisp.c
42286 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
42288         Handle remote file names in gdb-mi.el
42290         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
42291         If `default-directory' is remote, full file names are adapted
42292         accordingly.  (Bug#23608)
42294 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
42296         Display mini-window resized even when there are several frames
42298         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
42299         t to avoid resizing back the mini-window as result of considering
42300         the title of other frames.  (Bug#24285)
42301         (redisplay_window): No need to bind inhibit-redisplay here.
42303 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
42305         Explain gdb warning on remote hosts
42307         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
42308         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
42310 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
42312         Fix (next-frame nil t) crash (Bug#24281)
42314         * src/frame.c (candidate_frame): Check minibuf argument before
42315         comparing it to zero (Bug#24281).
42317 2016-08-21  Noah Friedman  <friedman@splode.com>
42319         Fix interpretation of signed vs unsigned values when retrieving X
42320         Window properties, and make sure the full value is returned when not
42321         parsed.
42323         New subr to export type and format information about X Window
42324         properties to lisp.
42326         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
42327         unsigned unless its actual type is INTEGER.
42328         CARDINALs, in particular, are unsigned.
42330         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
42331         any provided format and force to 8.
42332         (x_window_property_intern): If returning value as a string, the length
42333         is actual_size times the actual format of each element, which is not
42334         necessarily bytes.
42335         (Fx_window_property_attributes): New subr.
42336         (syms_of_xfns): Declare it.
42338 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
42340         Improve error when installing non-package dirs
42342         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
42343         when no file with package info is found (Bug #19851).
42345 2016-08-21  Alan Mackenzie  <acm@muc.de>
42347         Adapt CC Mode for C++11 uniform initialization.
42349         For fontification, introduce a new "context", 'non-decl, to be used for
42350         brace
42351         lists; also a new value for the property 'c-type, called 'c-not-decl.
42353         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
42354         an ostensible symbol we're going to move over isn't a keyword.
42355         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
42356         (hence a declaration), and an unmatched open paren, perform
42357         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
42358         Whilst checking a type decl expression, check for and handle C++11's "copy
42359         initialization", where we have <type>(<constant>).  Recognize
42360         <id><id>(... (where the paren is unclosed) as a declaration.
42361         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
42362         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
42363         valid tokens other than "=".  Recognize a bracelist when preceded by a
42364         template declaration.
42365         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
42366         much inline code.
42367         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
42368         initialization starting "({" as an in-expression block, by checking for
42369         semicolons, as opposed to commas, separating elements inside it.
42370         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
42371         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
42372         preceding "=".  (CASE B-5): New code to recognize new construct "return {
42373         ...}".
42374         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
42375         "return", or "{" preceded by <type><identifier> as a bracelist.
42377         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
42378         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
42379         search for "," rather than calling c-forward-decl-or-cast-1.
42381         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
42382         constants/variables to recognize "return".
42383         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
42384         which, when preceding an identifier followed by a brace, signify the brace as
42385         a bracelist.
42387         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
42388         the start of a "local" declaration, move out from an enclosing brace when
42389         that is the start of a brace list.
42391 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42393         Update from gnulib
42395         This incorporates:
42396         2016-08-17 maint: preprocessor changes to support z/OS
42397         2016-08-17 string: rename to avoid '__string'
42398         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
42399         Copy from gnulib.
42401 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42403         Minor text-quoting-style fixes
42405         * src/charset.c (check_iso_charset_parameter):
42406         * src/frame.c (store_frame_param):
42407         * src/xselect.c (x_fill_property_data):
42408         Use grave accent for left single quote in ‘error’ format strings.
42410 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
42412         Fix semantics of 'minibuffer' frame parameter
42414         The 'minibuffer' frame parameter is now t for a normal frame
42415         (a frame with a root window plus a minibuffer window) and the
42416         frame's minibuffer window for a minibuffer-less frame (a frame
42417         whose minibuffer window is on another frame).  See also:
42418         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
42420         * src/frame.c (make_frame, make_frame_without_minibuffer)
42421         (make_minibuffer_frame): When assigning the frame's minibuffer
42422         window also store corresponding 'minibuffer' frame parameter.
42423         (store_frame_param): Move the 'minibuffer' parameter checks to
42424         the beginning so we can silently override the value before it
42425         gets stored in the parameter alist.  Fix error handling.
42426         (Fframe_parameters): Return value of 'minibuffer' parameter
42427         unmodified.
42429         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
42430         the parameter is a minibuffer window, save (minibuffer . nil)
42431         instead of (minibuffer . t).
42432         (frameset--reuse-frame): To find a non-minibuffer-only frame
42433         look out for a frame whose 'minibuffer' parameter is t instead
42434         of that frame's minibuffer window.
42435         (frameset-minibufferless-first-p): To find a minibuffer-less
42436         frame look out for a frame whose 'minibuffer' parameter is a
42437         window instead of nil.
42439 2016-08-20  Alan Mackenzie  <acm@muc.de>
42441         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
42443 2016-08-20  Alan Mackenzie  <acm@muc.de>
42445         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
42447         Check the limit both at macro expansion time (for a hard coded nil) and at run
42448         time in the generated code.  Tidy up these macros generally.
42450         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
42451         not identically nil before generating a narrow-to-region call.  Generate code
42452         to check `limit' is not nil at run time.
42453         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
42454         narrow-to-region, instead calling c-safe-scan-lists directly.
42455         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
42456         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
42457         to determine the destination position instead of generating a redundant
42458         narrow-to-region.
42460 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
42462         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
42464         The docstring referenced a non-existant parameter, as well as a
42465         parameter that has been renamed since the docstring was written. Fix
42466         both errors, fixing (Bug#24182).
42468 2016-08-19  Alan Mackenzie  <acm@muc.de>
42470         Amend hack-local-variables-prop-line not always to return any mode on line 1.
42472         This fixes bug #24266.
42474         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
42475         parameter mode-only to handle-mode.  Change its meaning, such that it being
42476         set to a value non-nil and not t removes any mode parameter from the result
42477         list.  Leave its values nil and t with the same meanings they had.
42478         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
42480 2016-08-19  Daiki Ueno  <ueno@gnu.org>
42482         Improve doc string of epg-*-program
42484         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
42485         Suggest to use Customize when setting.  (Bug#24229)
42487 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
42489         Add tests for Bug#24264
42491         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
42492         Add test for Bug#24264.
42493         (cl-seq-fill-test, cl-seq-replace-test)
42494         (cl-seq-remove-test ,cl-seq-delete-test)
42495         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
42496         (cl-seq-nsubstitute-test, cl-seq-position-test)
42497         (cl-seq-count-test, cl-seq-mismatch-test)
42498         (cl-seq-search-test, cl-seq-test-bug24264):
42499         Add tests for all functions in the file; test all keywords.
42501 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
42503         Fix bug in --eval reply message from server
42505         * lisp/server.el (server-reply-print): Fix check for truncated quote
42506         sequence at end of message. Problem reported in:
42507         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
42509 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
42511         Add tests for 'substitute-command-keys'
42513         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
42514         tests.
42516 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
42518         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
42520         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
42521         `completing-read'.
42523 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
42525         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
42527         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
42528         without any files being extracted.
42530 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
42532         Don't let window start override window point in `window-state-put' (Bug#24240)
42534         * lisp/window.el (window--state-put-2): Set 'noforce argument
42535         when restoring a window's start position.  This avoids that the
42536         effect of `set-window-point' gets overidden by that of
42537         `set-window-start' (Bug#24240).
42539 2016-08-17  Alan Mackenzie  <acm@muc.de>
42541         Fontify constructs following "::" in C++ argument lists correctly - part 2.
42543         This fixes bug #24246.
42545         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
42546         `save-match-data' around the new `looking-at' introduced by the previous CC
42547         Mode patch this evening.
42549 2016-08-17  Alan Mackenzie  <acm@muc.de>
42551         Fontify constructs following "::" in C++ argument lists correctly.
42553         This fixes bug #24246.
42555         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
42556         match" loop, test a found string for a match with c-opt-identifier-concat-key
42557         (e.g. with "::").
42559 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42561         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
42563 2016-08-17  K. Handa  <handa@gnu.org>
42565         Fix hz encoding and decoding (bug#23814)
42567         * lisp/language/china-util.el (decode-hz-region): Pay
42568         attention to "~~}" sequence at the end of Chinese character
42569         range.
42570         (hz-category-table): New variable.
42571         (encode-hz-region): Convert non-encodable characters to
42572         \u... and \U...  Preserve ESC on ecoding.  Put
42573         `chinese-gb2312' `charset' text property in advance to force
42574         iso-2022-encoding to select chinese-gb2312 designation.
42576 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
42578         file-attribute-collect: New defun
42580         * lisp/files.el (file-attribute-collect):
42581         Return a sublist of the attributes returned by 'file-attributes'.
42582         Suggested by Ted Zlatanov in:
42584         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
42586 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
42588         Fix Bug#24203
42590         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
42592 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
42594         Improve doc string.
42596         * src/fileio.c (Ffile_name_as_directory): Be precise about the
42597         conditions under which a slash is appended.
42599 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
42601         Omit substitute-command-keys code no longer needed
42603         * src/doc.c (Fsubstitute_command_keys):
42604         Remove duplicate initializations.
42606 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
42608         Allow not erase output buffer in shell commands
42610         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
42611         not erasing the output buffer between shell commands.  Defaults to nil.
42612         (shell-command-on-region): Use it.
42613         (shell-command--save-pos-or-erase): New defun; store a buffer position
42614         if 'shell-command-not-erase-buffer' is non-nil; otherwise
42615         erase the output buffer of the shell command.
42616         (shell-command, shell-command-on-region): Use it.
42617         (shell-command--set-point-after-cmd): New defun;
42618         if 'shell-command-not-erase-buffer' is non-nil, set point
42619         in the output buffer to the position in 'shell-command-saved-pos'.
42620         (shell-command-sentinel, shell-command-on-region): Use it.
42621         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
42622         Document this feature in the manual.
42623         See discussion on:
42624         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
42626 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
42628         Rearrange Tramp manual title page
42630         * doc/misc/tramp.texi: Move @insertcopying out of the title
42631         page.  Do not use @ifnottex anymore.
42633 2016-08-15  Glenn Morris  <rgm@gnu.org>
42635         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
42637 2016-08-15  Alan Mackenzie  <acm@muc.de>
42639         Fix minor bug in c-syntactic-re-search-forward.
42641         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
42642         non-nil, and the first internal search attempt fails, point wrongly ends up at
42643         BOUND, rather than just before the next closing paren.
42645         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
42646         the above situation.
42648 2016-08-15  Alan Mackenzie  <acm@muc.de>
42650         Handle C++11 lambda functions.
42652         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
42653         handle C++ lambda functions.
42654         (c-looking-at-c++-lambda-capture-list): New function.
42656         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
42657         parameter list of a lambda function and set `context' and
42658         `c-restricted-<>-arglists' suitably for it.
42659         (c-font-lock-c++-lambda-captures): New function.
42660         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
42662         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
42663         New language constants/variables.
42664         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
42666         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
42667         function capture list.
42669 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
42671         Fix stale cache problem in Tramp
42673         * lisp/net/tramp-cache.el (tramp-get-connection-property):
42674         Check, that a process as key is still running.  (Bug#22478)
42676 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42678         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
42680 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
42682         Another fix for scroll-conservatively and overlay strings
42684         * src/xdisp.c (redisplay_window): Handle also the case where the
42685         calculated window-start point has an overlay string touching it.
42686         (Bug#24179)
42688 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
42690         Improve handling of defcustoms in tramp
42692         * doc/misc/tramp.texi: Protect all multi-line examples by
42693         @group ... @end group.  Use proper `custom-set-variables'
42694         examples.  Use consequently @option for user options.  Remove
42695         superfluous @cindex and @vindex entries.
42696         (Top): Remove reference to outdated mail archives.
42697         (Configuration): Tune references.
42698         (Default Method): Make `tramp-default-method' and
42699         `tramp-default-method-alist' a @defopt.
42700         (Default User): Make `tramp-default-user' and
42701         `tramp-default-user-alist' a @defopt.
42702         (Default Host): Make `tramp-default-host' and
42703         `tramp-default-host-alist' a @defopt.
42705         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
42706         (tramp-backup-directory-alist, tramp-auto-save-directory)
42707         (tramp-encoding-shell, tramp-encoding-command-switch)
42708         (tramp-encoding-command-interactive, tramp-default-method)
42709         (tramp-default-method-alist, tramp-default-user)
42710         (tramp-default-user-alist, tramp-default-host)
42711         (tramp-default-host-alist, tramp-default-proxies-alist)
42712         (tramp-save-ad-hoc-proxies)
42713         (tramp-restricted-shell-hosts-alist)
42714         (tramp-local-end-of-line, tramp-rsh-end-of-line)
42715         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
42716         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
42717         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
42718         (tramp-terminal-prompt-regexp)
42719         (tramp-operation-not-permitted-regexp)
42720         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
42721         (tramp-syntax, tramp-chunksize)
42722         (tramp-process-connection-type, tramp-connection-timeout)
42723         (tramp-connection-min-time-diff)
42724         (tramp-completion-reread-directory-timeout):
42725         * lisp/net/tramp-adb.el (tramp-adb-program)
42726         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
42727         * lisp/net/tramp-cache.el (tramp-connection-properties)
42728         (tramp-persistency-file-name):
42729         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
42730         (tramp-gvfs-zeroconf-domain)
42731         (tramp-bluez-discover-devices-timeout):
42732         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
42733         (tramp-copy-size-limit, tramp-terminal-type)
42734         (tramp-histfile-override)
42735         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
42736         (tramp-remote-process-environment, tramp-sh-extra-args):
42737         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
42738         (tramp-smb-conf, tramp-smb-winexe-program)
42739         (tramp-smb-winexe-shell-command)
42740         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
42742 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
42744         Minor text-quoting-style fixes
42746         * lisp/cus-edit.el (custom-buffer-create-internal):
42747         * lisp/recentf.el (recentf-edit-list):
42748         Follow text-quoting-style preference when quoting in UI strings.
42749         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
42750         quotes are substituted for, as this is no longer true.
42752 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
42754         Fix substitute-command-keys unibyte, alloc bugs
42756         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
42757         unibyte strings and with buffer allocation.  Make strings
42758         multibyte, to avoid problems with unibyte strings that are not
42759         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
42760         O(N), not O(N**2).  Avoid going past the end of the input string
42761         when given invalid input.  Avoid some unlikely problems in
42762         accessing the wrong storage after a GC.
42764 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
42766         Fix "C-u" when an input method is active
42768         * lisp/international/quail.el (quail-input-method): Defer to the
42769         input method iff 'overriding-terminal-local-map' is
42770         'universal-argument-map' and the given key has no binding there.
42771         (Bug#22958)
42773 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
42775         Fix docs on `display-buffer-below-selected' (Bug#24213)
42777         * lisp/window.el (display-buffer-below-selected): Fix
42778         doc-string (Bug#24213).
42779         * doc/lispref/windows.texi (Display Action Functions): Fix
42780         documentation of `display-buffer-below-selected'.
42782 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
42784         cl-fill: Rename arguments to cl-seq and cl-item
42786         * lisp/emacs-lisp/cl-seq.el (cl-fill):
42787         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
42789 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
42791         Fix display.texi typo
42793         * doc/lispref/display.texi (Faces): Fix typo.
42795 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42797         Fix process leak with make-network-process
42799         This problem was introduced by the recent async changes (Bug#23808).
42800         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
42801         so that it follows the start_process_unwind unwind-protect.
42802         Set pid to -1 while the process is being created.
42803         (start_process_unwind): Omit unnecessary emacs_abort test.
42804         (connect_network_socket): Simplify use of counts.  Unwind
42805         bind_polling_period a bit earlier, so that a remove_process
42806         unwind-protect can be added when needed; this is the heart of
42807         the fix.  Undo the unwind-protect just before returning.
42809 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
42811         Avoid annoying re-scroll when buffer has many overlay strings
42813         * src/xdisp.c (redisplay_window): Add better recovery from a
42814         situation where window-start is on buffer position which has a
42815         before-string that includes newlines, with the result that point
42816         is not visible in the window, because the display engine starts
42817         displaying with the before-string.  (Bug#24179)
42819 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42821         Omit unnecessary process initialization
42823         * src/process.c (make_process, Fmake_process)
42824         (Fmake_pipe_process, Fmake_serial_process)
42825         (Fmake_network_process, server_accept_connection):
42826         Omit unnecessary initialization of already-cleared storage.
42828 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
42830         cl-delete-duplicates: Parse :if to have cl-if bound
42832         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
42833         We need also to parse keyword :if, otherwise cl-if
42834         is unbound.
42835         This reverts commit:
42836         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
42838 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
42840         cl-delete-duplicates: do not parse :if keyword
42842         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
42843         Parse only the supported keywords.
42845 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
42847         Add compatibility layer for `temporary-file-directory-function'
42849         * lisp/net/tramp-compat.el
42850         (tramp-compat-temporary-file-directory-function): New defalias.
42852         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
42854         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
42855         Skip for older Emacs versions.
42857 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
42859         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
42861         (Bug#24059)
42863 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
42865         Handle nil cell value in compiled printer functions.
42867         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
42868         ses-range `!' modifier.
42869         (More on cell printing): Fix this that the fallback printer is
42870         `ses-prin1', not "%S".  That makes a difference for any cell value for
42871         which "%S" would insert a backslash characters.
42873         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
42874         --- contrary to emacs-25 branches ses-call-printer does not handle
42875         prior to calling a function printer.  Not doing this would still work
42876         because the compiled function would throw and error and SES would in
42877         the end resort to the ses-prin1 fallback, however this way would not
42878         be in line with the raison d'être of compiling printer which is speed.
42880 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
42882         Turn on lexical-binding in json.el
42884         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
42885         showed 12-31% reduction in execution time.
42886         * lisp/json.el: Turn on lexical-binding.
42888 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
42890         Nudge WoMan toward lexical-binding
42892         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
42893         Use cl-pushnew instead of add-to-list.
42894         (woman-justify-list): Rename to woman-justify-styles.
42895         (woman-justify-styles): New array.
42896         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
42897         (woman-cached-data): Use cl-pushnew instead of add-to-list.
42899 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
42901         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
42903         Here follows the logs from the two commits which I apply to master.
42905         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
42906         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
42907         Date:   Fri Jul 29 13:44:14 2016 +0200
42909         Fix ses-delete-blanks to delete only blanks + documentation.
42911         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
42912         'ses-range' modifier as an alternative to 'ses+'.
42913         (Advanced Features): Add a refernce to node 'Nonrelocatable
42914         references' concerning function 'ses-rename-cell'.
42915         (Standard formula functions): Mention the '!' 'ses-range'
42916         modifier as an alternative to 'ses-delete-blanks'.
42917         (More on cell printing): Fix fallback printer
42918         definition.  Minor editorial formatting changes.
42919         (Nonrelocatable references): Document the use of
42920         'ses-rename-cell' as a better way to make cell reference
42921         non-relocatable.
42922         (The data area): Document the presence of local printer
42923         definitions in the data area.
42925         * lisp/ses.el (ses-delete-blanks): Do not remove
42926         *error*.  Any error in an argument should propagate into the
42927         using formula rather than being silently hidden !
42929         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
42930         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
42931         Date:   Thu Jul 28 19:49:37 2016 +0200
42933         Fix local printer set to left aligned string formatter.
42935         * lisp/ses.el (ses-local-printer-compile): Add missing case
42936         for left-aligned string formatter.
42938 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42940         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
42942 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
42944         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
42946         Change the code which detects and circumvents the case where one of the
42947         variables used in λ-lifting is shadowed, so that it also works when the
42948         shadowing comes before the λ-lifted function (bug#24171).
42950         (cconv--remap-llv): New function, extracted from cconv-convert.
42951         (cconv-convert): Use it, but differently for `let' and `let*'.
42953 2016-08-09  Alan Mackenzie  <acm@muc.de>
42955         CC Mode: check for and fix missing call to before_change_functions.
42957         Fixes bug #24094 and bug #24074.
42959         This can happen with `revert-buffer' or sometimes `find-file', when the file
42960         is already in a buffer, but the file has been changed outside of Emacs.
42962         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
42963         invocation of c-before-change-functions, we assume the changed region is the
42964         entire buffer, and call c-before-change explicitly before proceding.
42966 2016-08-09  Alan Mackenzie  <acm@muc.de>
42968         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
42970         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
42972 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
42974         Support $ENV in Tramp
42976         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
42978         * etc/NEWS: Explain the "ENV" environment variable in
42979         `tramp-remote-process-environment'.
42981         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
42982         (tramp-open-shell): Read $ENV value from
42983         `tramp-remote-process-environment'.
42984         (tramp-open-connection-setup-interactive-shell): Set values in
42985         proper order.
42987 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42989         Simplify exec_byte_code via moving decls etc.
42991         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
42992         initializers into decls, and by omitting some unnecessary
42993         changes to ‘top’.  This improves performance a bit on x86-64,
42994         as it happens.
42996 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42998         Remove interpreter’s byte stack
43000         This improves performance overall on my benchmark on x86-64,
43001         since the interpreted program-counter resides in a machine
43002         register rather than in RAM.
43003         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
43004         is no longer a byte stack to decode.
43005         * src/bytecode.c (struct byte_stack, byte_stack_list)
43006         (relocate_byte_stack): Remove.  All uses removed.
43007         (FETCH): Simplify now that pc is now local (typically, in a
43008         register) and no longer needs to be relocated.
43009         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
43010         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
43011         (exec_byte_code): Allocate a copy of the function’s bytecode,
43012         so that there is no problem if GC moves it.
43013         * src/lisp.h (struct handler): Remove byte_stack member.
43014         All uses removed.
43015         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
43016         SAFE_ALLOCA_LISP.
43017         (SAFE_ALLOCA_LISP): Use it.
43019 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43021         Remove arbitrary limit on bytecode maxdepth
43023         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
43024         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
43026         pipeline is fuller.
43028 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43030         Tune bytecode quitting
43032         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
43033         check only once every 256 times.  This should be good enough, and
43034         improves performance significantly on x86-64 as branch-prediction
43035         typically assumes checking will not be done so the instruction
43036         pipeline stays fuller.
43037         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
43038         directly, as BYTE_CODE_QUIT does that now.
43040 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43042         Simplify BYTE_CODE_SAFE checking
43044         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
43045         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
43046         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
43047         expressions instead of #if expressions when this is easy.
43048         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
43049         as it is no longer needed.
43050         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
43051         Simplify stack-overflow checking when BYTE_CODE_SAFE.
43053 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43055         Get BYTE_CODE_METER working again
43057         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
43058         noticed.  Perhaps we should remove it?
43059         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
43060         Use *aref_addr instead of AREF, since it needs to be an lvalue.
43062 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
43064         Fix cursor position under scroll-conservatively and overlay strings
43066         * src/xdisp.c (try_scrolling): Handle the case where the last
43067         visible screen line of a window displays a before- or after-string
43068         that takes up the whole screen line, and therefore there's no
43069         place to display the cursor, even though the window does seem to
43070         include the position of point.  (Bug#24179)
43072 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
43074         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
43076 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
43078         Tune interpretation of integer arglist descriptor
43080         * src/bytecode.c (exec_byte_code):
43081         Simplify and tune when INTEGERP (args_template).
43083 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
43085         Fix debugging of string-match-p errors
43087         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
43088         that debugger code that needs to do regexp match won't break
43089         (Bug #23949, Bug #24166, Bug#16294).
43091 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
43093         Add `make-nearby-temp-file' and `temporary-file-directory'
43095         * doc/lispref/files.texi (Unique File Names):
43096         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
43097         (Magic File Names): Mention `make-nearby-temp-file' and
43098         `temporary-file-directory'.
43100         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
43101         `temporary-file-directory'.
43103         * lisp/files.el (mounted-file-systems): New defcustom.
43104         (temporary-file-directory, make-nearby-temp-file): New defuns.
43105         (normal-backup-enable-predicate): Fix docstring.
43107         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
43108         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
43109         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
43110         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
43111         <make-nearby-temp-file, temporary-file-directory>: Add handler.
43113         * lisp/net/tramp.el (tramp-file-name-for-operation):
43114         Add `make-nearby-temp-file' and `temporary-file-directory'.
43115         (tramp-get-remote-tmpdir): Remove compatibility code.
43116         (tramp-handle-temporary-file-directory)
43117         (tramp-handle-make-nearby-temp-file): New defuns.
43119         * lisp/org/ob-core.el (org-babel-local-file-name):
43120         * lisp/progmodes/gud.el (gud-common-init):
43121         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
43123         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
43125         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
43126         Check `tramp--test-enabled'.
43127         (tramp-test18-file-attributes): Add tests for
43128         `file-ownership-preserved-p'.
43129         (tramp-test27-start-file-process, tramp-test28-shell-command):
43130         Reduce timeouts in `accept-process-output'.
43131         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
43132         (tramp-test29-environment-variables): Remove additional sleep calls.
43133         (tramp-test32-make-nearby-temp-file): New test.
43134         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
43135         (tramp-test33-special-characters)
43136         (tramp-test33-special-characters-with-stat)
43137         (tramp-test33-special-characters-with-perl)
43138         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
43139         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
43140         (tramp-test34-utf8-with-ls)
43141         (tramp-test35-asynchronous-requests)
43142         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
43143         (tramp--test-ftp-p): Simplify check.
43144         (tramp--test-sh-p): New defun.
43145         (tramp-test20-file-modes, tramp-test22-file-times)
43146         (tramp-test26-process-file, tramp-test27-start-file-process)
43147         (tramp-test28-shell-command)
43148         (tramp-test29-environment-variables)
43149         (tramp-test30-vc-registered)
43150         (tramp-test33-special-characters-with-stat)
43151         (tramp-test33-special-characters-with-perl)
43152         (tramp-test33-special-characters-with-ls)
43153         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
43154         (tramp-test34-utf8-with-ls)
43155         (tramp-test35-asynchronous-requests): Use it.
43157 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
43159         Add missing dcstrings in Tramp, remove chec for obsolee methods
43161         * lisp/net/tramp.el (tramp-progress-reporter-update)
43162         (tramp-unload-file-name-handlers, tramp-get-local-uid)
43163         (tramp-get-local-gid, tramp-get-local-locale):
43164         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
43165         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
43166         * lisp/net/tramp-compat.el (tramp-compat-funcall):
43167         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
43168         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
43169         * lisp/net/tramp-sh.el (tramp-get-remote-path)
43170         (tramp-get-remote-locale, tramp-get-ls-command)
43171         (tramp-get-ls-command-with-dired)
43172         (tramp-get-ls-command-with-quoting-style)
43173         (tramp-get-ls-command-with-w-option)
43174         (tramp-get-test-nt-command, tramp-get-file-exists-command)
43175         (tramp-get-remote-ln, tramp-get-remote-perl)
43176         (tramp-get-remote-stat, tramp-get-remote-readlink)
43177         (tramp-get-remote-trash, tramp-get-remote-touch)
43178         (tramp-get-remote-gvfs-monitor-dir)
43179         (tramp-get-remote-inotifywait, tramp-get-remote-id)
43180         (tramp-get-remote-uid-with-id)
43181         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
43182         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
43183         (tramp-get-remote-gid-with-id)
43184         (tramp-get-remote-gid-with-perl)
43185         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
43186         (tramp-get-env-with-u-option): Add missing docstrings.
43188         * lisp/net/tramp.el (tramp-obsolete-methods)
43189         (tramp-warned-obsolete-methods): Remove.
43190         (tramp-find-method): Do not check for obsolete methods any longer.
43192 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43194         Make sh-mode always use p-s-lookup-properties
43196         This lets functions which rely on syntax-propertize for parsing
43197         work correctly even before font lock has a chance to run.
43199         * lisp/progmodes/sh-script.el (sh-set-shell): Set
43200         parse-sexp-lookup-properties unconditionally (Bug #4920).
43202 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43204         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
43206         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
43207         list when showing its (non-existent) arguments (Bug #18587).
43209 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43211         Don't delete selection after indent-rigidly
43213         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
43214         function to `set-transient-map', this prevents `delete-selection-mode'
43215         from deleting the text that was just indented (Bug #20408).
43217 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43219         Fix byte-compile of interactive closures
43221         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
43222         bindings after docstring and `interactive' form, if any (Bug #24122).
43224 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43226         Error if --eval arg has text beyond 1 expression
43228         * lisp/startup.el (command-line-1): If --eval argument has more data
43229         than constitutes a single Lisp expression, signal an error (Bug #23159).
43231 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43233         Fix quoted lambda warning from lexical-let
43235         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
43236         with `function', not `quote' (Bug #11357).
43238 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
43240         Make emerge always use shell-quote-argument
43242         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
43243         (emerge-protect-metachars): Delete.
43244         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
43245         `emerge-protect-metachars' with `shell-quote-argument' so that shell
43246         quoting is done the same on all system types (Bug #6136).  Also shell
43247         quote `emerge-diff-program' and `emerge-diff3-program'.
43249 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
43251         Fix 'dired-diff' when backup file is in another directory
43253         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
43254         the default for FILE is computed, especially when backup files
43255         are involved.  Support backup files in another directory.
43256         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
43258 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
43260         Fix the 'T' command in Dired with non_ASCII file names
43262         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
43263         to correctly encode file names passed to the invoked PROGRAM.
43264         (Bug#24162)
43266 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
43268         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
43270 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43272         Merge from origin/emacs-25
43274         d841a03 ; Spelling fix
43275         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
43276         d35d398 Update to the AUTHORS file for Bob Weiner
43277         4d2f4df Revert "Fix local printer set to left aligned string formatter."
43278         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
43279         f7ceb8e Revert "Fix English."
43280         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
43281         aa4271a Fix doc string of 'minibuffer-message-timeout'
43282         b275cc7 Fix English.
43283         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
43284         272391f profiler: document prefix arg for tree expansion
43285         442cc39 Clarify usage of eshell-visual-options
43286         b443c3c Fix comment in files-in-below-directory
43287         8a38e94 Fix local printer set to left aligned string formatter.
43288         0f0b191 ; Fix typos in NEWS
43289         6bdf687 ; * etc/NEWS: Remove temporary marks
43291 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43293         Merge from origin/emacs-25
43295         d08afa1 * etc/AUTHORS: Update the AUTHORS file
43296         2668500 ;; * ChangeLog.2: ChangeLog update.
43297         7acfaea ; ChangeLog fixes
43298         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
43299         9ab52f6 * admin/authors.el: Additions.
43300         0e646c7 Warn about Cairo-related problems
43301         bc4c07f Don't let completion break `declare' handling
43302         66f95e0 Adjust match data before calling after-change-funs
43303         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
43304         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
43306         # Conflicts:
43307         #       ChangeLog.2
43308         #       src/lisp.h
43310 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43312         Merge from origin/emacs-25
43314         9a41cd1 ; Fix typo
43315         9356fe2 Expand FIXME near definition of fboundp
43316         219b39f kill-rectangle should mention killed-rectangle
43317         59fa4c3 Avoid assertion violations in nhexl-mode
43319 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43321         Merge from origin/emacs-25
43323         9ba51ed Document buffer-swap-text+save-excursion interaction
43324         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
43325         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
43326         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
43327         05ba7a0 Add test for handling environment variables in Tramp
43328         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
43329         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
43330         90f2169 ; Spelling fixes
43331         069fc05 Improve documentation of search functions
43332         0a0144a Delete environment variables in Tramp when needed
43333         f624671 Add "New in Emacs 25" section to the FAQ
43334         658daf9 Fix 'vertical-motion' in non-interactive sessions
43335         686b520 Fix memory leak in imagemagick-types
43336         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
43337         1b2d6a6 Clarify docstring of find-feature-regexp
43338         aac62a6 Add details to cl-lib defining macros' docstrings
43339         d6aa4da Clarify doc string of 'save-buffer'
43340         03bcf11 Un-confuse doc string of 'string-collate-equalp'
43341         c53135b Clarify documentation of 'mouse-on-link-p'
43343         # Conflicts:
43344         #       lisp/emacs-lisp/eieio-core.el
43346 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43348         Merge from origin/emacs-25
43350         6f285d9 Amend last addition to etc/PROBLEMS
43351         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
43353 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43355         Merge from origin/emacs-25
43357         d4c6774 Fix missing point information in undo
43358         3a9d629 Avoid crashes when buffer modification hooks clobber match data
43359         178b2f5 Note combine-and-quote-strings doesn't shell quote
43360         dec7567 Explain when package-initialize isn't called
43361         113d1e2 Fix escaping in sh-indent-after-continuation docstr
43362         80e2044 ; * etc/NEWS: Improve previous change.
43363         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
43364         38f4b8e Clarify the documentation of back-references in replacements
43366 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43368         Merge from origin/emacs-25
43370         850ba44 Clarify lexical binding with symbol args behavior
43371         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
43372         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
43373         21110af Avoid assertion violations when rendering some fonts
43374         6192b6c Document more details of package activation
43375         272ddc6 Fixup warning message regarding HOME a bit more
43376         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
43377         d41f7ff Fix input method "probhat" for Bengali
43378         c150a64 ; Fix typo in commit before last
43379         ebf0472 Add to elisp-completion-at-point's docstring
43380         fd9fad0 Give more helpful warning about setting HOME
43381         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
43383         # Conflicts:
43384         #       lisp/term.el
43386 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43388         Merge from origin/emacs-25
43390         26d4da0 New input method "probhat" for Bengali
43391         4f445bf ; Spelling fix
43392         f403f03 ; Fix typo
43394 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43396         Spelling and minor grammar fixes
43398         * test/file-organization.org: Rename from test/file-organisation.org.
43400 2016-08-04  Alan Mackenzie  <acm@muc.de>
43402         Widen in certain low level CC Mode functions.  This fixes bug #24148.
43404         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
43405         (c-state-full-pp-to-literal): Widen around the functionality.
43406         (c-parse-ps-state-below): Correct the order of save-excursion and
43407         save-restriction.
43409 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
43411         Fix Bug#24149
43413         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
43414         overriding-terminal-local-map.  (Bug#24149)
43416 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43418         Update from gnulib
43420         This incorporates:
43421         2016-07-03 mktime: call tzset as per POSIX
43422         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
43423         Copy from gnulib.
43425 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43427         Fix GnuTLS includes
43429         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
43430         a second time; although it doesn’t hurt, it’s not needed.
43431         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
43432         as it may not be available.  Problem reported by Glenn Morris in:
43433         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
43435 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
43437         Fix accessing regex-resources in out-of-tree test runs in regex-tests
43439         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
43440         fix regex-tests failing when run from the source tree (i.e. via make)
43441         by hard-coding path to regex-resources directory relative to the test
43442         directory.
43444         This fixed runs from the tree but broke the test when run using other
43445         methods.
43447         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
43449         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
43450         storing path to the regex-resources directory.
43451         (regex-tests-generic-line): Use aforementioned variable.
43453 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43455         Simplify by assuming GnuTLS 2.12.2 or later
43457         * src/gnutls.c (gnutls_certificate_details):
43458         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
43460 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43462         Port to systems lacking GNUTLS_NONBLOCK
43464         Problem reported by Colin Baxter in:
43465         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
43466         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
43468 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43470         Fix non-blocking GnuTLS with slow connection
43472         Although the problem is reported for OS X (Bug#23982), it seems to
43473         be possible on other POSIXish platforms.
43474         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
43475         New function.
43476         (emacs_gnutls_handshake) [!WINDOWSNT]:
43477         Use it as the errno function, if non-blocking.
43478         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
43480 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43482         Require GnuTLS 2.12.2 or later
43484         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
43485         instead of merely 2.6.6 or later (Bug#23982#20).
43486         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
43487         [WINDOWSNT]: Don’t bother with gnutls_check_version or
43488         gnutls_transport_set_lowat, as they are no longer needed now that
43489         we require gnutls 2.12.2 or later.
43491 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43493         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
43495         * src/window.h (sanitize_window_sizes): Adjust prototype.
43496         * src/frame.c (adjust_frame_size): Adjust calls.
43498 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43500         Fix (mapcar F S) crash when F alters S’s length
43502         * src/fns.c (mapcar1): Return number of elements computed,
43503         which can be less than LENI if the function alters the list.
43504         All callers changed.  (Bug#24118)
43506 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43508         Port window changes to --enable-gcc-warnings
43510         * src/window.c (sanitize_window_sizes): Return void.
43511         This pacifies GCC, and no caller uses the return value anyway.
43513 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43515         * src/window.c: Fix bootstrap failure due to window.el changes
43517         (sanitize_window_sizes): Adjust to new calling convention of
43518         window--sanitize-window-sizes and only call it if defined.
43519         (Fwindow__sanitize_window_sizes): Remove.
43520         (syms_of_window): Don't defsubr it.
43522 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
43524         Fix Bug#23883
43526         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
43527         Call `process-actions' with adapted position.  The connection
43528         buffer might have been cleaned up already.  (Bug#23883)
43530 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43532         Port regex changes to strict ISO C
43534         * src/regex.c (regex_compile): Redo casts.
43536 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43538         * lisp/window.el: Use lexical-binding
43540         (window--min-size-ignore-p): Remove unused arg `horizontal'.
43541         (window--sanitize-window-sizes): Remove unused arg `frame'.
43542         (window-edges): Remove unused vars left-off and right-off.
43543         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
43544         Avoid extraneous setq and do a bit of CSE.
43545         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
43546         and `toolbar-extra-height'.
43547         (window-adjust-process-window-size): Remove unused arg `process'.
43549 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43551         Fix unused lexical variable
43553         This fixes the following warning:
43555             In toplevel form:
43556             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
43558         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
43559         variable.
43561 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43563         Remove unused STREQ macro
43565         This fixes the following compilation warning:
43567             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
43568              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
43569              ^
43571         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
43572         in a [4538a5e: Refactor regex character class parsing in [:name:]]
43573         commit but was mistakenly left out.
43575 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43577         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
43578         load-history format
43580         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
43581         (cl-generic-define-method, cl--generic-describe): Use it.
43582         (cl--generic-search-method): Adjust for new format.
43584         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
43585         * test/lisp/progmodes/elisp-mode-tests.el:
43586         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
43587         internal format.
43589 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43591         Hardcode regex syntax to remove dead code handling different syntax
43593         Emacs only ever uses its own regex syntax so support for other syntaxes
43594         is never used.  Hardcode the syntax so that the compilar can detect such
43595         dead code and remove it from compiled code.
43597         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
43598         specified.  Handle this separatelly with a function argument (replacing
43599         now unnecessary syntax argument).
43601         With this patchset, size of Emacs binary on x86_64 machine is reduced by
43602         around 60 kB:
43604                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
43605                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
43607         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
43608         (re_compile_pattern): Replace syntax with posix_backtracking argument.
43610         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
43611         (regex_compile): #ifdef emacs, replace syntax argument with
43612         posix_backtracking which is now used instead of testing for
43613         RE_NO_POSIX_BACKTRACKING syntax.
43614         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
43615         (re_compile_pattern): Replace syntax with posix_backtracking argument.
43617         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
43618         instead of syntax to re_compile_pattern.
43620 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43622         Get rid of re_set_whitespace_regexp
43624         * src/regex.h (re_set_whitespace_regexp): Delete.
43625         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
43627         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
43628         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
43629         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
43630         unless building Emacs.
43631         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
43633         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
43634         pass the regex as argument to re_compile_pattern instead.
43636 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43638         Get rid of re_set_syntax
43640         Instead of using a global variable for storing regex syntax, pass it
43641         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
43642         ‘#ifdef emacs’).
43644         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
43645         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
43647         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
43648         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
43650         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
43651         instead pass syntax to re_compile_pattern directly.
43653 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43655         Remove dead opcodes in regex bytecode
43657         There is no way to specify before_dot and after_dot opcodes in a regex
43658         so code handling those ends up being dead.  Remove it.
43660         * src/regex.c (print_partial_compiled_pattern, regex_compile,
43661         analyze_first, re_match_2_internal): Remove handling and references to
43662         before_dot and after_dot opcodes.
43664 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43666         Refactor regex character class parsing in [:name:]
43668         re_wctype function is used in three separate places and in all of
43669         those places almost exact code extracting the name from [:name:]
43670         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
43671         string, so the name of the character class is copied to a temporary
43672         buffer.
43674         The code duplication and unnecessary memory copying can be avoided by
43675         pushing the responsibility of parsing the whole [:name:] sequence to
43676         the function.
43678         Furthermore, since now the function has access to the length of the
43679         character class name (since it’s doing the parsing), it can take
43680         advantage of that information in skipping some string comparisons and
43681         using a constant-length memcmp instead of strcmp which needs to take
43682         care of NUL bytes.
43684         * src/regex.c (re_wctype): Delete function.  Replace it with:
43685         (re_wctype_parse): New function which parses a whole [:name:] string
43686         and returns a RECC_* constant or -1 if the string is not of [:name:]
43687         format.
43688         (regex_compile): Use re_wctype_parse.
43689         * src/syntax.c (skip_chars): Use re_wctype_parse.
43691 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43693         Split regex glibc test cases into separet tests
43695         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
43696         tests cases.
43697         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
43698         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
43699         from ‘regex-tests’.
43701 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43703         Don’t (require 'cl)
43705         * test/src/regex-tests.el: Don’t (require 'cl).
43706         (regex-tests-PCRE): s/loop/cl-loop/
43708 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
43710         Fix reading of regex-resources in regex-tests
43712         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
43713         ‘buffer-file-name’ does not work when running the test from command
43714         line, i.e. via make, which results in (wrong-type-argument stringp nil)
43715         failures.  Replace it with hard-coded path.
43716         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
43717         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
43718         the ‘regex-resources’ path component so the tests don’t need to specify
43719         it explicitly.
43721 2016-08-02  Dima Kogan  <dima@secretsauce.net>
43723         Added driver for the regex tests
43725         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
43726         cases.
43728         [mina86@mina86.com: merged test with existing file]
43730 2016-08-02  Dima Kogan  <dima@secretsauce.net>
43732         New regex tests imported from glibc 2.21
43734         * test/src/regex-resources/BOOST.tests:
43735         * test/src/regex-resources/PCRE.tests:
43736         * test/src/regex-resources/PTESTS:
43737         * test/src/regex-resources/TESTS:
43738         New test data files
43740         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
43742 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
43744         Fix use-after-close in connect_network_socket
43746         * src/process.c (connect_network_socket):
43747         Reverse sense of previous fix.  Problem reported by Ken Brown in:
43748         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
43750 2016-08-01  Glenn Morris  <rgm@gnu.org>
43752         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
43753         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
43755 2016-07-31  Stefan Merten  <stefan@merten-home.de>
43757         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
43759         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
43760         representing reStructuredText section header concepts.
43761         (rst-mode-map, rst-new-preferred-hdr)
43762         (rst-update-section, rst-classify-adornment)
43763         (rst-ttl-at-point, rst-all-ttls-cache)
43764         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
43765         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
43766         (rst-all-ttls-with-level, rst-get-previous-hdr)
43767         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
43768         (rst-adjust-section, rst-promote-region)
43769         (rst-display-hdr-hierarchy, rst-straighten-sections)
43770         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
43771         (rst-toc-insert-node, rst-toc-node, rst-toc)
43772         (rst-forward-section, rst-adornment-level)
43773         (rst-font-lock-handle-adornment-pre-match-form)
43774         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
43775         using classes.
43776         (rst-compare-adornments, rst-get-adornment-match): Remove
43777         functions now in classes.
43778         (rst-re-alist-def, rst-toc-mode)
43779         (rst-font-lock-extend-region-extend): Minor improvements.
43780         (rst-mode, rst-compile): Use `setq-local'.
43781         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
43782         (rst-official-version, rst-official-cvs-rev)
43783         (rst-package-emacs-version-alist): Maintain version tags.
43785 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
43787         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
43789         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
43790         bar width (Bug#24107).  Reindent.
43791         * src/xfns.c (frame_geometry): Fix calculation of tool bar
43792         width on non-GTK builds.
43794 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
43796         Fix region display while dragging mouse
43798         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
43799         buffer of the drag event, to allow mark to be set and the region
43800         be shown as we drag the mouse.  (Bug#24030)
43802 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
43804         Copy just non-empty strings to kill-ring
43806         * lisp/dired.el (dired-copy-filename-as-kill):
43807         Do not change the kill ring when the string is empty (Bug#24103).
43809 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
43811         Avoid warnings about undo list while decoding
43813         * src/coding.c (coding_restore_undo_list): New function.
43814         (decode_coding_gap, decode_coding_object): Temporarily set the
43815         buffer's undo list to t, to avoid warnings when decoding changes
43816         the buffer many times, e.g. due to post-read-conversion.  Use
43817         coding_restore_undo_list to make sure the undo list is restored.
43818         (Bug#23813)
43820 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
43822         profiler: Add mouse-1 binding for tree expansion
43824         (profiler-report-mode-map): Add mouse-1 binding for
43825         profiler-report-toggle-entry (Bug #13455).
43827 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
43829         Enable addition of local printers from a mode hook.
43831         * doc/misc/ses.texi (Printer functions): Split the node into 5
43832         sub-nodes + add some extra documentation.
43833         (Various kinds of printer functions): Make an itemization to
43834         disintguish better the 3 types of printers, give an example of
43835         lambda printer definition.
43836         (Standard printer functions): Add documentation for ses-prin1
43837         printer function.
43838         (Local printer functions): Add documentation for creating
43839         local printers programmatically from a hook.
43840         (Writing a lambda printer function): Add documentation about
43841         anti-stackoverflow precautions to take when you call the
43842         standard printer functions from inside a local printer.
43844         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
43845         among standard printer function, and update docstring
43846         accordingly.
43847         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
43848         of prin1-to-string.
43849         (ses-define-local-printer): Add definition to arguments so
43850         that a local printer can be defined programmatically from a
43851         mode hook.  Make docstring more substantial.  Use completing
43852         read for local printer name input.  Plus some minor
43853         optimization.
43854         (ses-define-if-new-local-printer): New defsubst.
43855         (ses-center, ses-center-span, ses-dashfill)
43856         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
43857         as an optional argument to superseed column printer/default
43858         spreadsheet printer.
43859         (ses-prin1): New defun.
43861 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
43863         Prompt to save gnus-cloud-method.
43865         Since `gnus-cloud-method' is a defcustom, when it's set, we should
43866         prompt the user to save it, so the customization is not lost on
43867         restart.
43869         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
43870         Prompt to save the customization of `gnus-cloud-method'.
43872 2016-07-27  Ken Brown  <kbrown@cornell.edu>
43874         Fix dired-test-bug22694
43876         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
43877         "bug22694" directory, if it exists, before running the test.  It
43878         might be left over from a previous aborted run of the test.
43880 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
43882         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
43884         * src/regex.c (mutually_exclusive_p): Fix how whether character is
43885         unibyte is tested when calling execute_charset function.  This bug has
43886         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
43887         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
43888         Reinstitute it.
43890 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
43892         Remove hook when disabling ibuffer-auto-mode
43894         * lisp/ibuf-ext.el (ibuffer-auto-mode):
43895         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
43897 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
43899         * lisp/subr.el (cancel-change-group): Reset cell in case of error
43901         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
43902         to make sure we properly undo the temporary change even in case of error.
43904 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
43906         Avoid segfaults in compute_motion
43908         * src/indent.c (compute_motion): Don't turn on and don't use the
43909         width cache unless the buffer's width-table is non-nil.  This
43910         avoids segfaults because code that uses the width cache assumes
43911         the width-table exists.  (Bug#24064)
43913 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
43915         Do not sharp-quote lambdas
43917         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
43919 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
43921         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
43922         'base64-gzip encoding.
43924 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
43926         Add warning to format-alist docs.
43928         */doc/lispref/files.texi (format-alist) Change documentation for
43929         format-alist to warn against file modifications when formatting, which
43930         leads to incorrect results.  (Bug#5440)
43932         Changes suggested by Eli.
43934 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
43936         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
43937         Preserve key bindings that shr adds (bug#23964).
43939 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
43941         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
43943         The regex engine tries to optimize Kleene star by avoiding backtracking
43944         when it can detect that star’s operand cannot match what follows it in
43945         the pattern.
43947         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
43948         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
43949         the entire string.  Literal digit one still present in the pattern will
43950         however not match the remaining empty string.
43952         Normally, backtracking would be performed trying a shorter match for the
43953         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
43954         engine knows whatever would be put back into the string cannot possibly
43955         match literal digit one so no backtracking will be attempted.
43957         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
43958         if the character class CC does not match character X.  In the above
43959         example, this holds because digit one is not in alpha character class.
43961         This test is performed by mutually_exclusive_p function but it did not
43962         check class bits of a charset opcode.  This resulted in an assumption
43963         that character classes do not match multibyte characters.  For example,
43964         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
43966         This, in turn, led to the aforementioned Kleene star optimization being
43967         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
43968         match ‘☠’ but doesn’t as can be tested by executing
43969             (string-match-p "[[:graph:]]*☠" "☠")
43970         which should return 0 but instead yields nil.
43972         This issue affects any class witch matches multibyte characters, i.e.
43973         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
43974         fail to match ‘X’.
43976         * src/regex.c (executing_charset): A new function for executing the
43977         charset and charset_not opcodes.  It performs check on the character
43978         taking into consideration existing bitmap, range table and class bits.
43979         It also advances the pointer in the regex bytecode past the parsed
43980         opcode.
43981         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
43982         Code now included in executing_charset.
43983         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
43984         of executing_charset function.
43986         * test/src/regex-tests.el: New file with tests for the character class
43987         matching.
43989 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
43991         Fix auto-reverting image-mode buffer (bug#21598)
43993         When auto-reverting an image buffer, `image-mode' is not called since
43994         `revert-buffer' is called with `preserve-modes' set to non-nil.
43996         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
43997         image display property for the current buffer before updating it.
43999 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44001         ‘signal’ no longer returns
44003         Although for decades ‘signal’ has been documented to not return,
44004         a corner case in the Lisp debugger causes ‘signal’ to return.
44005         Remove the corner case and adjust Emacs internals accordingly.
44006         An alternative would be to document the corner case, but this
44007         would complicate the Lisp API unnecessarily.  (Bug#24047)
44008         * src/eval.c (signal_or_quit): New function, with most of the
44009         old contents of Fsignal.
44010         (quit): New function, which uses signal_or_quit and which
44011         might return.  All keyboard-based callers of Fsignal (Qquit,
44012         Qnil) changed to use this new function instead.
44013         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
44014         changed.
44015         (xsignal): Move to lisp.h.
44016         * src/lisp.h (xsignal): Now an inline function, as it's now
44017         just an alias for Fsignal.
44019 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44021         Require libgnutls unless --with-gnutls=no
44023         * configure.ac: Report an error if the gnutls library is missing,
44024         unless --with-gnutls=no is specified.
44026 2016-07-23  Alan Mackenzie  <acm@muc.de>
44028         Fontify C++ parameter packs.
44030         This fixes debbugs #23610.
44032         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
44033         c-lang-defconsts/defvars.
44034         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
44036         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
44038 2016-07-23  Alan Mackenzie  <acm@muc.de>
44040         Java Mode: Handle strings as case labels correctly.
44042         This fixes debbugs #23901.
44044         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
44045         Java value.
44047 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
44049         Avoid repeated warnings while restoring desktop
44051         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
44052         when files are being opened during desktop restore.
44054 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
44056         Fix compilation warning in the MinGW build
44058         * nt/inc/ms-w32.h: Include stdint.h.
44059         (_execvp, execve): Provide prototypes.
44061         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
44062         it is now in nt/inc/ms-w32.h.
44063         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
44064         mismatch.
44065         (sys_ctime): Remove, not used.
44067 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
44069         Move read-multiple-choice to subr-x.el
44071         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
44073         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
44074         from subr.el.
44076         * lisp/gnus/message.el (subr-x): Ditto.
44078         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
44080         read-multiple-choice doesn't need to be in the dumped Emacs, so move
44081         it to a less central file.
44083 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
44085         Update define-ibuffer-op doc string
44087         * lisp/ibuf-macs.el (define-ibuffer-op):
44088         Mention that BODY is evaluated with 'buf' bound to the actual
44089         marked buffer being processed.
44091 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
44093         Update define-ibuffer-op doc string
44095         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
44096         instead of refer the reader to the source code.
44097         Document arg BODY.
44099 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44101         Fix shell-command[-on-region] doc strings
44103         * lisp/simple.el (shell-command, shell-command-on-region):
44104         Drop the sentence saying that the command may delete the buffer
44105         '*Shell Command Output*': the command never delete such
44106         buffer (Bug#23936).
44108 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
44110         ;Revert ";Partially revert 2649105a"
44112         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
44114 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
44116         ;Partially revert 2649105a
44118         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
44119         setq-local to modify prettify-symbols-compose-predicate.
44121 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
44123         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
44125         (struct byte_stack): Re-add `bottom'.
44126         (exec_byte_code): Initialize it.
44128 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44130         Ibuffer: Use default output buffer for shell commands
44132         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
44133         '*Shell Command Output*', as command 'shell-command-file'.
44135 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
44137         Fix failing test
44139         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
44140         Enable Font Lock mode in order to initialize
44141         'char-property-alias-alist' (Bug#23954).
44143 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
44145         Fix use-after-close in connect_network_socket
44147         * src/process.c (connect_network_socket): Don’t use
44148         external_sock_fd after closing it.  Problem found by Coverity Scan.
44150 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
44152         * lisp/net/shr.el (shr-fill-line):
44153         Preserve text properties in folded lines (bug#24034).
44155 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44157         Fix lifetime bug in tzlookup
44159         * src/editfns.c (tzlookup): Fix storage lifetime bug when
44160         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
44162 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
44164         Fix shr.el/image build problem
44166         (Bug#24035)
44168         * lisp/net/shr.el: Require image, since some builds seem to
44169         break without it (bug#24035).
44171 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
44173         Bring the Gnus Cloud package into working order.
44175         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
44177         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
44178         simplify non-file data.
44179         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
44180         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
44181         EPG if that's available, Base64+gzip otherwise.
44182         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
44183         interactive, defaults to enabled.
44184         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
44185         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
44186         "Version".
44187         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
44188         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
44189         storage methods as per gnus-cloud-storage-method.
44190         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
44191         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
44192         entries.
44193         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
44194         file and data handlers.
44195         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
44196         entries.
44197         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
44198         be more careful.
44199         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
44200         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
44201         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
44202         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
44203         (gnus-cloud-prune-old-chunks): Fix indentation.
44204         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
44205         timestamp.
44206         (gnus-cloud-file-new-p): Use it.
44207         (gnus-cloud-upload-all-data): Add interactive convenience function to
44208         upload all data.
44209         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
44210         data separately; refresh Gnus Cloud group after insert.
44211         (gnus-cloud-download-all-data): Add interactive convenience function to
44212         download all data.
44213         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
44214         marker and different storage methods.
44215         (gnus-cloud-host-server-p): New function to check if a server is the
44216         Gnus Cloud host.
44217         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
44218         (gnus-cloud-host-acceptable-method-p): New function so
44219         other code can check if a server method can host the Gnus cloud.
44220         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
44221         (gnus-cloud-method): Make this a defcustom and note how to set it.
44223         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
44224         keybindings under the `~' prefix.
44226         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
44227         (gnus-server-cloud, gnus-server-cloud-host)
44228         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
44229         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
44230         synchronized servers and synchronization host server toggling (`i' and
44231         `I') and visual display.
44232         (gnus-server-toggle-cloud-method-server): Use
44233         gnus-cloud-host-acceptable-method-p.
44234         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
44235         set the gnus-cloud-method. Ask the user if it's OK to upload the data
44236         right now.
44238         * doc/misc/gnus.texi: Document Gnus Cloud package.
44240 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44242         Remove CHECK_FRAME_FONT cruft from bytecode.c
44244         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
44245         Remove some old ‘#if 0’ code.
44247 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44249         Work around GCC bug 54561 in a better way
44251         The new approach is less selective, but also less intrusive on C code.
44252         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
44253         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
44255 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
44257         Fix port to glibc 2.24 (pre-release) + ppc64
44259         * src/callproc.c (child_setup): Use emacs_exec_file
44260         so that ASLR is enabled in the child process.
44261         * src/emacs.c: Move some personality details into sys/sysdep.c.
44262         Do not include <sys/personality.h>.
44263         (main): Disable ASLR earlier, so that we don’t chdir twice.
44264         * src/lisp.h (disable_address_randomization): New decl.
44265         * src/sysdep.c (disable_address_randomization)
44266         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
44267         here from emacs.c.
44268         (emacs_exec_file): New function.
44270 2016-07-19  Alan Third  <alan@idiocy.org>
44272         Prevent bar cursor overwriting next glyph (bug#16856)
44274         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
44275         before setting final size.
44277 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
44279         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
44281         * src/insdel.c (adjust_markers_bytepos): New function.
44282         * src/lisp.h (adjust_markers_bytepos): Add prototype.
44283         * src/insdel.c (replace_range, replace_range_2):
44284         * src/editfns.c (Ftranspose_regions): Call
44285         adjust_markers_bytepos.  (Bug#5131)
44287         * test/src/editfns-tests.el (transpose-test-reverse-word)
44288         (transpose-test-get-byte-positions): New functions.
44289         (transpose-ascii-regions-test)
44290         (transpose-nonascii-regions-test-1)
44291         (transpose-nonascii-regions-test-2): New tests.
44293 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
44295         Make gif animation work (bug#24004)
44297         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
44298         an animation is too big (bug#24004).
44300 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
44302         * lisp/simple.el (undo-amalgamate-change-group): New function
44304         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
44305         (viper-set-complex-command-for-undo): Save current state with
44306         prepare-change-group.
44307         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
44308         (viper-buffer-undo-list-mark): Remove.
44310 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
44312         Keep w32 environment settings internal only
44314         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
44315         set_initial_environment call.  This prevents Emacs' modifications to the
44316         environment from contaminating Vprocess_environment and
44317         Vinitial_environment (Bug #10980).
44318         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
44319         environment in as a fallback to Vprocess_environment.
44320         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
44322 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
44324         Better documentation for cl-reduce (bug#24014)
44326         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
44328 2016-07-17  Alan Third  <alan@idiocy.org>
44330         Remove separate pool for popup dialogs (bug#23856)
44332         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
44333         autorelease pool and Popdown_data struct.
44335 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
44337         Use eldoc-documentation-functions
44339         * lisp/hexl.el (hexl-mode):
44340         * lisp/ielm.el (inferior-emacs-lisp-mode):
44341         * lisp/progmodes/cfengine.el (cfengine3-mode):
44342         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
44343         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
44344         * lisp/progmodes/python.el (python-mode):
44345         * lisp/simple.el (read--expression): Add buffer-locally to hook
44346         eldoc-documentation-functions.
44348 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
44350         Optimize ucs-normalize.el compilation
44352         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
44353         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
44354         regexp-opt.
44355         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
44356         temp buffer for the whole loop.
44358 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
44360         Add tests for ucs-normalize.el
44362         Some tests are marked as expected to fail.
44364         * test/lisp/international/ucs-normalize-tests.el: New tests.
44365         * admin/unidata/NormalizationTest.txt: Add data for tests.
44366         * admin/unidata/README: Add URL for NormalizationTest.txt.
44367         * admin/notes/unicode: Add note about running (and updating the data
44368         for) the new tests.  Remove note about normalization being unsupported.
44370 2016-07-16  Alan Third  <alan@idiocy.org>
44372         Fix cursor display (bug#23993)
44374         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
44376 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44378         Stop worrying about Alliant in bytecode.c
44380         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
44382 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44384         Remove BYTE_MAINTAIN_TOP
44386         It is no longer needed now that we assume GC_MARK_STACK ==
44387         GC_MAKE_GCPROS_NOOPS.
44388         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
44389         All uses removed, and code simplified accordingly.
44390         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
44391         are always no-ops now.  All uses removed.
44392         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
44393         since it is now equivalent.
44395 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44397         Remove now-inaccurate bytecode comments
44399         * src/bytecode.c: Remove comments that are no longer accurate.
44400         Most of these are actually old ChangeLog entries.
44402 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44404         Port to glibc 2.24 (pre-release) + ppc64
44406         Inspired by a suggestion by Florian Weimer in:
44407         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
44408         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
44409         Rename from HAVE_PERSONALITY_LINUX32, and check for
44410         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
44411         All uses changed.
44412         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
44413         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
44414         flag ourselves.  Just set that flag, rather than also setting the
44415         persona.  When doing it, avoid functions like putenv that may
44416         allocate memory.
44418 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
44420         Revert "Add a couple cells to lisp-prettify-symbols-alist"
44422         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
44424 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
44426         * lisp/simple.el (shell-command): Add save-match-data comment
44428 2016-07-14  Alan Mackenzie  <acm@muc.de>
44430         CC Mode: correct incorrect invocation of parse-partial-sexp.
44432         Fixes bug #23944.
44434         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
44435         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
44437 2016-07-14  Andreas Schwab  <schwab@suse.de>
44439         Fix configure summary for hybrid malloc configurations
44441         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
44442         parenthesize value of GNU_MALLOC_reason.
44444 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
44446         Fix delete-duplicate-lines
44448         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
44449         first line when operating backward (bug#23863).
44451 2016-07-14  Andreas Schwab  <schwab@suse.de>
44453         Remove unused SHEAP_OBJ
44455         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
44457 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
44459         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
44460         Use shr-image-map instead of shr-map (bug#23964).
44462 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
44464         * lisp/mouse.el (mouse): Consolidate group definition here
44466         * lisp/cus-edit.el (mouse): Remove both group definitions.
44468 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
44470         Include versioned preloaded libraries in `package--builtin-versions'
44472         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
44473         exclude preloaded libraries or remove entries generated for them.
44474         (autoload-generate-file-autoloads): Do not generate autoload
44475         statements for preloaded libraries.
44477 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
44479         Omit unnecessary #includes from xwidget.c
44481         * src/xwidget.c: Remove #include directives that are not needed.
44482         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
44483         file is compiled only if the X interface is available.
44485 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
44487         Port xwidget.c to GCC 6 with --enable-gcc-warnings
44489         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
44490         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
44491         possible bugs found by GCC.
44493 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
44495         Escape meta chars in commands processed by shell
44497         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
44498         in all commands to be passed to a shell (Bug#23959).
44500 2016-07-12  John Wiegley  <johnw@newartisans.com>
44502         Revert "Cleanup tooltips"
44504         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
44506         I am reverting this change because it was applied without prior discussion
44507         on emacs-devel, and has been found to break the NS port.  It needs more
44508         testing and review before it should be applied here.
44510 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
44512         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
44514         (cl-prog, cl-prog*): New macros.
44516 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
44518         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
44520         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
44521         (cl--generic-make-defmethod-docstring): New function for that.
44522         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
44523         (cl-generic-define-method, cl--generic-describe): Change `load-history'
44524         format of cl-defmethods, so as not to confused methods with equal
44525         specializers but different qualifiers.
44526         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
44528 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
44530         Don't install keyboard hook when debugged on MS-Windows
44532         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
44533         hook if we are being debugged.  This avoids hosing the debugger,
44534         because the hook is global, and is called in the context of the
44535         thread which installed it, and that thread is stopped when GDB has
44536         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
44538 2016-07-12  Alan Mackenzie  <acm@muc.de>
44540         Amend CC Mode to handle big C++ raw strings correctly.
44542         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
44543         in the +-500 bytes boundaries imposed for macros.
44545         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
44546         macro boundaries here.
44547         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
44548         lower boundary.  Fix the check on the upper boundary.
44550         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
44551         point already being within a raw string.
44553         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
44554         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
44555         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
44556         with other Emacsen.
44558 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
44560         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
44562 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
44564         Cleanup tooltips
44566         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
44567         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
44568         (FRAME_TOOLTIP_P): New macro.
44569         * src/frame.c (make_frame): Mark new frame as regular frame by default.
44570         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
44571         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
44572         and 'Qtooltip_parameters' instead.
44573         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
44574         * src/gtkutil.c (xg_hide_tip): New function.
44575         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
44576         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
44577         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
44578         * src/w32fns.c (unwind_create_tip_frame): Remove.
44579         (w32_display_monitor_attributes_list)
44580         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
44581         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
44582         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
44583         as a tooltip frame and record it using appropriate display info.
44584         (x_hide_tooltip): Add frame arg.
44585         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
44586         base frame parameters, store tooltip hide timer among tooltip frame
44587         parameters.
44588         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
44589         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
44590         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
44591         * src/w32term.c (w32_read_socket): Extract tooltip window id from
44592         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
44593         (x_new_font): Use FRAME_TOOLTIP_P.
44594         (x_free_frame_resources): Reset pointer to tooltip frame.
44595         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
44596         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
44597         Use FRAME_TOOLTIP_P.
44598         * src/xfns.c (x_make_monitor_attribute_list)
44599         (Fx_display_monitor_attributes_list): Likewise.
44600         (unwind_create_tip_frame): Remove.
44601         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
44602         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
44603         as a tooltip frame and record it using appropriate display info.
44604         (x_hide_tooltip): Add frame arg.
44605         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
44606         base frame parameters, store tooltip hide timer among tooltip frame
44607         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
44608         event loop.
44609         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
44610         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
44611         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
44612         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
44613         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
44614         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
44615         (x_free_frame_resources): Reset pointer to tooltip frame.
44616         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
44617         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
44619 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
44621         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
44623 2016-07-11  Mario Lang  <mlang@delysid.org>
44625         Test mapcan
44627         * test/src/fns-tests.el (fns-tests-mapcan): New test.
44629 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
44631         Prevent to apply funcall on t
44633         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
44634         'ediff-after-quit-hook-internal' hook (Bug#23933).
44636 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
44638         Ignore angle mode while simplifying units
44640         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
44641         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
44642         is non-nil (Bug#23889).
44643         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
44644         (math-from-radians-2, math-to-radians-2): Idem.
44646 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
44648         Fix display of composed characters
44650         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
44651         iteration through composition glyphs.  (Bug#23938)
44653 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
44655         Fix composition bug caused by off-by-1 typo
44657         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
44658         computing composition glyph (Bug#23938).
44660 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
44662         Dired always read file system
44664         * lisp/dired.el (dired-always-read-filesystem): Add new option.
44665         (dired-mark-files-containing-regexp): Use it (Bug#22694).
44666         * doc/emacs/dired.texi: Mention it in the manual.
44667         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
44668         ;* etc/NEWS: Add entry for this change.
44670 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44672         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
44674 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
44676         Avoid 'unused var' 'not left unused var' warnings
44678         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
44679         Rename used var '_buffer' to 'cbuffer'.
44681         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
44682         to cmark'.
44684 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
44686         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
44688 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
44690         Add a note how to use `tramp-own-remote-path'
44692         * doc/misc/tramp.texi (Inline methods, External methods)
44693         (Remote shell setup, Android shell setup)
44694         (Frequently Asked Questions, Frequently Asked Questions):
44695         Use @command and @samp consequently.
44696         (Remote programs): The remote shell must support the -l
44697         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
44699 2016-07-10  Alan Third  <alan@idiocy.org>
44701         Remove App Nap setting from Info.plist (bug#22993)
44703         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
44704         it doesn't actually disable app nap.
44706 2016-07-09  Mario Lang  <mlang@delysid.org>
44708         An efficient built-in mapcan
44710         A built-in version of `mapcan' avoids consing up (and GC'ing) the
44711         intermediate list.
44713         * src/fns.c (Fmapcan): New built-in.
44714         (syms_of_fns): Define.
44716         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
44718         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
44719         if only one sequence is provided.
44721         * lisp/progmodes/hideif.el (hif-delimit):
44722         * lisp/dired-aux.el (dired-do-find-regexp):
44723         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
44724         `cl-mapcan'.
44726         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
44727         compiling.
44729         * lisp/mouse.el (mouse-buffer-menu-map):
44730         * lisp/net/pop3.el (pop3-uidl-dele):
44731         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
44732         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
44733         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
44734         * lisp/gnus/nnmail.el (nnmail-split-it):
44735         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
44736         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
44737         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
44739 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
44741         Detect aliases to built-in functions
44743         * lisp/help-fns.el (describe-function-1): Check for aliases
44744         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
44746         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
44747         failing this test.
44749 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
44751         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
44753         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
44754         New variable.
44755         (tramp-gvfs-maybe-open-connection): Use it.
44757         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
44758         Reorder test.
44760 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
44762         Wrap around error in coreutil's ls
44764         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
44765         "--quoting-style=literal" if remote host supports quoting style.
44766         Recent versions of coreutils changed default quoting style to
44767         "--quoting=shell-escape".
44769 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
44771         Minor tweaks of copying text properties when padding strings
44773         * src/editfns.c (styled_format): Don't include padding on the left
44774         in the properties at the beginning of the string.  (Bug#23897)
44776         * test/src/editfns-tests.el (format-properties): Add tests for
44777         faces when the string is padded on the left or on the right.
44779 2016-07-08  Mario Lang  <mlang@delysid.org>
44781         No need to require the same feature twice.
44783         * lisp/dired-aux.el (require 'cl-lib): Remove.
44785 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
44787         Turn on lexical binding
44789         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
44790         (secrets-search-items, secrets-create-item): Use append.
44791         (secrets-show-secrets): Remove unused binding.
44792         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
44793         Ignore unused arguments.
44795 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
44797         Derive secrets-mode from special-mode
44799         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
44800         (secrets-mode-map): New variable.  Add key bindings to n and p for
44801         navigating lines.
44802         (secrets-mode): Derive from special-mode.  Remove keymap code and
44803         initialization code.  Do not record undo information.  Make
44804         secrets-show-collections the local revert-buffer-function.
44805         (secrets-show-collections): Change signature to satisfy revert-buffer.
44807 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
44809         Add a couple cells to lisp-prettify-symbols-alist
44811         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
44812         "sqrt" and "not".
44814 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
44816         Detect remote uid and gid in tramp-gvfs.el
44818         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
44819         (tramp-gvfs-handler-mounted-unmounted)
44820         (tramp-gvfs-connection-mounted-p):
44821         Make "default-location" a connection property.
44822         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
44823         (tramp-gvfs-maybe-open-connection): Use them.
44825 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
44827         Yet another fix for copying properties by 'format'
44829         * src/textprop.c (extend_property_ranges): Accept an additional
44830         argument OLD_END, and only extend the end of a property range if
44831         its original end is at OLD_END; all the other ranges are left
44832         intact.  (Bug#23897)
44833         * src/editfns.c (styled_format): Pass the original length of the
44834         string to 'extend_property_ranges'.
44835         * src/intervals.h (extend_property_ranges): Adjust prototype.
44837         * test/src/editfns-tests.el (format-properties): Add tests for
44838         bug#23897.
44840 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
44842         Allow selecting region with mouse to move point to beginning
44844         * etc/NEWS: Mention new user option
44845         `mouse-select-region-move-to-beginning'.
44847         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
44848         to the following.
44849         (Word and Line Mouse): Describe how double-clicking mouse-1 to
44850         activate region and `mouse-select-region-move-to-beginning'
44851         affect point.
44853         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
44854         (mouse-set-point): Use it.  (Bug#23478)
44856 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
44858         Fix menu bar breakage
44860         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
44861         to prevent void variable errors, and fix typo (bug#23918).
44863 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
44865         Copy buffer names to kill ring
44867         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
44868         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
44869         ;* etc/NEWS: Add entry for this new feature.
44871 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44873         Remove just input mark
44875         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
44876         just MARK.
44878 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44880         Ibuffer change marks
44882         * lisp/ibuffer.el (ibuffer-change-marks): New command.
44883         (ibuffer-mode-map): Bind it to '* c'.
44884         (ibuffer-mode-groups-popup): Update menus.
44885         (ibuffer-mode): Update mode doc.
44887 2016-07-07  Alan Third  <alan@idiocy.org>
44889         Prevent NS event loop being re-entered (bug#11049)
44891         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
44892         in event loop instead of aborting.
44894 2016-07-07  Alan Third  <alan@idiocy.org>
44896         Fix some deprecated functions
44898         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
44899         convertBaseToScreen with convertRectToScreen.
44900         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
44901         OS X 10.2, and always seems to return nil.
44903 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
44905         Disable App Nap (bug#22993)
44907         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
44909 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
44911         Fix an error in Tramp for rsync
44913         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
44914         Make it work for "rsync".
44915         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
44917 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44919         Ibuffer: Mark locked buffers
44921         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
44922         (ibuffer-mark-by-locked): New command.
44923         (ibuffer-mode-map): Bind it to '% L'; update menus.
44924         (ibuffer-mode): Update mode doc.
44925         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
44927 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44929         * lisp/ibuffer.el: Add face for locked buffers
44931         * lisp/ibuffer.el: Add mark for locked buffers
44933         ;* etc/NEWS (Ibuffer): Update entry according with last commit
44935 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44937         Remove duplicate binding
44939         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
44940         just bound to '% g'.
44941         As suggested in:
44942         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
44944 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
44946         Ibuffer: Drop needless binding
44948         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
44949         already bound to 't' inside 'ibuffer-set-mark'.
44951 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
44953         Run tests from non-byte compiled files
44955         * test/Makefile.in: Eval non-byte-compiled files for tests.
44957 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
44959         Replace eldoc-documentation-function with a hook
44961         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
44962         (eldoc-documentation-function): Make into obsolete alias.
44963         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
44964         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
44965         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
44966         on eldoc-documentation-functions.
44967         (eldoc-supported-p): New function.
44968         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
44969         * etc/NEWS: Mention eldoc-documentation-functions.
44970         * doc/lispref/modes.texi: Update reference.
44972 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
44974         Complete "initial" and "unset" in CSS mode
44976         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
44977         "initial" and "unset" completion candidates for all CSS properties,
44978         just like "inherit".
44980         * test/lisp/textmodes/css-mode-tests.el
44981         (css-test-complete-property-value): Update test to reflect the above
44982         change.
44984 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
44986         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
44988 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44990         Simplify rfc1345.el a bit
44992         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
44993         that would no longer parse.  Replace control characters with
44994         escapes in character constants.  Omit unnecessary \ after ?.
44995         This does not change behavior.
44997 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
44999         Prefer 'frame-parameter' where it is expected to be a bit faster
45001         * lisp/international/mule-diag.el (mule-diag):
45002         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
45003         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
45004         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
45005         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
45007 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
45009         Reduce consing caused by vertical motion commands
45011         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
45012         parameters frequently requested by calls to 'next-line' and 'previous-line'.
45014 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
45016         Make all Tramp tests pass for "gdrive" method
45018         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
45019         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
45020         (tramp-compat-delete-directory):
45021         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
45022         Use `directory-files-no-dot-files-regexp'.
45024         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
45025         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
45026         case of problems.
45028         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
45029         Adapt docstring.
45030         (tramp-test14-delete-directory): Make further tests.
45032 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
45034         Fix redisplay with window-start on continuation lines
45036         * src/xdisp.c (pos_visible_p): Return false if the window starts
45037         after CHARPOS.
45038         (compute_window_start_on_continuation_line): Don't return
45039         window-start position that is after point in the buffer, as the
45040         callers don't expect this to happen, and will generally display an
45041         empty window with the cursor in its middle.  (Bug#23871)
45043 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
45045         Add :expected-result :failed for unfixed bug test
45047         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
45049 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
45051         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
45053 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45055         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
45057         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
45058         there is no need for the end-marker to be created.
45060 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45062         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
45064         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
45065         syntax to non-whitespace so that ‘\s-’ regular expression does not match
45066         it.
45068         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
45069         as a consequence ‘line-beginning-position’ function does not need to be
45070         called any longer.
45072         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
45073         expression ends up matching empty lins since ‘\s-’ matches newline
45074         characetr of proceeding line.  This leads to needless loop iterations.
45076         Since previous change to ‘delete-trailing-whitespace’ already introduced
45077         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
45078         character syntax.
45080 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
45082         Make ‘delete-trailing-whitespace’ delete spaces after form feed
45084         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
45085         a non-whitespace character (regradless of whether it’s character syntax
45086         is whitespace) and delete any whitespace following it instead of leaving
45087         lines with form feeds completely unchanged.  I.e. a line like "\f " will
45088         now became "\f".
45090 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
45092         Cleanup XEditRes hack
45094         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
45095         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
45096         linked with -lXmu.  This should work with any non-ancient Xmu library.
45097         * src/xfns.c (toplevel): Remove old cruft.
45098         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
45099         * src/xterm.c (toplevel): Remove old cruft.
45100         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
45101         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
45103 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
45105         Add Google Drive support to Tramp
45107         * doc/misc/tramp.texi: Add `gdrive' method.
45109         * doc/misc/trampver.texi:
45110         * lisp/net/trampver.el: Change version to "2.3.1-pre".
45112         * etc/NEWS: Add Tramp connection method "gdrive".
45114         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
45115         (tramp-default-user-alist, tramp-default-host-alist): Add rule
45116         for "gdrive".
45117         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
45118         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
45119         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
45120         "standard::display-name" as file name, if available.
45121         (tramp-gvfs-handle-file-name-all-completions): Simplify.
45122         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
45123         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
45124         Map between "gdrive" and "google-drive".
45126         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
45128         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
45129         Do not enable `tramp-message-show-message'.
45130         (tramp-test13-make-directory, tramp-test14-delete-directory):
45131         Do not specify error type.
45133 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
45135         Calc: Update mode line after change mode
45137         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
45139 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
45141         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
45143 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
45145         Re-fix open-network-stream responsiveness
45147         Problem reported by Christer Ekholm (Bug#23864).
45148         * src/process.c (wait_reading_process_output): Further fix for
45149         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
45150         wait == INFINITY and got_output_end_time is invalid.  See:
45151         https://bugs.gnu.org/23864#20
45153 2016-07-03  Alan Mackenzie  <acm@muc.de>
45155         Remove redundant forms from CC Mode for faster fontification
45157         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
45158         the "main" cond form in the function, which have been redundant since the
45159         extraction of c-font-lock-cut-off-declarators from the function on
45160         2016-06-15/16.
45162 2016-07-03  Alan Mackenzie  <acm@muc.de>
45164         Speed up CC Mode fontification with less accurate functions extending region
45166         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
45167         (c-font-lock-enclosing-decls)
45168         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
45169         c-beginning-of-decl-1 with less accurate invocations of
45170         c-syntactic-skip-backwards to speed up fontification.
45172 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
45174         Ibuffer: unmark all buffers without confirmation
45176         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
45177         (ibuffer-mouse-popup-menu): Use it.
45178         (ibuffer-mode): Update mode doc.
45179         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
45180         Rebind 'ibuffer-do-replace-regexp' to 'r'.
45182 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
45184         Fix open-network-stream responsiveness
45186         Problem reported by Constantin Kulikov (Bug#23684).
45187         * src/process.c (wait_reading_process_output):
45188         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
45189         when wait == INFINITY and got_output_end_time is invalid.
45190         In this case the code should break, not continue.
45192 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
45194         Ibuffer: Mark buffers by content
45196         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
45197         (ibuffer-never-search-content-name): New option.
45198         (ibuffer-never-search-content-mode): Idem.
45199         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
45201         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
45202         (ibuffer-mode): Update mode documentation.
45204 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
45206         ibuffer-copy-filename-as-kill verbosity increase
45208         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
45209         Use shorter name, result, for a local bound var.
45210         Show the string result in the echo area.
45212 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45214         Fix cursor positioning on TTY frames after stretch glyph
45216         * src/term.c (append_glyph, append_composite_glyph)
45217         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
45218         members of the produced 'struct glyph'.  Fixes cursor positioning
45219         on the first character after a stretch glyph produced from
45220         line-prefix, wrap-prefix, etc. on TTY frames.
45222 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45224         Fix vertical-movement in buffers with wrap-prefix
45226         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
45227         whenever we zero the vpos vertical position of the iterator.
45228         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
45229         wrap-prefix regardless of whether the current Y coordinate is
45230         inside the window dimensions.  (Bug#23879)
45232 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
45234         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
45236         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
45237         FACE_OPT_FROM_ID; all callers changed.
45238         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
45239         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
45240         dereferenced.
45241         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
45242         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
45243         when the glyph string is drawn.
45244         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
45245         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
45246         in fill_composite_glyph_string.
45247         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
45248         FACE_FROM_ID, since the function and its caller can cope with that
45249         situation.  Conflate 3 tests of missing face or font into just
45250         one.
45251         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
45252         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
45253         functions can cope with that situation.
45254         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
45255         not be used.
45256         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
45258 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
45260         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
45262 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
45264         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
45266         i.e. rename from auto-source--symbol-keyword.
45268 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
45270         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
45272         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
45273         get_widget_info.
45275 2016-06-30  Alan Mackenzie  <acm@muc.de>
45277         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
45279         This applies to applying or removing syntax-table text properties in raw
45280         strings which affect the stringiness of a piece of text.  This fixes the
45281         bug
45282         reported in
45283         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
45285         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
45286         defsubst.
45287         (c-invalidate-state-cache-1): Call new function in place of inline
45288         manipulation.
45289         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
45290         semi-nonlit cache when pertinent syntax-table text properties get applied to
45291         the text.
45293 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45295         Minor tweaks to openp
45297         * src/lread.c (openp): Move invariant code out of the loop
45298         and thus avoid redundant calls to memcpy.  Adjust comments.
45300 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45302         Simplify handling of frame parameters
45304         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
45305         foreground color, background color and font parameters.  Adjust
45306         comments.
45308 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
45310         Cleanup around mature character manipulation functions
45312         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
45314         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
45316         * lisp/subr.el (toplevel): Do not advertise calling conventions
45317         for 'decode-char' and 'encode-char'.
45319         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
45321 2016-06-29  Alan Mackenzie  <acm@muc.de>
45323         Fix C-M-a in a C function finding the start of a macro preceding it.
45325         Also amend some pertinent documentation.  This fixes bug #23818.
45327         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
45328         virtual semicolon at a place where we check for other types of statement ends.
45330         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
45331         doc string the bit saying that the variable is a prototype and liable to
45332         change.
45334         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
45335         macros with semicolon can prevent C-M-a missing the beginning of defun.
45337 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
45339         Avoid possible NULL pointer dereference found by GCC 6.1.1
45341         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
45342         the value returned by XRRGetOutputInfo.
45344 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
45346         Dired recognize dirs when file size in human units
45348         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
45349         to match when Dired displays the allocated file size column
45350         in human readable units (Bug#22255).
45352 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
45354         Fix breakage from previous change
45356         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
45357         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
45359 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
45361         Fix breakage from previous change.
45363         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
45365 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
45367         Add tests for copying properties by 'format'
45369         * test/src/editfns-tests.el (format-properties): New test.
45371 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
45373         Fix copying properties in 'format' when it produces padding
45375         * src/textprop.c (extend_property_ranges): Correct range extension
45376         when the new end is beyond the old end.  (Bug#23859)
45378 2016-06-27  Alan Third  <alan@idiocy.org>
45380         Enable dividers in NS (bug#22973)
45382         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
45383         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
45384         attempt to set the color.
45385         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
45386         above, although I didn't see any errors.
45388 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45390         Fix the prefix action of shr-copy-url
45392         * lisp/net/shr.el (shr-copy-url): Make the command really copy
45393         the image url if given a prefix.
45395 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45397         New functions svg-text and svg-remove
45399         * doc/lispref/display.texi (SVG Images): Document svg-remove.
45401         * doc/lispref/display.texi (SVG Images): Document svg-text.
45403         * lisp/svg.el (svg-remove): New function.
45404         (svg-text): New function.
45406 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45408         Add new function dom-remove-node
45410         * doc/lispref/text.texi (Document Object Model): Document
45411         dom-remove-node.
45413         * lisp/dom.el (dom-remove-node): New function.
45415 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
45417         Add a new function `svg-embed'
45419         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
45421         * lisp/svg.el (svg-embed): New function.
45422         (svg--image-data): Ditto.
45424 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
45426         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
45428 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
45430         Fix 'move-to-window-line' when EOB is on last screen line
45432         * src/window.c (displayed_window_lines): Fix an off-by-one error
45433         when the bottom of the last display line is exactly at window's
45434         last pixel.  Remove kludgey fix for TTY frames that is no longer
45435         needed.  (Bug#15760)
45436         (Fmove_to_window_line): Doc fix.
45438         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
45439         accurate the documentation of 'move-to-window-line'.
45441 2016-06-27  Alan Mackenzie  <acm@muc.de>
45443         Amend a cache so that typing into C++ raw strings has no undue delay.
45445         Also amend the code so that low-level searches to the end of literals are done
45446         only when these positions get used.
45448         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
45449         c-literal-start instead of c-literal-limit.
45450         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
45451         it stores details of the literal at a point, rather than merely points outside
45452         of literals.
45453         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
45454         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
45455         (c-parse-ps-state-below, c-literal-start): New functions.
45456         (c-state-semi-safe-place): Removed.
45457         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
45458         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
45459         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
45460         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
45462         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
45463         to end of literals.
45465         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
45466         literals.
45468         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
45469         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
45471 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
45473         Also handle escaping when string begins with a quote
45475         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
45476         Handle quoting of the first character in the string.
45478         * test/lisp/progmodes/ruby-mode-tests.el
45479         (ruby-toggle-string-quotes-quotes-correctly): Update.
45481 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
45483         Fix quote escaping in ruby-toggle-string-quotes
45485         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
45486         Change logic to quote based on the current quote of the string.
45488         * test/lisp/progmodes/ruby-mode-tests.el
45489         (ruby-toggle-string-quotes-quotes-correctly): Add test.
45491 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
45493         Fix test-completion with completion-regexp-list
45495         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
45496         completion-regexp-list (Bug #23533).
45498 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
45500         Try other addresses when connecting to multihomed
45502         Problem reported by Juliusz Chroboczek (Bug#17976)
45503         and by Artur Malabarba (Bug#23620).
45504         Patch from a suggestion by Andreas Schwab in:
45505         https://bugs.gnu.org/17976#39
45506         This patch is for non-MS-Windows platforms.
45507         I don't know the situation on MS-Windows.
45508         * src/process.c (connecting_status):
45509         New function, for (connect . ADDRINFOS).
45510         (connect_network_socket, check_for_dns, wait_for_socket_fds)
45511         (wait_while_connecting, wait_reading_process_output, status_notify):
45512         Use it.
45513         (decode_status, Fmake_network_process):
45514         Support (connect . ADDRINFOS) status.
45515         (connect_network_socket) [!WINDOWSNT]:
45516         If the connection failed and there are other addresses to try, do not
45517         signal an error; instead, loop around to try the next address.
45518         (wait_reading_process_output): Advance to the next address
45519         if there are multiple addresses and the first remaining address
45520         failed.
45521         * src/process.h (struct Lisp_Process.status): Adjust comment
45522         to describe (connect . ADDRINFOS).
45524 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
45526         Fix GNUC_PREREQ for GCC 2.8.1 etc.
45528         Problem reported by Eli Zaretskii in:
45529         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
45530         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
45531         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
45532         patchlevel numbers.
45534 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
45536         Don't set 'bidi-paragraph-direction' in 'ansi-term'
45538         * lisp/term.el (ansi-term): Remove unnecessary setting of
45539         'bidi-paragraph-direction'.  The underlying problem is solved in
45540         bidi.c by changing the regexps that define the paragraph beginning
45541         and end.  (Bug#20611)
45543 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
45545         Sync with Tramp 2.3.0
45547         * doc/misc/trampver.texi:
45548         * lisp/net/trampver.el: Change version to "2.3.0".
45550 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
45552         Fix GNUC_PREREQ off-by-1 typo
45554         Problem reported by Martin Rudalics in:
45555         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
45556         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
45557         Fix < vs <= typo.
45559 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
45561         Fix some oddities in Tramp's rsync and smb methods
45563         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
45564         "-s" arguments.
45565         (tramp-do-copy-or-rename-file-out-of-band):
45566         Call `file-name-directory' also for remote NEWNAME.
45568         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
45569         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
45570         (tramp-test24-file-name-completion): Improve check for
45571         hostname completion.
45572         (tramp--test-rsync-p): New defun.
45573         (tramp-test31-special-characters)
45574         (tramp-test31-special-characters-with-stat)
45575         (tramp-test31-special-characters-with-perl)
45576         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
45577         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
45578         (tramp-test32-utf8-with-ls): Skip for "rsync".
45580         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
45581         Check also for CIFS capabilities.
45583 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
45585         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
45587         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
45588         FRAME_INTERNAL_BORDER_WIDTH.
45590 2016-06-25  Leo Liu  <sdl.web@gmail.com>
45592         Deprecations (bug#23850)
45594         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
45595         string-to-multibyte, string-as-multibyte): Make obsolete.
45597 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
45599         Do not prompt twice to save a buffer
45601         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
45603 2016-06-25  Alan Third  <alan@idiocy.org>
45605         Move text line right when in box (bug#23755)
45607         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
45608         CHAR_GLYPH specific code and move glyphs right if within a box.
45609         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
45610         function.
45612 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
45614         Merge from origin/emacs-25
45616         0377fe2 ; Spelling fixes
45617         f253695 Update docs for `customize-mode'
45618         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
45619         ab0ebb9 ; Only load .elc file in tests.
45620         a98aa02 Error on multibyte characters in HTTP request
45621         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
45622         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
45623         dc5e65b Unset GIT_DIR when calling Git commands
45624         6cdd8f7 Ensure undo-boundary after insert-file-contents.
45625         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
45626         5f37572 Fix removal of variables from process-environment
45627         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
45628         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
45630         # Conflicts:
45631         #       doc/lispref/modes.texi
45632         #       lisp/gnus/mm-decode.el
45634 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
45636         Teach net-utils more iproute2 and nl80211 tools
45638         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
45639         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
45640         option is "phy"; beyond that one needs to know the interface name.
45641         (netstat-program): Add ss(8).
45642         (route-program): Add ip(8).
45643         (route-program-options): Add "route" argument for ip.
45645 2016-06-24  Leo Liu  <sdl.web@gmail.com>
45647         Use use-region-p in prolog.el
45649         * lisp/progmodes/prolog.el (region-exists-p): Remove.
45650         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
45651         prolog-edit-menu-insert-move): Use use-region-p.
45653 2016-06-24  Leo Liu  <sdl.web@gmail.com>
45655         Remove compatibility with Emacs 24.3 in octave-mode
45657         * lisp/progmodes/octave.el: Clean up and remove compatibility with
45658         Emacs 24.3.
45660 2016-06-24  Alan Mackenzie  <acm@muc.de>
45662         Ensure hack-local-variables is run in a fundamental mode buffer.
45664         This fixes bug #23827.
45666         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
45667         gets set to that mode, so that `run-mode-hooks', and thus
45668         `hack-local-variables' get run.
45670 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
45672         Fix caller to ediff-setup
45674         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
45676 2016-06-24  Alan Mackenzie  <acm@muc.de>
45678         Implement ' separators in C++ integer literals.
45680         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
45681         c-before-after-change-digit-quote into the C++ value.
45682         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
45683         for all languages.  Insert c-before-after-change-digit-quote into the C++
45684         value.
45686         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
45687         c-save-buffer-state.
45688         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
45690 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
45692         Update from gnulib
45694         This incorporates:
45695         2016-06-24 intprops: port better to GCC 7
45696         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
45697         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
45698         Copy from gnulib.
45700 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
45702         Remove two uses of 'min' in Fwindow_text_pixel_size
45704         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
45705         it calls move_it_to twice.  Suggested by Eli Zaretskii.
45707 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
45709         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
45711         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
45712         since it is intended to be used only when it returns a non-null
45713         pointer, and here the pointer might be null.
45714         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
45716 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
45718         Remove some more face aliases obsoleted in 22.1
45720         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
45721         eshell-ls-executable-face, eshell-ls-readonly-face,
45722         eshell-ls-unreadable-face, eshell-ls-special-face,
45723         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
45724         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
45725         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
45726         (isearch-lazy-highlight-update): Use face symbol.
45727         * lisp/net/sieve-mode.el (sieve-control-commands-face,
45728         sieve-action-commands-face, sieve-test-commands-face,
45729         sieve-tagged-arguments-face): Remove.
45730         (sieve-font-lock-keywords): Use non-obsolete faces.
45731         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
45732         (sh-get-indent-info, sh-prev-line): Use face symbol.
45733         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
45734         Use non-obsolete face.
45735         (tex-math-face, tex-verbatim-face): Remove.
45736         (tex-font-lock-syntactic-face-function): Use face symbols.
45738 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
45740         Remove some face aliases obsoleted in 22.1
45742         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
45743         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
45744         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
45745         Info-title-4-face, info-menu-5):
45746         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
45747         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
45748         * lisp/progmodes/make-mode.el (makefile-space-face):
45749         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
45750         (texinfo-font-lock-keywords): Use texinfo-heading face.
45751         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
45752         change-log-email-face, change-log-file-face, change-log-list-face,
45753         change-log-conditionals-face, change-log-function-face,
45754         change-log-acknowledgement-face):
45755         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
45756         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
45757         diff-changed-face, diff-function-face, diff-context-face,
45758         diff-nonexistent-face): Remove.
45759         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
45760         symbols.
45761         (diff-hunk-file-names): Fix comment.
45762         (diff-refine-change): Remove.
45763         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
45764         non-obsolete face.
45765         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
45766         (log-view-font-lock-keywords): Use non-obsolete face names.
45767         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
45768         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
45769         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
45770         widget-field-face, widget-single-line-field-face, widget-inactive-face,
45771         widget-button-pressed-face):
45772         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
45773         woman-addition-face): Remove.
45775 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
45777         * lisp/international/characters.el (standard-case-table): Improve last change.
45779 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
45781         Improve results of 'upcase' for characters with title-case
45783         * lisp/international/characters.el (standard-case-table): Swap the
45784         order of some lines, to have 'upcase' return the upper-case
45785         variant, not the title-case, for some characters whose lower-case
45786         map to the same codepoints.  (Bug#23833)
45788 2016-06-23  Alan Mackenzie  <acm@muc.de>
45790         Make typing into incomplete C++ raw strings work, and make it work fast enough
45792         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
45793         Put `save-match-data' around calls to `looking-at' to enable the use of the
45794         match data in higher level functions.
45796         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
45797         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
45798         limit to speed up handling of C++ raw strings.
45800 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
45802         Fix handling of LWINDOW key on MS-Windows
45804         * src/w32fns.c (funhook): Correct a typo which broke handling of
45805         the LWINDOW key.  (Bug#23830)
45807 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
45809         Update Unicode data files from Unicode 9.0.0
45811         * admin/unidata/copyright.html:
45812         * admin/unidata/BidiBrackets.txt:
45813         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
45814         released.
45816 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
45818         Fix test for whether the '.el' file is newer than '.elc'
45820         * src/lread.c (Fload): Don't overwrite the last character of the
45821         file name in FOUND with 'c', unless the file name ended in ".elc"
45822         to begin with.  Don't treat empty files as byte-compiled.  See
45823         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
45824         for more details of the problem this caused.
45826 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
45828         Fix 'insert-file-contents' when REPLACE is non-nil
45830         * src/fileio.c (maybe_move_gap): New function to move the gap to
45831         the end of a buffer, if it isn't there already.
45832         (Finsert_file_contents): Call 'maybe_move_gap' before using
45833         conversion_buffer's text as a C 'char' array.  (Bug#23659)
45834         * src/coding.c (decode_eol): Compute the byte increment before
45835         calling del_range_2, because the latter can invalidate the pointer
45836         to buffer text.
45838 2016-06-22  Ken Brown  <kbrown@cornell.edu>
45840         Avoid compiler warning
45842         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
45844 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
45846         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
45848 2016-06-22  Ken Brown  <kbrown@cornell.edu>
45850         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
45852         * src/w32fns.c (x_set_internal_border_width): Don’t use
45853         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
45854         lvalue.
45856 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
45858         Improve --without-x GCC pacification
45860         * src/composite.c (autocmp_chars):
45861         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
45862         Use simpler ((void) 0) for no-op expression returning void.
45863         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
45864         Include fontset.h, for face_for_char.
45865         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
45866         Now inline functions instead of macros.  This avoids the need for
45867         all those casts to void.
45868         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
45869         All uses changed.
45870         * src/frame.c (Ficonify_frame, Fset_frame_position):
45871         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
45872         * src/xdisp.c (note_mode_line_or_margin_highlight)
45873         (note_mouse_highlight):
45874         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
45875         now work either way without generating warnings.
45876         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
45877         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
45878         (decode_window_system_frame): Use check_window_system instead of
45879         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
45880         (decode_window_system_frame, check_window_system):
45881         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
45882         * src/frame.c (Ficonify_frame, Fset_frame_position):
45883         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
45884         (note_mouse_highlight):
45885         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
45886         this is a better way to pacify GCC.
45887         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
45888         (x_set_right_divider_width, x_set_bottom_divider_width):
45889         * src/xfns.c (x_set_internal_border_width):
45890         Don’t use what are now function calls as lvalues.
45891         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
45892         (decode_window_system_frame, check_window_system):
45893         Use it, to avoid the need for duplicate declarations.
45894         (window_system_available): Now an inline function.
45895         (display_available): New decl.
45896         (frame_dimension): New inline function.
45897         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
45898         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
45899         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
45900         (FRAME_BOTTOM_DIVIDER_WIDTH):
45901         Use it, to avoid the need for duplicate definitions.
45902         Now inline functions instead of macros.
45903         * src/gnutls.c (gnutls_log_function2i): Remove.
45904         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
45905         This avoids complaints about gnutls_log_function2i being defined
45906         and not used on older platforms that do not need to call GNUTLS_LOG2i.
45907         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
45908         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
45909         expr’ to ‘type id; id = expr’, as this would suppress valid
45910         jump-misses-init diagnostics.  Let’s find a better way to address
45911         the problem.
45912         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
45913         Define only if needed.
45914         * src/xdisp.c (handle_single_display_spec):
45915         Simplify fringe_bitmap computation.
45916         (define_frame_cursor1): Do nothing unless in a window system.
45917         All callers changed and simplified.
45918         * src/xfaces.c (realize_default_face):
45919         Use a simpler way to pacify GCC when a return value is not used
45920         on some platforms.
45922 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
45924         Ensure undo-boundary after all commands
45926         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
45927           every command whether it (apparently) changes the buffer or not.
45929         See Bug#23785 for discussion.
45931 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
45933         Fix vertical layout calculations when newline has line-height property
45935         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
45936         'constrain_row_ascent_descent_p' flag after processing the
45937         newline, similar to what 'display_line' does.  Without this, the
45938         flag remains set once set by x_produce_glyphs, and causes the
45939         vertical layout calculations to go awry, because Emacs thinks the
45940         screen lines have zero height.  (Bug#23850)
45942 2016-06-20  Ken Brown  <kbrown@cornell.edu>
45944         Fix compiler warnings in Cygwin-w32 build
45946         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
45947         loop to avoid compiler warnings about empty body of 'if'
45948         statement.
45950         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
45951         macro.
45952         (x_create_bitmap_from_data): Declare 'frame'.
45953         (x_create_bitmap_from_file): Don't declare unused variable
45954         'dpyinfo'.
45956         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
45957         prevent "jump-misses-init" compiler warnings.
45959         * src/w32fns.c (check_w32_winkey_state): Define and use only if
45960         WINDOWSNT.
45961         (Fx_show_tip): Declare 'f'.
45962         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
45963         (w32_strerror): Use format specifier %d for sprintf argument of
45964         type int.
45965         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
45966         int, and use format specifier %x, for compatibility with Cygwin.
45967         (unicode_append_menu) [NTGUI_UNICODE]:
45968         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
45969         (set_menu_item_info, unicode_append_menu)
45970         (unicode_message_box):
45971         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
45972         functions rather than macros to avoid "address will always
45973         evaluate as true" compiler warnings.
45975         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
45976         sprintf argument of type int.
45978         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
45979         sprintf argument of type int to unsigned int to match %X format
45980         specifier.
45981         (w32_scroll_bar_handle_click):
45982         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
45984         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
45985         argument.
45987 2016-06-20  Ken Brown  <kbrown@cornell.edu>
45989         Fix compiler warnings in no-window-system-build
45991         * src/composite.c (autocmp_chars): Declare and set 'f' only if
45992         HAVE_WINDOW_SYSTEM.
45994         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
45995         (FACE_FOR_CHAR): Explicitly discard unused arguments.
45997         * src/font.c (font_open_entity): Declare 'min_width' where it is
45998         first set, and only if HAVE_WINDOW_SYSTEM.
46000         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
46001         Define _Noreturn version to avoid "suggest attribute noreturn"
46002         compiler warning.
46003         (check_window_system): Declare as _Noreturn.
46004         (Ficonify_frame):
46005         (Fset_frame_position): Don’t declare and set 'f'.
46007         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
46008         (check_window_system):  Add _Noreturn prototypes.
46009         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
46010         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
46011         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
46012         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
46014         * src/xdisp.c (handle_single_display_spec): Declare
46015         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
46016         (append_space_for_newline): Declare 'g' where it is first set.
46017         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
46018         HAVE_WINDOW_SYSTEM.
46019         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
46020         if HAVE_WINDOW_SYSTEM.
46021         (note_mode_line_or_margin_highlight):
46022         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
46023         only if HAVE_WINDOW_SYSTEM.
46025         * src/xfaces.c (realize_default_face): Declare and set 'face' only
46026         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
46028 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
46030         Weaken test conditions in filenotify-tests.el
46032         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
46033         Fix thinko in test.
46034         (file-notify-test02-events, file-notify-test04-file-validity)
46035         (file-notify-test07-backup)
46036         (file-notify-test08-watched-file-in-watched-dir): Make test
46037         conditions more weak.  (Bug#23618)
46039 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
46041         Minor ABLOCKS_BUSY cleanups in alloc.c
46043         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
46044         with member ‘abase’ in definiens.
46045         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
46046         Avoid compiler warning with fewer casts.
46047         (lisp_align_free): Check busy-field values; this can help the
46048         compiler a bit when optimizing, too.
46050 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
46052         ASCII-fy coding-system-for-read used for Git commands
46054         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
46055         New function.
46056         (vc-git-diff, vc-git-annotate-command): Use it.
46058 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
46060         Prohibit multibyte characters in url-http-data
46062         It didn't work anyway, but this makes any such errors more obvious
46063         by catching them earlier.
46065         * lisp/url/url-http.el (url-http-create-request):
46066         Use string-to-unibyte (bug#23750).
46068 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
46070         Fix setting a range of char-table slots in a singular case
46072         * src/chartab.c (char_table_set_range): Start the loop from the
46073         first character of the block to which FROM belongs.  (Bug#23797)
46075         * test/src/chartab-tests.el: New test file.
46077 2016-06-19  Alan Mackenzie  <acm@muc.de>
46079         Fix CC Mode fontification problem apparent in test file decls-6.cc.
46081         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
46082         "bar (gnu);" as a declarator only when the construct is directly inside a
46083         class (etc.) called "bar".
46084         (c-directly-in-class-called-p): New function.
46086 2016-06-19  Alan Mackenzie  <acm@muc.de>
46088         c-renarrow-state-cache: take care when new point is inside old brace pair.
46090         Also add display of point-min to the c-parse-state debugging output.
46092         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
46093         point is inside an old recorded brace pair, clear the cache.
46094         (c-debug-parse-state): Output the value of point-min.
46096 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46098         Rename ALIGN to pointer_align
46100         * src/alloc.c (pointer_align): Rename from ALIGN.
46101         This fixes Bug#23764 in a simpler way.
46103 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46105         Merge from origin/emacs-25
46107         d1efbaf Fix documentation of completion functions
46108         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
46109         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
46110         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
46112 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46114         Merge from origin/emacs-25
46116         2317c61 Fix last todo-mode change
46117         5d4d8a3 Improve last todo-mode fix
46118         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
46119         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
46120         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
46121         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
46122         d308aa1 Minor grammar fix (bug#23746)
46123         20de667 Doc fixes for grammar and typos (bug#23746)
46124         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
46125         27f440e Add cross-reference to ELisp manual
46126         10802d8 ; make change-history-commit
46127         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
46128         12e009e Restore initial undo boundary with viper
46129         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
46130         6921f4a Fix dbus crash on 32-bit Cygwin
46132 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46134         Merge from origin/emacs-25
46136         9ae514a * etc/AUTHORS: Update the AUTHORS file
46137         3ca428e add entries to authors.el
46138         66d556b Fix eldoc-related freezes in python mode
46139         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
46140         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
46141         a813487 Fix undo boundary in recursive edit (Bug#23632)
46142         1f85b7c Doc fixes re alist-get.  (Bug#23548)
46143         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
46144         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
46145         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
46146         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
46147         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
46149 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46151         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
46153 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46155         Fix seq-contains
46157         Make sure seq-contains return the element of the sequence instead of t.
46159         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
46160         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
46162 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46164         Add new function map-do
46166         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
46167           functions.
46168         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
46170 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
46172         Add seq-do-indexed
46174         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
46175         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
46177 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
46179         map.el (map-merge*): Use `map-into' at beginning rather than end
46181         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
46182         and don't use of an intermediate alist.
46183         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
46184         3 lookups per inner iteration.
46186 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
46188         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
46190 2016-06-15  Alan Mackenzie  <acm@muc.de>
46192         Speed up CC Mode's font locking by taking some code out of a hot loop.
46194         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
46195         tests for bare declarators.
46196         (c-font-lock-cut-off-declarators): New function.
46197         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
46199 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
46201         Automatically find vars and functions via definition-prefixes
46203         * lisp/help-fns.el (help-definition-prefixes): New var and function.
46204         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
46205         New functions.
46206         (describe-function, describe-variable): Use them.
46208         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
46209         (radix-tree-prefixes, radix-tree-from-map): New functions.
46211 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
46213         Automatically detect whether .h file is C or C++
46215         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
46216         analyzes contents of the buffer to determine whether it looks like C++
46217         source code and based on that enables c-mode or c++-mode.
46218         (c-or-c++-mode--regexp): Regular expression which, when matches
46219         a buffer, signals file is C++.
46221 2016-06-15  Alan Mackenzie  <acm@muc.de>
46223         Parse compound identifiers in C++ member initialization lists.
46225         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
46226         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
46227         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
46228         than c-simple-skip-symbol-backward.
46230 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
46232         Advertize set-keymap-parent as replacement for copy-keymap
46234         * doc/lispref/keymaps.texi (Creating Keymaps):
46235         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
46237 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
46239         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
46240         value is missing
46242 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
46244         Add new ansible-inventory-generic-mode (Bug#23762)
46246         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
46248 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46250         Fix ifdef-vs-if typo with RANDR13_LIBRARY
46252         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
46253         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
46254         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
46256 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46258         Port to platforms where char * has top bit set
46260         This fixes a five-year-old FIXME comment.  Although I don’t know
46261         of a platform where this is a problem in practice, better safe
46262         than sorry.
46263         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
46264         as it is now an integer, not char *.
46265         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
46266         this is a file offset and EMACS_INT is better if --with-wide-int.
46267         If SUBRP, simply store the offset rather than negating it and
46268         converting it to char *.
46269         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
46271 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
46273         Remove recursion from store_function_docstring
46275         * src/doc.c (store_function_docstring):
46276         Refactor to avoid the need for C-level recursion.
46278 2016-06-14  Ken Brown  <kbrown@cornell.edu>
46280         Remove system-specific -I switch from Cygwin-w32 build
46282         Suggested by Eli Zaretskii in discussion of bug#18302.
46284         * src/image.c [HAVE_NTGUI]: Remove the unused macro
46285         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
46286         "X11/xpm.h".
46288         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
46289         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
46291 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
46293         Make python.el work in Emacs 24
46295         * lisp/progmodes/python.el: Bump version.
46296         (python-define-auxiliary-skeleton): Only use format-message if
46297         fbound (Bug#23126).
46299 2016-06-13  Ken Brown  <kbrown@cornell.edu>
46301         Avoid compiler warning
46303         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
46304         'type_CtrlAlt'.
46306 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
46308         Call tzset after setting TZ
46310         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
46311         the setting change propagates into Emacs local time (Bug#23600).
46312         (emacs_setenv_TZ): Clarify comments.
46314 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
46316         Update texinfo.tex
46318         * doc/misc/texinfo.tex: Update from gnulib.
46320 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
46322         New macro GNUC_PREREQ for GCC version
46324         * src/conf_post.h (GNUC_PREREQ): New macro.
46325         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
46326         macro instead, for clarity and consistency.
46327         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
46328         if glibc, since non-GNU platforms don’t necessarily support GNU
46329         printf formats.
46330         (ATTRIBUTE_FORMAT_PRINTF): Use it.
46332 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
46334         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
46336 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
46338         Fix printf-related compilation warnings on MinGW
46340         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
46341         '__ms_printf__', not '__gnu_printf__', as the latter is not what
46342         MS 'printf' supports, and causes bogus compilation warnings.
46343         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
46344         doesn't support the "ll" modifier.
46346 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
46348         emacs_strerror cleanups
46350         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
46351         no longer needed, now that emacs_strerror is declared by lisp.h.
46352         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
46353         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
46354         to lisp.h.
46355         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
46356         convert result string; this is now the caller’s responsibility,
46357         as some need conversion and others don’t.
46358         * src/fileio.c (report_file_errno, report_file_notify_error):
46359         Use emacs_strerror rather than rolling it ourselves.
46360         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
46361         * src/lread.c (dir_warning): Just call emacs_strerror rather than
46362         both strerror and emacs_strerror.  Convert its result from
46363         locale-coding-system, since it no longer does that conversion.
46364         * src/sound.c (sound_perror):
46365         * src/sysdep.c (emacs_perror, str_collate):
46366         Use emacs_strerror, not strerror.
46368 2016-06-10  David Reitter  <david.reitter@gmail.com>
46370         Prevent compiler warning for unused arguments
46372         * lisp/international/ucs-normalize.el
46373         (ucs-normalize-hfs-nfd-pre-write-conversion):
46374         Prevent compiler warning for unused arguments, add coment.
46376 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
46378         Catch malloc_get_state, malloc_set_state failure
46380         This should help insulate Emacs better from configuration screwups.
46381         Future versions of the GNU C library are planned to deprecate
46382         these functions, but will continue to support them in
46383         already-built-and-dumped Emacs executables.
46384         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
46385         Abort if malloc_set_state fails.
46386         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
46387         Report malloc_get_state failure, and exit.
46389 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
46391         Show returned value after gdb-mi "finish" command
46393         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
46394         "Value returned" message in response to "finish", when not
46395         produced by GDB/MI.  (Bug#23720)
46397 2016-06-10  David Reitter  <david.reitter@gmail.com>
46399         Simplify pre-write-conversion for utf-8-hfs coding system
46401         * lisp/international/ucs-normalize.el
46402         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
46404         May address an issue where Emacs consumed large amounts of CPU
46405         because of neverending toolbar updating (which was caused
46406         by, but also called this function).
46408 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
46410         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
46412         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
46413         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
46414         Monnier.  (Bug#19185, Bug#20398)
46416         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
46418         That commit did more harm than good (Bug#23571).
46420 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46422         Port __builtin_assume_aligned to Sun C 5.13
46424         * src/conf_post.h (__builtin_assume_aligned):
46425         Fix typo: the extra arg did not conform to C99.
46427 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46429         Prefer getsockopt to getpeername on non-MS-Windows
46431         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
46432         * configure.ac: Don’t check for getpeername.
46433         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
46434         Use getsockopt even if not GNU/Linux, as the platforms where
46435         getsockopt used to hang are no doubt long dead.
46437 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
46439         Fix XFASTINT of non-fixnum in process status
46441         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
46442         not int *, and is not decoded.  All uses changed.
46443         (status_message): Do not assume ‘failed’ code is an integer.
46444         * src/process.h: Document codes better.
46446 2016-06-09  Glenn Morris  <rgm@gnu.org>
46448         Make messcompat.el obsolete.
46450         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
46451         * doc/misc/message.texi (Compatibility): Remove section.
46453 2016-06-09  Glenn Morris  <rgm@gnu.org>
46455         Leading "*" in the doc of defvars is long obsolete.
46457         * lisp/plstore.el (plstore-encrypt-to):
46458         * lisp/cedet/semantic/lex-spp.el
46459         (semantic-lex-spp-macro-max-length-to-save):
46460         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
46461         * lisp/cedet/semantic/bovine/el.el
46462         (semantic-elisp-store-documentation-in-tag):
46463         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
46464         (wisent-expected-conflicts):
46465         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
46466         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
46467         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
46468         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
46469         (gnus-browse-menu-hook):
46470         * lisp/gnus/message.el (message-shoot-gnksa-feet):
46471         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
46472         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
46473         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
46474         * lisp/gnus/mml.el (mml-generate-multipart-alist):
46475         * lisp/gnus/nndraft.el (nndraft-required-headers):
46476         * lisp/gnus/nnheader.el (nnheader-max-head-length)
46477         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
46478         (nnheader-directory-separator-character)
46479         (nnheader-pathname-coding-system):
46480         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
46481         (nnmail-active-file-coding-system):
46482         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
46483         * lisp/gnus/nntp.el (nntp-record-commands):
46484         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
46485         (gnus-score-mode-hook, gnus-score-menu-hook):
46486         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
46487         (rfc2047-allow-irregular-q-encoded-words)
46488         (rfc2047-allow-incomplete-encoded-text):
46489         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
46490         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
46491         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
46492         * lisp/net/pop3.el (pop3-password):
46493         * lisp/play/animate.el (animate-n-steps):
46494         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
46495         Convert from defvar with leading * to defcustom.
46498         * lisp/emulation/viper-init.el (viper-heading-end):
46499         * lisp/gnus/mm-url.el (mm-url-html-entities):
46500         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
46501         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
46502         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
46504         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
46505         (message-from-style, message-interactive, message-indentation-spaces)
46506         (message-signature, message-signature-file):
46507         Remove settings that match the defaults.
46508         (message-setup-hook, message-mode-hook, message-default-headers)
46509         (message-send-hook, message-send-mail-function):
46510         Just use setq rather than redefining.
46512         * lisp/gnus/nnrss.el (nnrss):
46513         * lisp/mail/rfc2047.el (rfc2047):
46514         * lisp/play/animate.el (animate): New custom groups.
46516 2016-06-09  Glenn Morris  <rgm@gnu.org>
46518         Remove obsolete leading * from defcustom, defface doc strings.
46520         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
46521         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
46522         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
46523         * lisp/cedet/semantic/decorate/include.el:
46524         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
46525         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
46526         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
46527         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
46528         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
46529         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
46530         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
46531         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
46532         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
46533         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
46534         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
46535         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
46536         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
46537         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
46538         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
46539         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
46540         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
46541         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
46542         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
46543         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
46544         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
46545         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
46546         Remove obsolete leading * from defcustom, defface doc strings.
46548 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
46550         Fix copying text properties by 'format'
46552         * src/editfns.c (styled_format): Fix copying text properties from
46553         the format specification to the produced string representation.
46554         (Bug#23730)
46555         (Fformat) Doc fix.
46557         * doc/lispref/strings.texi (Formatting Strings): Document that
46558         text properties from the format specifiers are also copied to the
46559         produced string.
46561 2016-06-09  Alan Mackenzie  <acm@muc.de>
46563         Handle C++ raw strings.
46565         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
46566         (c-depropertize-raw-strings-in-region,
46567         c-before-change-check-raw-strings)
46568         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
46569         functions.
46571         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
46572         c-font-lock-raw-strings.
46573         (c-font-lock-raw-strings): New function.
46575         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
46576         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
46577         into the values for C, C++, and Objective C.
46578         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
46579         the C++ value.
46581         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
46582         (c-depropertize-CPP): New function, extracted from
46583         c-neutralize-syntax-in-and-mark-CPP.
46584         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
46585         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
46586         of the function.
46587         (c-after-change): Set c-old-BEG and c-old-END to the current values of
46588         c-new-BEG and c-new-END.
46590 2016-06-09  Daiki Ueno  <ueno@gnu.org>
46592         epg: don't use obsolete function
46594         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
46595         redundant configuration check, which is now done in
46596         `epg-make-context'.
46598 2016-06-09  Daiki Ueno  <ueno@gnu.org>
46600         epg: don't start pinentry if it is useless
46602         * lisp/epg.el (epg--start): Don't start pinentry server if the
46603         session is non-interactive or pinentry-mode is set.
46605 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
46607         Replace IF_LINT by NONVOLATILE and UNINIT
46609         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
46610         * .dir-locals.el (c-mode): Adjust to macro changes.
46611         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
46612         (IF_LINT): Remove.  All uses replaced by the new macros.
46614 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
46616         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
46618         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
46619         in favor of ‘cl-letf’ macro which is more generic.  All existing
46620         uses are migrated accordingly.  The macro has not been included in
46621         an official release yet so it should be fine to delete it.
46623 2016-06-08  Glenn Morris  <rgm@gnu.org>
46625         * test/lisp/emacs-lisp/package-tests.el
46626         (package-test-update-archives-async): Try re-enabling on hydra.
46628 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
46630         * src/fileio.c (auto_save_error): Omit unused local.
46632 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
46634         Simplify overflow check via INT_SUBTRACT_WRAPV
46636         * src/editfns.c (check_tm_member): Simplify integer overflow check.
46638 2016-06-07  Glenn Morris  <rgm@gnu.org>
46640         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
46642         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
46643         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
46644         Ensure gnutls-serv process gets killed.
46645         (echo-server-nowait, connect-to-tls-ipv4-nowait):
46646         Limit the amount of time we might wait.
46648 2016-06-07  Glenn Morris  <rgm@gnu.org>
46650         Reduce allout.el's pollution of the namespace.
46652         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
46653         Keep old name as obsolete alias.
46654         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
46655         (allout-solicit-char-in-string)
46656         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
46657         Rename to add an "allout-" prefix.
46659 2016-06-07  Glenn Morris  <rgm@gnu.org>
46661         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
46663 2016-06-07  Glenn Morris  <rgm@gnu.org>
46665         Misc small webjump updates.
46667         * lisp/net/webjump.el (webjump): Add custom group.
46668         (webjump-sample-sites): Make it a constant.
46669         Remove explicit, old list of GNU ftp mirrors.
46670         (webjump-state-to-postal-alist): Make it a constant.
46671         (webjump-sites): Make it a defcustom.
46672         (webjump-to-iwin): Update for changed remote service.
46674 2016-06-07  Glenn Morris  <rgm@gnu.org>
46676         Do not hard-code port for package test server.  (Bug#23708)
46678         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
46679         Do not hard-code port.
46680         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
46681         Update for the above change.
46683 2016-06-07  Tino Calancha  <f92capac@gmail.com>
46685         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
46687 2016-06-07  Glenn Morris  <rgm@gnu.org>
46689         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
46691 2016-06-07  Tino Calancha  <f92capac@gmail.com>
46693         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
46694         Fix non-file-visiting-buffer case.  (Bug#22678)
46696 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46698         Port --enable-gcc-warnings to clang 3.7.0
46700         * configure.ac: Add -Wno-tautological-compare to avoid bogus
46701         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
46702         seem to be needed, at least in Fedora 23 x86-64.
46704 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46706         Use __builtin_assume_aligned on untagged Lisp vals
46708         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
46709         New macros, for compilers not already defining them.
46710         (__has_builtin___builtin_assume_aligned): New macro.
46711         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
46712         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
46714 2016-06-07  Glenn Morris  <rgm@gnu.org>
46716         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
46717         aliases as the type of their targets.
46719 2016-06-07  Tino Calancha  <f92capac@gmail.com>
46721         * lisp/simple.el (process-menu-mode, list-processes--refresh):
46722         Include PID.  (Bug#21725)
46724 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46726         Merge from origin/emacs-25
46728         6e3adf8 Fix crash in syntax.c after GC
46729         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
46730         9d5cceb Fix doc string quoting
46731         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
46732         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
46734 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
46736         Merge from origin/emacs-25
46738         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
46739         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
46740         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
46741         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
46743 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
46745         Use standard Unicode names for Thai, Lao
46747         * lisp/language/lao-util.el, lisp/language/thai-util.el:
46748         Don’t override standard Unicode character name (Bug#23698).
46750 2016-06-06  Glenn Morris  <rgm@gnu.org>
46752         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
46753         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
46755 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
46757         Some fixes in filenotify-tests.el for cygwin
46759         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
46760         Reintroduce value for cygwin, it's needed on slow systems.
46761         (file-notify--wait-for-events): Move up definition.
46762         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
46763         (file-notify--test-with-events-check, file-notify--test-with-events)
46764         (file-notify-test08-watched-file-in-watched-dir):
46765         Use :random rather than `random.
46766         (file-notify-test06-many-events): Do not skip for cygwin.
46768 2016-06-05  Juri Linkov  <juri@linkov.net>
46770         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
46772         If non-nil, operate on multiple chunks.  (Bug#23655)
46774         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
46776 2016-06-05  Juri Linkov  <juri@linkov.net>
46778         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
46780         to interactive spec to handle shift-selection.  (Bug#23642)
46782 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
46784         Improve robustness of filenotify-tests.el (Bug#23618)
46786         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
46787         (file-notify--test-no-descriptors-explainer)
46788         (file-notify--test-cleanup-p): New defuns.
46789         (file-notify--test-cleanup): Don't check for
46790         `file-notify--test-event' anymore, that's done in
46791         `file-notify--test-no-descriptors'.
46792         (file-notify--test-with-events-check)
46793         (file-notify--test-with-events): Handle the `random' marker.
46794         (file-notify--test-with-events-explainer): Improve readability.
46795         (file-notify-test00-availability)
46796         (file-notify-test01-add-watch, file-notify-test02-events)
46797         (file-notify-test03-autorevert)
46798         (file-notify-test04-file-validity)
46799         (file-notify-test05-dir-validity)
46800         (file-notify-test06-many-events, file-notify-test07-backup)
46801         (file-notify-test08-watched-file-in-watched-dir)
46802         (file-notify-test09-sufficient-resources): Check also
46803         `file-notify--test-cleanup-p'.
46804         (file-notify-test04-file-validity)
46805         (file-notify-test05-dir-validity): Use `ignore' as handler.
46806         (file-notify-test05-dir-validity)
46807         (file-notify-test06-many-events): Delete directory finally.
46808         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
46810 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
46812         man.el: Fix links on hyphenated words (bug#23647)
46814         * lisp/man.el (Man-bgproc-sentinel): Make links work on
46815         hyphenated words.
46817 2016-06-05  K. Handa  <handa@gnu.org>
46819         Add category 'j' to more characters.
46821         * lisp/international/characters.el: Add category 'j' (Japanese)
46822         to characters in japanese-jisx0213.2004-1.
46824 2016-06-04  Tino Calancha  <f92capac@gmail.com>
46826         isearch-edit-string resumes multi isearches
46828         * lisp/isearch.el (with-isearch-suspended): Remember and restore
46829         multi-isearch variables.  (Bug#21663)
46831 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
46833         Fix Eshell display when RTL characters are involved
46835         * lisp/eshell/esh-mode.el (eshell-mode): Set
46836         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
46838 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
46840         Make ses-jump with completing input.
46842         * lisp/ses.el (ses-jump): Make symbol input completing against list of
46843           named cells.
46845 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
46847         Port angle-bracket TZ settings to MS-Windows
46849         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
46850         lack of support for numeric time zone abbreviations.
46851         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
46852         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
46853         Problem reported by Kazuhiro Ito (Bug#23600).
46855 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
46857         Avoid delving into Git internals for version
46859         * lisp/loadup.el (exec-path): Set it to nil later, so that
46860         emacs-repository-get-version can invoke git commands in the PATH.
46861         * lisp/version.el (emacs-repository--version-git-1): Remove.
46862         (emacs-repository-get-version): Let Git do it rather than
46863         delving into Git internals.
46865 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
46867         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
46869 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
46871         Fix emacs-repository-get-version with packed .git
46873         * lisp/version.el (emacs-repository-get-version):
46874         Parse .git/packed-refs if it exists.
46875         Problem reported by Martin Rudalics in:
46876         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
46878 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
46880         Minor change in tramp.texi
46882         * doc/misc/tramp.texi (Password handling): Do not discuss
46883         anymore how to get password-cache.el.  It is bundled with
46884         Emacs.
46886 2016-06-01  Alan Mackenzie  <acm@muc.de>
46888         Correct fontification and indentation of C++'s "constexpr" expressions
46890         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
46891         (c-modifier-kwds): Add "constexpr".
46893 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
46895         Cosmetic change to kinsoku-eol.  (tiny change)
46897         * lisp/international/kinsoku.el (kinsoku-eol): Make the
46898         order of characters match with the comments.
46900 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
46902         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
46904         * lisp/language/japan-util.el (japanese-kana-table): Add an
46905         entry for HIRAGANA ITERATION MARK (U+309D).
46906         (japanese-alpha-numeric-table): Fix docstring.
46908 2016-05-31  K. Handa  <handa@gnu.org>
46910         Fix incomplete handling of translation table in a coding system.
46912         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
46913         is an alist, return a character or a vector of character.
46914         (produce_chars): Adjust for the above change.
46915         (consume_chars): Likewise.
46917 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
46919         Improve robustness for out-of-band copy in Tramp
46921         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
46922         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
46923         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
46924         Cosmetic changes.
46926         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
46927         Use local `default-directory'.  Simplify command to send.
46928         Don't check return code, this was already done in
46929         `tramp-process-actions'.
46930         (tramp-get-inline-coding): Don't set `default-directory'.
46932         * lisp/net/tramp.el (tramp-action-out-of-band):
46933         Throw `out-of-band-failed'.
46934         (tramp-process-actions): Handle `out-of-band-failed'.
46935         (tramp-call-process, tramp-call-process-region):
46936         Use local `default-directory'.
46938 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
46940         Merge from origin/emacs-25
46942         788c9b6 ; Spelling fix
46943         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
46944         0992ec3 Correct cl-flet usage (Bug#22317)
46945         50caae3 Release MH-E manual version 8.6
46946         602bb40 Update MH-E's documentation about HTML renderers
46947         89018f0 Fx the we->the typo
46948         845ee57 Restore frames into the current display by default
46949         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
46950         01c3cd1 etc/TODO: Remove out-of-place issue
46951         5e18486 Clarify doc string of 'file-name-sans-extension'
46952         bffda22 Fix the MSDOS build
46953         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
46954         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
46955         f7ffc4b Fix infloop in 'number-sequence'
46956         4ab2673 ; Spelling and punctuation fixes in comments
46957         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
46959 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
46961         * lisp/emacs-lisp/autoload.el: Use radix-tree.
46963          (autoload--make-defs-autoload): Rewrite.
46964         (autoload--split-prefixes-1): Remove.
46965         (autoload-def-prefixes-max-entries): Rename from
46966         autoload-defs-autoload-max-size.
46967         (autoload-popular-prefixes): Remove.
46968         (autoload-def-prefixes-max-length): New const.
46970         * lisp/emacs-lisp/radix-tree.el: New file.
46972 2016-05-30  Ken Brown  <kbrown@cornell.edu>
46974         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
46976 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
46978         Omit IF_LINT code that no longer seems needed
46980         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
46981         and now is as good a time as any to remove uses of IF_LINT that
46982         now seem to be unnecessary.
46983         * lib-src/emacsclient.c (set_local_socket):
46984         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
46985         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
46986         * src/casefiddle.c (casify_region):
46987         * src/charset.c (load_charset_map):
46988         * src/coding.c (decode_coding_object, encode_coding_object):
46989         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
46990         (cons_to_unsigned, cons_to_signed):
46991         * src/frame.c (make_frame, x_set_frame_parameters):
46992         * src/keyboard.c (read_event_from_main_queue):
46993         * src/regex.c (regex_compile):
46994         * src/syntax.c (back_comment):
46995         * src/window.c (Frecenter):
46996         * src/xfaces.c (Fx_list_fonts):
46997         Remove IF_LINT that no longer seems necessary.
46998         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
46999         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
47000         a pragma dance to pacify GCC -Wclobbered.
47001         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
47003         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
47004         mean we do not need IF_LINT any more.
47005         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
47006         at the end, to forestall warnings from older compilers.
47008 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47010         Port --enable-gcc-warnings to Cygwin, FreeBSD
47012         These platforms have a bug where _Noreturn is empty when 'lint' is
47013         defined.  Problem reported by Ken Brown (Bug#23640).
47014         * configure.ac (GCC_LINT): Rename from 'lint'.
47015         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
47017 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47019         Update from gnulib
47021         This incorporates:
47022         2016-05-30 Use GCC_LINT, not lint
47023         2016-05-29 secure_getenv: Port to many more platforms.
47024         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
47025         * m4/secure_getenv.m4: Copy from gnulib.
47027 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
47029         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
47031         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
47033 2016-05-30  Ken Brown  <kbrown@cornell.edu>
47035         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
47037 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
47039         Fix Bug#23631 for Tramp
47041         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
47042         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
47043         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
47044         Fix caching problems.
47046         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
47048         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
47049         Move duplicate deletion ...
47050         (tramp-smb-handle-file-name-all-completions): ... here.
47052         * lisp/net/tramp.el (tramp-handle-file-name-completion):
47053         Handle `completion-ignored-extensions'.  (Bug#23631)
47055         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
47056         Test also `completion-regexp-list' and `completion-ignored-extensions'.
47058 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
47060         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
47062         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
47064 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47066         Fix up remainder of the mml property change
47068         * lisp/gnus/message.el (message-send-mail): Use the renamed
47069         mml-buffer-substring-no-properties-except-some function.
47070         (message-send-news): Ditto.
47072 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
47074         Allow preserving EXIF rotations when sending HTML messages
47076         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
47077         rotation if you have exiftool installed and the image format
47078         supports it.
47079         (mml-expand-html-into-multipart-related): Use it.
47080         (mml-buffer-substring-no-properties-except-some): Renamed and
47081         copy display properties, too.
47083 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
47085         Make message-toggle-image-thumbnails work better
47087         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
47088         `insert-image' instead of `put-image' to make it possible to
47089         edit the resulting text in a sensible manner.
47091 2016-05-29  Alan Mackenzie  <acm@muc.de>
47093         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
47095         Remove the now redundant c-old-BOM and c-old-EOM.
47097         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
47098         meaning.
47099         (c-macro-cache-no-comment): New variable.
47100         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
47101         the new c-macro-cache-no-comment.
47102         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
47103         (c-no-comment-end-of-macro): New function.
47105         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
47106         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
47108         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
47109         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
47110         c-old-BOM/EOM.
47111         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
47112         a cons for the new region, since the function is now called as an after-change
47113         function.  No longer adjust c-new-END for the length of inserted/deleted
47114         text.  Move the size restrictions on macros to here from
47115         c-neutralize-syntax-in-and-mark-CPP.
47116         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
47117         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
47118         upper boundary to "neutralize" syntactically obtrusive characters.
47119         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
47120         one.
47122 2016-05-28  Ken Brown  <kbrown@cornell.edu>
47124         Avoid compiler warnings
47126         * src/cygw32.c (chdir_to_default_directory): Use "void" as
47127         argument list.  Use SSDATA instead of SDATA.
47129         * src/unexcw.c (fixup_executable): Use %td as format specifier for
47130         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
47132 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
47134         Fix 'next-line' and 'previous-line' during keyboard macro
47136         * lisp/simple.el (line-move-visual): Handle the case when point
47137         moves outside of the visible portion of the buffer while executing
47138         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
47140 2016-05-28  Alan Mackenzie  <acm@muc.de>
47142         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
47144         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
47145         back over noise clauses and attribute clauses.
47147         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
47149 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
47151         Prevent locked-file errors in Rmail
47153         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
47154         calling 'rmail-insert-inbox-text'.  Unlock if
47155         'rmail-insert-inbox-text' doesn't modify buffer.
47156         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
47158 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
47160         Sync with Tramp repository.
47162         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
47163         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
47164         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
47165         Create BUFFER if it doesn't exist.  Reported by Nikolay
47166         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
47168         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
47169         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
47170         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
47171         (tramp-gvfs-get-directory-attributes)
47172         (tramp-gvfs-get-root-attributes)
47173         (tramp-gvfs-get-file-attributes): New defun.
47174         (tramp-gvfs-handle-file-attributes)
47175         (tramp-gvfs-handle-file-name-all-completions): Use them.
47176         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
47177         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
47178         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
47179         (top): Suppress D-Bus error messages during zeroconf initialization.
47181         * lisp/net/tramp.el (tramp-unknown-id-string)
47182         (tramp-unknown-id-integer): New defconst.
47183         (tramp-check-cached-permissions)
47184         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
47185         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
47186         (tramp-convert-file-attributes, tramp-get-remote-uid)
47187         (tramp-get-remote-gid): Use them.
47189         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
47190         Rename from `tramp-color-escape-sequence-regexp'.
47191         (tramp-sh-handle-insert-directory)
47192         (tramp-convert-file-attributes): Adapt callees.
47193         (tramp-device-escape-sequence-regexp): New defconst.
47194         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
47195         Gissurarson <icetritlo@gmail.com>.
47197         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
47198         Simplify.
47200         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
47201         (tramp-test28-shell-command):
47202         Use `tramp-display-escape-sequence-regexp'.
47204 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47206         Don’t document declare-function internals
47208         Suggested by Stefan Monnier in:
47209         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
47210         * doc/lispref/functions.texi (Declaring Functions):
47211         * lisp/subr.el (declare-function):
47212         * lisp/emacs-lisp/bytecomp.el:
47213         (byte-compile-macroexpand-declare-function):
47214         Document as (fn file &optional arglist fileonly)
47215         even though it is really (fn file &rest args).
47217 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47219         * src/puresize.h (BASE_PURESIZE): Increase it some more.
47221 2016-05-27  Glenn Morris  <rgm@gnu.org>
47223         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
47225         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
47226         avoid build failure.
47228 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47230         Port to platforms where rlim_max < 0
47232         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
47233         this can happen if a special value like RLIM_INFINITY is negative.
47235 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47237         Robustify stack-size calculation
47239         * src/emacs.c: Include getpagesize.h.
47240         (main): Check for integer overflow when computing stack size.
47241         Round new rlim_cur to pagesize boundary on all platforms, as this
47242         is easy and would have prevented Bug#23622.  If setrlimit
47243         fails, use current limit to determine re_max_failures.
47245 2016-05-27  Ken Brown  <kbrown@cornell.edu>
47247         Adjust filenotify-tests on Cygwin
47249         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
47250         Remove special case for Cygwin.
47251         (file-notify-test07-backup): Update expected results on Cygwin.
47253 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
47255         Improve define-function omitted-arg documentation
47257         * doc/lispref/functions.texi (Declaring Functions):
47258         * lisp/subr.el (declare-function):
47259         Be clearer when documenting omitted args for define-function.
47261 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47263         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
47265 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47267         * lisp/subr.el (definition-prefixes): Expand docstring
47269         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
47270         Remove unused function.
47272 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
47274         Fix broken viper deactivation
47276         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
47277           args to advice-remove.
47278           (viper--advice-add): Use cons not list.
47280         Addresses bug#23625
47282 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
47284         Preserve buffer point in windows by default (Bug#4041).
47286         * doc/lispref/windows.texi: Mention new default.
47287         * etc/NEWS: Mention new default.
47288         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
47290 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47292         Fix byte-compiler pacification for declare-function
47294         Problem reported by Michael Heerdegen in:
47295         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
47296         * lisp/emacs-lisp/bytecomp.el:
47297         (byte-compile-macroexpand-declare-function):
47298         Revert signature to previous value.
47299         * lisp/subr.el (declare-function): Change signature to
47300         match the reverted signature used in the byte compiler.
47302 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47304         Update texinfo.tex
47306         This fixes Bug#23611 in a different (and presumably better) way.
47307         * doc/misc/texinfo.tex: Update from gnulib.
47309 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47311         Pacify 'make check-declare'
47313 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47315         Repair damage from emacs-25 merge
47317         * test/lisp/character-fold-tests.el:
47318         Remove, as it was renamed to test/lisp/char-fold-tests.el.
47319         * test/lisp/emulation/viper-tests.el:
47320         Rename from test/automated/viper-tests.el.
47322 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47324         Merge from origin/emacs-25
47326         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
47327         a4d882c Correct old cell name unbinding when renaming cell.
47328         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
47329         0be6725 Document problem: slow screen refresh on missing font.
47330         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
47331         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
47332         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
47333         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
47334         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
47335         897fb6f ; 'Changes from the pre-25.1 API' copyedits
47336         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
47337         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
47338         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
47339         2e589c0 Fix cross-references between manuals
47340         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
47341         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
47342         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
47343         503e752 ; * CONTRIBUTE: Fix a typo.
47344         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
47345         bdfbe6d ; * admin/release-process: Copyedits.
47346         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
47347         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
47348         df4a14b Add automated test for viper-tests.el
47349         c0139e3 Fix viper undo breakage from undo-boundary changes
47350         920d76c Fix reference to obsolete fn ps-eval-switch
47351         18a9bc1 Do not trash symlinks to init file
47352         2671179 Don't print the "decomposition" line for control chars in wha...
47353         869092c Bring back xterm pasting with middle mouse
47354         5ab0830 Provide workaround for xftfont rendering problem
47355         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
47356         30989a0 Mention GTK+ problems in etc/PROBLEMS
47357         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
47358         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
47359         e41a5cb Avoid errors with Czech and Slovak input methods
47360         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
47361         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
47362         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
47363         c45d9f6 Improve documentation of 'server-name'
47364         3b5e38c Modernize ASLR advice in etc/PROBLEMS
47365         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
47367 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
47369         Avoid byte-compiler warnings due to 'declare-function'
47371         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
47372         (w32-get-valid-locale-ids):
47373         * lisp/progmodes/js.el (ido-mode): Specify arglist in
47374         'declare-function' forms, to avoid byte-compiler warnings.
47376 2016-05-26  Glenn Morris  <rgm@gnu.org>
47378         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
47380         No-one puts info pages there.  If /share does exist, it's likely to
47381         contain remote file systems where access could be slow.
47383 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47385         Merge from origin/emacs-25
47387         2d76405 etc/AUTHORS: Update the AUTHORS file
47389 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47391         Merge from origin/emacs-25
47393         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
47395 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
47397         Merge from origin/emacs-25
47399         939eb75 Fix bug in default setting of 'ps-paper-type'
47401 2016-05-26  Glenn Morris  <rgm@gnu.org>
47403         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
47405 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
47407         Fix Bug#23614.
47409         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
47410         Let-bind `process-coding-system-alist' in order to suppress
47411         the value for "cmdproxy".
47413         * lisp/net/tramp.el (tramp-encoding-shell):
47414         `w32-shell-name' is a function.
47415         (tramp-encoding-command-switch)
47416         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
47418         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
47419         Suppress some tests on MS Windows.  (Bug#23614)
47421 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
47423         hl-line.el: Fix flickering of highlighted line (bug#23510)
47425         * lisp/hl-line.el (hl-line-maybe-unhighlight)
47426         (global-hl-line-highlight-all)
47427         (global-hl-line-maybe-unhighlight): New functions.
47428         (hl-line-overlay-buffer): New variable.
47429         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
47430         pre-command-hook by hl-line-maybe-unhighlight on
47431         post-command-hook, to prevent hl-line from flickering.
47432         Adjust document string.
47433         (global-hl-line-mode): Use global-hl-line-highlight-all to
47434         simultaneously highlight the current line in all live windows.
47435         Replace global-hl-line-unhighlight on pre-command-hook by
47436         global-hl-line-maybe-unhighlight on post-command-hook, to
47437         prevent global-hl-line from flickering.  Remove
47438         global-hl-line-unhighlight from change-major-mode-hook on
47439         disabling the mode.  Adjust document string.
47441 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
47443         Make autoloads populate a new definition-prefixes table
47445         * lisp/subr.el (definition-prefixes): New hash table.
47446         (register-definition-prefixes): New function.
47448         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
47449         (autoload--split-prefixes-1, autoload--split-prefixes)
47450         (autoload--make-defs-autoload): New functions.
47451         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
47452         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
47453         (update-directory-autoloads): Don't touch loaddefs.el if the set of
47454         autoloads hasn't changed (i.e. if only the timestamp would change).
47456         * lisp/loadup.el: Purify definition-prefixes.
47458         * lisp/w32-fns.el: Keep name space clean.
47459         (w32-set-default-process-coding-system): Rename from
47460         set-default-process-coding-system.
47461         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
47463 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47465         Allow network-stream-tests to work for out-of-tree builds
47467         * test/lisp/net/network-stream-tests.el
47468         (network-stream-tests--datadir): New defconst.
47469         (make-tls-server): Use it.
47471 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47473         Fix failing echo-server-nowait test
47475         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
47476         Specify IPv4 for the client, to match the family of the server.
47477         (Bug#23606)
47479 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47481         Allow shr-tests to work for out-of-tree builds
47483         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
47484         (shr-test, rendering): Use it.
47486 2016-05-24  Ken Brown  <kbrown@cornell.edu>
47488         Update allowable arguments for open-network-stream
47490         * src/coding.c (Ffind_operation_coding_system): Allow t as a
47491         target for open-network-stream.  (Bug #23540)
47493 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
47495         Make js-mode's syntax highlighting work again
47497         * lisp/progmodes/js.el (js-mode): Fix the assigned
47498         font-lock-defaults value (bug#23603).
47500 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47502         * lisp/progmodes/cc-mode.el: Add minor comments
47504         (c-change-expand-fl-region): Mark args as unused.
47506 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47508         * lisp/url/url-http.el: Use lexical-binding
47510         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
47511         (url-http-wait-for-headers-change-function): Remove unused var
47512         `content-length'.
47513         (url-http): Remove unused vars `host' and `port'.
47515 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47517         * lisp/widget.el (define-widget): Use `declare' (which does work now).
47519         (widget-plist-member): Mark as obsolete.
47521 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
47523         * lisp/image.el: Use lexical-binding
47525         (image-scaling-factor, imagemagick-types-inhibit)
47526         (imagemagick-enabled-types): Remove redundant :group.
47527         (image--get-image): Apply de-Morgan and use car-safe.
47528         (image-compute-scaling-factor): Use the argument.
47530 2016-05-23  Glenn Morris  <rgm@gnu.org>
47532         * lisp/image.el (image--get-image): Remove nonsensical code.
47534         * lisp/image.el (image--get-image): Avoid requiring a library for
47535         one trivial operation.
47537 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
47539         Don’t use only last protocol from getaddrinfo
47541         Problem reported by Ken Brown in:
47542         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
47543         * src/process.c (conv_addrinfo_to_lisp): New function.
47544         (connect_network_socket): Arg is now a list of addrinfos, not
47545         merely IP addresses.  All uses changed.  Use protocol from
47546         each addrinfo.
47547         (Fmake_network_process): Accumulate protocols into addrinfos
47548         rather than just using the last one found.
47549         (check_for_dns): Accumulate protocols here, too.
47550         * src/process.h (struct Lisp_Process): Remove ai_protocol;
47551         no longer needed.
47553 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
47555         Fix seq requirement that broke bootstrap
47557         * lisp/image.el (image--get-image): Require seq here, not at the
47558         top level, to avoid ‘(require seq) while preparing to dump’ while
47559         bootstrapping.  Suggested by Tino Calancha in:
47560         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
47562 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
47564         Add missing dependencies to seq.el
47566         * lisp/emacs-lisp/find-func.el:
47567         * lisp/ibuffer.el:
47568         * lisp/image.el: Require seq.
47570 2016-05-22  Alp Aker  <alp@food52.com>
47572         * src/process.c (SOCK_NONBLOCK): Fix typo.
47574 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
47576         Add completion of colors in CSS mode
47578         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
47579         from "CSS Color Module Level 3".
47581         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
47582         Update test.
47584 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
47586         Prefer SOCK_NONBLOCK to O_NONBLOCK
47588         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
47589         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
47590         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
47591         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
47592         the order does not matter here.
47594 2016-05-21  Alan Third  <alan@idiocy.org>
47596         Fix bug#16856, cursor leaves garbage in fringe on OS X.
47598         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
47599         being drawn outside the text area.
47601 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
47603         Fix compiler warnings in the MinGW build
47605         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
47606         -Wno-pointer-sign, to keep the noise level down.
47608         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
47609         -Wredundant-decls, as that produces a lot of noise due to
47610         redeclaration of time-related functions by gnulib.
47611         * nt/runemacs.c (set_user_model_id): Fix argument type of
47612         'SetCurrentProcessExplicitAppUserModelID'.
47614         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
47615         declare 'dpyinfo', as it is unused.
47616         (xpm_load): Fix warnings about pointer signedness.
47617         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
47618         prototypes.
47619         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
47620         (sys_select): Provide prototype.
47621         (g_b_init_compare_string_w): Move declaration to file scope.
47622         * src/w32heap.c (dumped_data_commit): Now static.
47623         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
47624         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
47625         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
47626         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
47627         Provide prototypes.
47628         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
47629         redundant prototypes.
47630         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
47631         (init_environment, sys_ctime): Avoid warnings about discarding
47632         'const' qualifier.
47633         Include utimens.h.
47634         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
47635         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
47636         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
47637         prototypes.
47638         (sys_rename_replace): Use %d to avoid compiler warnings.
47639         (_wsa_errlist): Make the message text 'const char *', to avoid
47640         compilation warnings.
47641         (dynlib_reset_last_error): Move prototype to file scope.
47642         (w32_get_resource): First argument is now 'const char *'.
47643         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
47644         (otf_features): Second argument is no 'const char *'.
47645         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
47646         (x_set_window_size): Remove redundant prototypes.
47647         (XChangeGC, XGetGCValues, w32_draw_underwave)
47648         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
47649         (x_calc_absolute_position, x_destroy_window): Now static.
47650         (menubar_selection_callback): Move prototype to file scope.
47651         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
47652         declaration.
47653         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
47654         (w32font_full_name): Fix warnings about implicit conversion of
47655         'float' to 'double'.
47656         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
47657         discarding 'const' qualifier.
47658         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
47659         (set_frame_menubar): Remove redundant prototypes.
47660         (menubar_selection_callback, w32_menu_display_help): Provide
47661         prototypes.
47662         (simple_dialog_show): Avoid warnings about discarding 'const'
47663         qualifier.
47664         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
47665         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
47666         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
47667         redundant prototypes.
47668         (current_popup_menu): Remove redundant declaration.
47669         (colormap_t): Member 'name' is now 'const char *'.
47670         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
47671         (x_decode_color, x_set_border_pixel)
47672         (x_clear_under_internal_border, x_set_name, hook_w32_key)
47673         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
47674         static.
47675         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
47676         (w32_msg_worker, w32_last_error): Provide prototypes.
47677         (funhook, lookup_vk_code): Avoid warnings about missing
47678         parentheses.
47679         (x_default_font_parameter, Fw32_notification_notify): Avoid
47680         warnings about discarding 'const' qualifier.
47681         (Fx_create_frame): Avoid warnings about empty body of 'else'.
47682         (x_screen_planes): Ifdef away unused function.
47683         (Fx_show_tip): Remove unused variables.
47684         (Fw32_battery_status): Avoid warnings about implicit promotion
47685         from float to double.
47686         (Fw32_notification_notify): Initialize 'timeout'.
47687         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
47688         define the TIMER_SETTIME_RUNNING value if it will be used.
47689         * src/w32notify.c (send_notifications): Ifdef away an empty if
47690         clause.  Remove unused variable.
47691         (watch_end, watch_completion): Provide prototypes.
47692         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
47693         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
47694         warning with pointer signedness.
47695         * src/gnutls.c (gnutls_x509_crt_get_signature)
47696         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
47697         don't load them from the GnuTLS library, as they are no longer
47698         used.
47699         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
47700         define, as it's unused.
47701         * src/unexw32.c (open_input_file, open_output_file)
47702         (close_file_data): Remove redundant prototypes.
47703         (_start): provide prototype.
47704         (mainCRTStartup): Move prototype to file level.
47705         (find_section): Use type-cast to shut up compiler warnings.
47706         (offset_to_section, relocate_offset): Now static.
47707         (find_section): First argument is now a 'const char *'.
47708         (offset_to_section): Ifdef away, as it's unused.
47709         * src/w32heap.h (find_section): Adjust prototype.
47710         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
47711         * src/dired.c (directory_files_internal_w32_unwind): Avoid
47712         warnings about missing prototypes.
47713         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
47714         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
47715         signedness.
47716         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
47717         Fix warnings about pointer signedness.
47718         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
47719         unused.
47720         * src/sysdep.c (_getpid): Remove redundant prototype.
47721         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
47722         [!MSDOS]: Don't define 'st', it's unused.
47723         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
47724         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
47725         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
47726         n_to_read, as it is not used.
47727         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
47728         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
47729         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
47730         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
47731         not used by DOS_NT builds, to avoid compiler warnings.
47732         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
47733         declaration.
47734         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
47735         up compiler warnings.
47736         * src/w32term.h (x_set_window_size, x_get_focus_frame)
47737         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
47738         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
47739         (x_free_frame_resources, x_real_positions)
47740         (display_x_get_resource): Remove redundant prototypes.
47742         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
47743         (sys_rename, gettimeofday): Provide prototypes.
47744         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
47745         declarations.
47746         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
47747         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
47748         (close_winsock, initialize_sockets, w32_set_user_model_id)
47749         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
47750         prototypes.
47751         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
47752         difference.
47753         (w32_set_user_model_id): Update prototype of
47754         SetCurrentProcessExplicitAppUserModelID to avoid compiler
47755         warnings.
47756         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
47757         shut up compiler warnings.
47758         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
47760 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
47762         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
47764         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
47765         wrap on a whitespace character if it's followed by another
47766         whitespace character.  When returning under WORD_WRAP for a screen
47767         line that is continued, restore to wrap point when atpos/atx
47768         position would be displayed on the next screen line due to
47769         line-wrap.  (Bug#23570)
47771 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
47773         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
47775 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
47777         Added tests for dos unibyte decoding.
47779         The underlying bug was previously fixed by Eli Zaretskii in commit
47780         c8109d9c4057d8cac79e2c139758cadd410e7446.
47782 2016-05-20  Philipp Stephani  <phst@google.com>
47784         Fix handling of ‘mouse-on-link-p’.
47786         If ‘mouse-on-link-p’ returns a string or vector, the first element
47787         is to be used as new event.  Translation to ‘mouse-2’ should only
47788         happen if the return value is not a string or vector.  See
47789         docstring of ‘mouse-on-link-p’ and Bug#23288.
47791         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
47792         value of ‘mouse-on-link-p’ according to documentation.
47794         * test/lisp/mouse-tests.el (bug23288-use-return-value)
47795         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
47797 2016-05-20  Daiki Ueno  <ueno@gnu.org>
47799         epg: Add a way to detect gpg1 executable for tests
47801         Fixes bug#23561.
47803         * test/automated/epg-tests.el
47804         (epg-tests-program-alist-for-passphrase-callback): New
47805         constant.
47806         (epg-tests-find-usable-gpg-configuration): New function,
47807         renamed from `epg-tests-gpg-usable'.  All callers changed.
47808         (epg-tests-gpg-usable): Remove.
47810         * lisp/epg-config.el (epg-config--program-alist): Factor out
47811         constructor element to...
47812         (epg-config--configuration-constructor-alist): ...here.
47813         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
47814         and add PROGRAM-ALIST argument.
47816 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
47818         Put point at beginning of display-time-world buffer.
47820         If display-time-world decides to popup vertically from the bottom of the
47821         frame and scroll-margin is nonzero, the top of the buffer contents are
47822         hidden due to scroll.
47823         * lisp/time.el (display-time-world-display): Move point to point-min
47824         after inserting contents.
47826 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47828         Allow null entries in face and image cache
47830         Problem reported by Tino Calancha (Bug#23580).
47831         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
47832         Don’t assume that the result is non-null.
47833         * src/xdisp.c (fill_image_glyph_string):
47834         Restore check that image pointer is non-null.
47836 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47838         Fix flyspell highlighting
47840         Problem reported by Jim Meyering (Bug#23575).
47841         * src/xdisp.c (extend_face_to_end_of_line):
47842         Fix typo in previous change.
47844 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
47846         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
47848 2016-05-18  Sam Steingold  <sds@gnu.org>
47850         python-describe-at-point: add and bind
47852 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47854         ‘make check-declare’ now chatters less
47856         * etc/NEWS: Document this.
47857         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
47858         Return relative names, not absolute.
47859         (check-declare-scan, check-declare-verify, check-declare-warn)
47860         (check-declare-file, check-declare-directory):
47861         Generate less chatter.  Use relative file names rather than
47862         absolute.  Don’t give up on computing a good file name for a
47863         diagnostic merely because the function name was bad.  Make
47864         malformed declarations more noticeable.  Don’t warn about
47865         "ext:..." declarations if check-declare-ext-errors is nil.
47866         (check-declare-errmsg): Remove.
47867         (check-declare-warn): New optional arg LINE.
47868         (check-declare-files): Put status into mode line rather than
47869         chattering.
47871 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47873         Pacify byte-compiler for byte-compile-macroexpand-declare-function
47875         * lisp/emacs-lisp/bytecomp.el: Change signature of
47876         byte-compile-macroexpand-declare-function to match that of
47877         declare-function.
47879 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47881         Pacify byte-compiler for with-wrapper-hook
47883         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
47884         New macro, split out from with-wrapper-hook.
47885         * lisp/abbrev.el (abbrev--default-expand):
47886         * lisp/minibuffer.el (completion--in-region):
47887         * lisp/simple.el (buffer-substring--filter):
47888         * lisp/subr.el (with-wrapper-hook):
47889         Use it.
47891 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47893         Pacify byte-compiler in lisp/url
47895         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
47896         Add decl.
47898 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47900         Port --enable-gcc-warnings to GCC 6.1
47902         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
47903         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
47904         Omit test whether pointer plus a constant equals a null pointer.
47905         * src/alloc.c (compact_small_strings):
47906         Avoid pointer arithmetic on null pointers.
47907         * src/alloc.c (mark_face_cache):
47908         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
47909         * src/fringe.c (draw_fringe_bitmap_1)
47910         (Fset_fringe_bitmap_face):
47911         * src/macfont.m (macfont_draw):
47912         * src/msdos.c (IT_set_face, IT_clear_screen):
47913         * src/nsfont.m (nsfont_draw):
47914         * src/nsterm.h (FRAME_DEFAULT_FACE):
47915         * src/nsterm.m (ns_draw_window_cursor)
47916         (ns_draw_vertical_window_border, ns_draw_window_divider)
47917         (ns_dumpglyphs_box_or_relief)
47918         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
47919         (ns_dumpglyphs_stretch):
47920         * src/w32term.c (w32_draw_vertical_window_border)
47921         (w32_draw_window_divider, x_set_mouse_face_gc):
47922         * src/xdisp.c (estimate_mode_line_height, init_iterator)
47923         (handle_face_prop, handle_single_display_spec, pop_it)
47924         (CHAR_COMPOSED_P, get_next_display_element)
47925         (next_element_from_display_vector, extend_face_to_end_of_line)
47926         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
47927         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
47928         (lookup_named_face):
47929         * src/xterm.c (x_draw_vertical_window_border)
47930         (x_draw_window_divider, x_set_mouse_face_gc):
47931         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
47932         * src/xterm.c (try_window_id):
47933         Redo loop to convince GCC 6.1 that it is null pointer safe.
47934         (x_color_cells):
47935         Use eassume as necessary to pacify GCC 6.1.
47936         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
47937         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
47938         behavior of the non-_OPT macro, to be used when the result
47939         might be a null pointer.
47940         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
47941         [HAVE_WINDOW_SYSTEM]:
47942         * src/intervals.h (INTERVAL_WRITABLE_P):
47943         * src/term.c (turn_off_face):
47944         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
47945         (produce_image_glyph, produce_xwidget_glyph):
47946         * src/xfaces.c (lookup_named_face):
47947         Remove unnecessary test for null pointer.
47948         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
47949         * src/process.c (would_block): New function.
47950         (server_accept_connection, wait_reading_process_output, send_process):
47951         Use it.
47952         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
47953         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
47954         might be null.
47956 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
47958         Sync from gnulib
47960         This incorporates:
47961         2016-05-17 manywarnings: update for GCC 6.1
47962         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
47963         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
47965 2016-05-16  Glenn Morris  <rgm@gnu.org>
47967         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
47968         Include more details on hydra.
47970 2016-05-16  Alan Mackenzie  <acm@muc.de>
47972         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
47974 2016-05-16  Alan Mackenzie  <acm@muc.de>
47976         Fix spurious fontification of "for (; a * b;)" in CC Mode.
47978         This fixes bug #7918 (again).
47980         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
47981         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
47982         cons cell - additionally, return a flag indicating whether the declaration
47983         parsed might have been an expression, and the position of the type identifier
47984         in the said declaration.
47986         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
47987         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
47988         check for it being a spurious declaration in a "for" statement.
47990 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47992         Pacify ‘make check-declare’
47994         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
47995         (data-debug-insert-stuff-list, data-debug-insert-thing):
47996         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
47997         (viper-change-state-to-emacs):
47998         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
47999         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
48000         * lisp/org/ob-awk.el (orgtbl-to-generic):
48001         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
48002         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
48003         * lisp/org/ob-exp.el (org-element-context):
48004         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
48005         (orgtbl-to-generic):
48006         * lisp/org/ob-haskell.el (org-export-to-file):
48007         * lisp/org/ob-latex.el (org-create-formula-image)
48008         (org-latex-compile):
48009         * lisp/org/ob-python.el (run-python):
48010         * lisp/org/ob-sh.el (orgtbl-to-generic):
48011         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
48012         * lisp/org/org-colview.el (org-agenda-redo):
48013         * lisp/org/org-feed.el (url-retrieve-synchronously):
48014         * lisp/org/org-info.el (Info-find-node):
48015         * lisp/org/org-list.el (org-previous-line-empty-p):
48016         * lisp/org/org-macs.el (org-string-match-p):
48017         * lisp/org/org.el (org-beamer-mode):
48018         Fix prototype to match current definition.
48019         * lisp/emacs-lisp/advice.el (function-called-at-point):
48020         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
48021         Fix typo: extra '.
48022         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
48023         Insert ,' to pacify check-declare.
48024         * lisp/org/ob-comint.el (tramp-flush-directory-property):
48025         * lisp/org/ob-tangle.el (org-babel-update-block-body):
48026         * lisp/org/org-bibtex.el (org-babel-trim):
48027         * lisp/org/org-pcomplete.el (org-export-backend-options):
48028         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
48029         Fix file name in declare-function.
48030         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
48031         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
48032         * lisp/org/org.el (org-beamer-mode):
48033         * lisp/url/url-http.el (gnutls-negotiate):
48034         Append ‘t’ to declare-function, since the declaration isn’t a defun.
48035         * lisp/org/ob-core.el (show-all):
48036         Declare outline-show-all instead, since it is the
48037         non-obsolete version of this function.
48038         (org-save-outline-visibility): Remove; not needed.
48039         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
48040         (geiser-eval-region, geiser-repl-exit):
48041         * lisp/org/ox-org.el (htmlize-buffer):
48042         Prepend "ext:" to file name, since it is not part of Emacs.
48043         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
48044         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
48045         Remove decl, since function was removed.
48046         * lisp/org/ob-sh.el (org-babel-comint-with-output):
48047         * lisp/org/org-macro.el (org-with-wide-buffer):
48048         Omit unnecessary (and mismatching) decl.
48049         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
48050         * lisp/org/org-clock.el (calendar-iso-to-absolute):
48051         Declare calendar-iso-to-absolute instead, since it is the
48052         non-obsolete version of this function.
48053         * lisp/org/org-compat.el (w32-focus-frame):
48054         Remove decl, since function is now obsolete.
48056 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
48058         :max-width/height fixes for shr after the scaling changes
48060         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
48061         max-width and max-height even after the scaling changes done
48062         earlier this year.
48064 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
48066         Fix reading minibuffer input in viper-mode
48068         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
48069         Restore an assignment to viper-initial that got lost when
48070         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
48072 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48074         Port autogen.sh to Git 2.4
48076         Problem reported by Michael Brand in:
48077         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
48078         * autogen.sh (git_config): Don't assume that git rev-parse
48079         groks --git-common-dir.
48081 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48083         Merge from origin/emacs-25
48085         6de0715 Properly reject malformed or empty package sigs
48086         edae7d9 Remove buggy non-native image scrolling
48088 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48090         Improve display of tex-verbatim and Info quoted
48092         Problem reported by Glenn Morris (Bug#19889).
48093         * doc/emacs/display.texi (Standard Faces):
48094         * doc/lispref/display.texi (Basic Faces):
48095         * etc/NEWS: Mention fixed-pitch-serif.
48096         * lisp/faces.el (face-font-family-alternatives):
48097         New family alias Monospace Serif.
48098         (fixed-pitch-serif): New face, which uses the new family.
48099         * lisp/info.el (Info-quoted):
48100         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
48101         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
48102         Add test case for Monospace Serif.
48104 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
48106         * lisp/net/sieve-mode.el: Handle the text:... notation
48108         Get rid of redundant :group keywords.
48109         (sieve-mode-syntax-table): Move initialization into declaration.
48110         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
48111         (sieve-mode): Use them.
48113 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48115         Tweak check-declare-directory performance
48117         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
48118         Use ‘find ... -exec ... +’ for speed.
48120 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48122         Sync from gnulib
48124         This incorporates a spelling fix, plus:
48125         2016-05-09 Fix undefined behavior in gettext.h
48126         * lib/gettext.h, lib/mktime.c:
48127         Copy from gnulib.
48129 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48131         Merge from origin/emacs-25
48133         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
48134         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
48135         1a5a05c Do not mistake colon at the end of regexp for slash symbol
48136         4c5a00b Make package-install-from-buffer not move point
48137         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
48138         f79c352 Redo the fix for bug#21839
48139         8d2f78c Don't treat JS spread as contination method call
48141 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
48143         Correct server/client address
48145         * src/process.c (Fmake_network_process): :local is for servers and :remote
48146         is for clients.
48148 2016-05-12  Ken Brown  <kbrown@cornell.edu>
48150         Autosave buffers on logout if HAVE_NTGUI
48152         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
48153         w32_read_socket.
48155         * src/w32term.c (w32_read_socket): Create an event of type
48156         END_SESSION_EVENT if a WM_ENDSESSION message is received.
48158         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
48160         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
48161         `end-session'.
48162         (kbd_buffer_get_event): Return an end-session event if an event of
48163         type END_SESSION_EVENT is read.
48164         (keys_of_keyboard): Bind the end-session event to kill-emacs in
48165         special-event-map.  (Bug#23483)
48167 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
48169         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
48171         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
48172         (object-print): Use cl-call-next-method instead of call-next-method.
48173         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
48175 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
48177         * lisp/cedet/semantic: Silence some warnings
48179         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
48180         (semanticdb-get-database-tables): Use make-instance to silence warnings.
48182         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
48183         some macros from there.  Silence compilation warnings:
48184         Replace initargs with slot names in oref/oset.
48185         Move `SYMREF TOOLS' section earlier so definitions precede their use.
48187 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
48189         Support srcset in <img>
48191         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
48192         with srcset specifiers (bug#23459).
48194 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
48196         Do not autoload some functions of tramp.el
48198         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48199         Autoload a shortened version of this function, avoid recursive load.
48200         (tramp-completion-file-name-handler-alist)
48201         (tramp-completion-mode-p)
48202         (tramp-completion-handle-expand-file-name)
48203         (tramp-completion-handle-file-name-all-completions)
48204         (tramp-completion-handle-file-name-completion): Do not autoload.
48206 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
48208         Avoid recursive load of tramp.el
48210         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48211         Autoload a shortened version of this function, avoid recursive load.
48213 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
48215         Fix a problem of tramp-tests on hydra.
48217         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48218         Nullify `tramp-default-method' due to hydra.
48220 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48222         Pacify byte-compiler in lisp/vc
48224         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
48225         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
48226         Declare functions defined elsewhere, to forestall “might not
48227         be defined at runtime” warnings.
48229 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48231         Merge from origin/emacs-25
48233         d0d9f55 Allow newlines inside cl function arglists
48234         963541a Publicize cl--generic-all-functions
48235         3c581d5 ; Fix typo
48236         e58f900 Add some "safe-local-variable" declarations for compatibility...
48238 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48240         'text-quoting-style' now affects only ` and '
48242         Change 'text-quoting-style' so that it no longer affects
48243         formatting of curved quotes in format arguments to functions like
48244         'message'.  In particular, when this variable's value is 'grave',
48245         all quotes in formats are output as-is.
48246         * doc/lispref/help.texi (Keys in Documentation):
48247         * doc/lispref/strings.texi (Formatting Strings):
48248         * doc/lispref/tips.texi (Documentation Tips):
48249         * etc/NEWS:
48250         * src/doc.c (syms_of_doc): Document this.
48251         * lisp/help-fns.el (describe-function-1):
48252         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
48253         (syms_of_doc):
48254         * src/editfns.c (styled_format): Omit now-unnecessary code.
48255         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
48257 2016-05-10  Alan Mackenzie  <acm@muc.de>
48259         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
48261         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
48262         being reverted because it slowed down CC Mode's fontification too much
48263         (factor ~3).  It was the fix to bug #7918.
48265 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
48267         Move "Recent messages" earlier in report-emacs-bug
48269         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
48270         messages" part earlier so that users can see it and remove it
48271         if they want.
48273 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48275         Pacify byte compiler in tramp.el
48277         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
48279 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
48281         Merge from origin/emacs-25
48283         3b47898 Fix doc string in `insert'
48284         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
48285         cd27f73 Say 'All results processed' at the end
48286         4ffec91 Document automatic adjustment of process' logical window dime...
48287         dc66271 ; Fix typos and stylistic glitches in NEWS
48289 2016-05-09  Alan Mackenzie  <acm@muc.de>
48291         CC Mode now uses the new :after-hook feature of define-derived-mode
48293         It now runs internal variable setting functions after the mode hooks, no
48294         longer runs the mode hooks twice, and declares the configuration variables for
48295         noise macros and macros with semicolons as safe variables (when given suitable
48296         arguments).
48298         Fixes bug #16759 and bug #23476.
48300         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
48301         back into the C Mode value.
48303         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
48304         c-make-macro-with-semi-re.
48305         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
48306         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
48307         and c-update-modeline into the :after-hook form.  Remove the explicit settings
48308         of the syntax table, the abbreviation table and the local key map, since they
48309         duplicate forms generated by define-derived-mode.  Remove the explicit
48310         invocation of each mode's mode hook, since they duplicate ones generated by
48311         define-derived-mode.
48313         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
48314         functions.
48315         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
48316         save-local-variable property c-string-list-p.
48317         (c-macro-names-with-semicolon): give the save-local-variable property
48318         c-string-or-string-list-p.
48320         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
48321         necessary to call the regexp generating functions after setting the pertinent
48322         configuration values in a mode hook.
48324 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
48326         Fix the jit-lock-fontify-now test names
48328         * test/lisp/jit-lock-tests.el
48329         (jit-lock-fontify-now-mends-the-gaps)
48330         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
48331         Fix the test names.
48333 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48335         Extend completion candidates in tramp.el
48337         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
48338         (tramp-get-completion-function): Use it.
48340 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
48342         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
48344         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
48345         compatibility.
48347 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
48349         Emulate interactive mode
48351         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
48352         (jit-lock-does-not-refontify-unnecessarily):
48353         Bind noninteractive to nil (bug#23278).
48355 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
48357         Simplify now that float-time etc. are built-in
48359         This was prompted by warnings about calls to now-obsolete functions.
48360         * lisp/calendar/time-date.el (encode-time-value):
48361         Use setq rather than a recursive call, to avoid a warning
48362         about calling this obsolete function.
48363         * lisp/calendar/time-date.el (encode-time-value)
48364         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
48365         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
48366         * lisp/net/rcirc.el (rcirc-float-time):
48367         * lisp/org/org-compat.el (org-float-time):
48368         Simplify now that time-add and float-time are now built-in.
48369         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
48370         * lisp/net/newst-backend.el (time-add):
48371         * lisp/org/org.el (time-subtract):
48372         Remove backward-compatibility definitions; they are now built-in.
48373         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
48374         (timeclock-seconds-to-time):
48375         * lisp/net/rcirc.el (rcirc-float-time):
48376         * lisp/org/org-compat.el (org-float-time):
48377         Now obsolete, since callers can just use float-time and
48378         seconds-to-time.  All uses changed.
48379         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
48380         * lisp/gnus/gnus-art.el (article-lapsed-string):
48381         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
48382         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
48383         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
48384         * lisp/net/tramp.el (tramp-time-diff):
48385         * lisp/org/org-clock.el (org-clock-timestamps-change):
48386         Prefer the time-subtract builtin to the subtract-time alias.
48387         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
48388         * test/lisp/character-fold-tests.el (character-fold--speed-test):
48389         Prefer the float-time builtin to the time-to-seconds alias.
48390         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
48391         * lisp/org/org-timer.el, lisp/org/org.el:
48392         Adjust to org-float-time deprecation.
48394 2016-05-08  Alan Mackenzie  <acm@muc.de>
48396         Add :after-hook facility to define-derived-mode.
48398         This allow a form to be evaluated _after_ a major mode's hooks have been run.
48399         It is needed to solve some problems in CC Mode, including bug #16759 and
48400         bug #23476.
48402         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
48403         `:after-hook', and generate the requisite code for it.
48404         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
48406         * lisp/subr.el (delayed-after-hook-forms): New variable.
48407         (run-mode-hooks): As the last thing evaluate the forms in
48408         delayed-after-hook-forms.
48410         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
48411         (Mode Hooks): Document the new feature in run-mode-hooks.
48413         * etc/NEWS: Note the new feature.
48415 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
48417         Fix recursive load of tramp.elc
48419         * lisp/net/tramp.el (tramp-completion-file-name-handler):
48420         Check also for `tramp-completion-mode-p'.
48421         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
48423 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
48425         Prefer grep -E/-F to egrep/fgrep
48427         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
48428         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
48429         are probably more portable.
48430         * lib-src/etags.c (main):
48431         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
48432         (eshell/fgrep):
48433         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
48434         * lisp/eshell/esh-var.el (eshell-apply-indices):
48435         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
48436         (ada-find-in-src-path):
48437         * lisp/textmodes/ispell.el (ispell-grep-command):
48438         (ispell-lookup-words):
48439         Use or document grep -E and grep -F instead of egrep and fgrep.
48440         * lisp/textmodes/ispell.el (ispell-grep-options):
48441         Use -Ei on all platforms, not just MS-Windows.
48443 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
48445         Avoid unnecessary work if a chunk is empty
48447         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
48448         if a chunk is empty (bug#23278).
48450 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
48452         * test/lisp/jit-lock-tests.el: New file.
48454 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
48456         Continue to fix Bug#10085
48458         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
48459         <expand-file-name>: Add handler.
48460         (tramp-completion-handle-expand-file-name): New defun.
48461         (tramp-handle-file-name-as-directory): Handle completion mode case.
48463         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48464         Fix test.
48465         (tramp-test24-file-name-completion): Extend test.
48467 2016-05-07  Alan Mackenzie  <acm@muc.de>
48469         Revert change 8e4595a... due to annoyance it causes the development team.
48471         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
48472         +0000 was an enhancement to .dir-locals to allow correct fontification
48473         of certain macro constructs.
48475         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
48477 2016-05-07  Alan Mackenzie  <acm@muc.de>
48479         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
48481 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
48483         Add tests for CSS mode completion
48485         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
48486         (css-test-property-values-no-duplicates)
48487         (css-test-value-class-lookup): Use `seq-sort'.
48488         (css-mode-tests--completions): New helper function for retrieving CSS
48489         completions.
48490         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
48491         (css-test-complete-property-value, css-test-complete-pseudo-class)
48492         (css-test-complete-pseudo-element, css-test-complete-at-rule)
48493         (scss-test-complete-at-rule, css-test-complete-property)
48494         (css-test-complete-selector, css-test-complete-nested-selector)
48495         (scss-test-complete-nested-selector): New tests.
48497 2016-05-06  Alan Mackenzie  <acm@muc.de>
48499         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
48501         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
48502         variables which was missing.
48504         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
48505         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
48507         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
48508         (Edebug Options): Document the new option.  Also add documentation for
48509         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
48510         edebug-print-circle, edebug-sit-for-seconds.
48512         * etc/NEWS: Note the new feature.
48514 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
48516         scheme.el: Turn literal tabs into \t
48518         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
48519         also caught some literal tabs in character classes. Fix this by
48520         adding \t to those classes.
48522 2016-05-07  Tino Calancha  <f92capac@gmail.com>
48524         Make 'backtab' work in table-mode on text terminals
48526         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
48527         explicitly.  (Bug#23456)
48529 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
48531         Try to speed-up display of many all-blank lines
48533         * src/bidi.c (bidi_initialize): Use anchored regexps for
48534         paragraph start and paragraph separator sequences.  (Bug#23457)
48536 2016-05-06  Alan Mackenzie  <acm@muc.de>
48538         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
48540         Prevent hack-local-variables being called from the fundamental-mode mode call
48541         early in normal-mode.  This fixes bug #23460 and bug #23463.
48543         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
48544         the things it calls, with the exception of hack-local-variables.
48546         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
48547         major mode initialization.
48549 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
48551         Port xref-tests to master branch
48553         Also, add a test to make this problem less likely in the future.
48554         * test/Makefile.in (check-no-automated-subdir): New rule.
48555         (check, check-expensive, check-maybe): Depend on it.
48556         * test/automated/data/xref/file1.txt: Rename to ...
48557         * test/data/xref/file1.txt: ... here.
48558         * test/automated/data/xref/file2.txt: Rename to ...
48559         * test/data/xref/file2.txt: ... here.
48560         * test/automated/xref-tests.el: Rename to ...
48561         * test/lisp/progmodes/xref-tests.el: ... here.
48562         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
48564 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
48566         Merge from origin/emacs-25
48568         50650cb Doc fixes for fclist and grep
48569         5e814e0 Minor doc fixes for quoting
48570         3347a73 `nreverse' the marker pairs list
48571         1a4127d Use save-excursion in xref-location-marker more
48572         ab3ba91 shell-quote-argument DIR when appropriate
48573         922c7a3 Rework xref-query-replace-in-results
48574         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
48575         0932b94 Fix todo-mode bug involving archived items (bug#23447)
48576         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
48577         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
48578         4d8fd9c Handle "empty line" regexp in xref searches
48579         f559b37 Add tests for xref-collect-matches
48580         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
48581         6f82d8e Clear buffer-undo-list when showing xrefs
48582         c68a091 Note the quote translation in `message' in section "incompati...
48583         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
48584         93703c5 (Common Keywords): Correct what missing :group means
48585         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
48586         2ea2a2f Doc fixes for quoting
48587         8544b98 posnp doc clarification
48588         805204f Mention what a missing :group does
48589         ec554d7 Fix documentation of dired-aux search/replace commands
48591 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
48593         Support completion of HTML tags in CSS selectors
48595         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
48596         list of HTML tags for completion.
48597         (css--nested-selectors-allowed): New variable for determining whether
48598         nested selectors are allowed in the current mode.
48599         (css--complete-selector): New function for completing part of a CSS
48600         selector.
48601         (css-completion-at-point): Support completion of selectors.
48602         (scss-mode): Allow nested selectors.
48604 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
48606         Make `R' in eww work more reliably
48608         * lisp/net/eww.el (eww-score-readability): Protect against
48609         null children.
48611 2016-05-05  Alan Mackenzie  <acm@muc.de>
48613         Call hack-local-variables from major modes rather than from file visiting
48615         This prevents file/directory local variables from being lost when the major
48616         mode is set or changed.
48618         This fixes bug #15577 and bug #23407.
48620         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
48621         function hasn't already done so.
48622         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
48623         its previous non-nil setting be t, and introduce the following action for a
48624         non-nil non-t value: apply all settings apart from `mode'.
48626         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
48627         which are visiting files.
48629         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
48630         sets file variables.
48631         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
48632         dir local variables, but `coding' can't.
48634         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
48635         also calls `hack-local-variables'.
48636         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
48637         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
48638         saying that the mode IS SET, not merely "selected" or "chosen".
48639         (Mode Hooks): Document change to `run-mode-hooks'.
48641         * doc/lispref/variables.texi (File Local Variables): Document change to
48642         `hack-local-variables'.
48644 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
48646         tramp-sh.el: Work around a stat bug
48648         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
48649         stat versions which produce shell quoted output.  See also
48650         coreutils Bug#23422.
48652 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
48654         Fix autogen.sh for separate worktrees
48656         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
48657         of assuming .git/hooks is a directory.
48659 2016-05-04  Alan Mackenzie  <acm@muc.de>
48661         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
48663         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
48664         when text-quoting-style is `leave'.
48666         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
48668         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
48669         `text_quoting_style'.
48670         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
48671         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
48672         LEAVE_QUOTING_STYLE.
48674         * src/editfns.c (styled_format): Set quoting_style to -1 when
48675         text-quoting-style is `leave'.
48677 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
48679         * lisp/emulation/viper.el:
48680         * lisp/emulation/viper-cmd.el: Use lexical-binding.
48681         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
48682         args, for use in advice-add.
48683         (viper--init-message): Rename from init-message.
48684         (viper-minibuffer-standard-hook): Adjust accordingly.
48685         (viper-undo): Remove unused var `modified'.
48686         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
48687         Don't use dynamic vars as args.
48688         (viper-submit-report): Clarify use of dynamic vars.
48690         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
48691         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
48692         Use add-function rather than a `(lambda ...).
48693         (viper--advice-list): New var.
48694         (viper--advice-add, viper--deactivate-advice-list): New funs.
48695         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
48696         (viper-non-hook-settings): Don't hook into find-file any more.
48698 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
48700         * lisp/vc/ediff-util.el: Use lexical-binding.
48702         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
48704 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
48706         Add an animation sanity check
48708         * lisp/image.el (image-multi-frame-p): Give up on animations
48709         if it seems like they are too slow (bug#23431).
48711 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
48713         abbrev-tests.el fix
48715         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
48716         internal implementation detail.
48718 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
48720         (shr-rescale-image): Clarify logic slightly
48722         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
48724 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
48726         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
48728         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
48729         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
48730         Monnier.  (Bug#19185, Bug#20398)
48732 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
48734         Add more abbrev tests
48736         * test/lisp/abbrev-tests.el
48737         (clear-abbrev-table-test): Use `abbrev-expansion'
48738         (abbrev-table-empty-p-test, list-abbrevs-test)
48739         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
48740         (edit-abbrevs-test, define-abbrevs-test)
48741         (read-write-abbrev-file-test)
48742         (abbrev-edit-save-to-file-test): New tests (bug#23139).
48744 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
48746         Allow eval-ing named character literals
48748         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
48749         named character literals.
48750         * test/lisp/progmodes/elisp-mode-tests.el
48751         (elisp--preceding-sexp--char-name): Add test for skipping over
48752         named character literals (bug#23354).
48754 2016-05-02  Aaron Conole  <aconole@redhat.com>
48756         Call va_end in boot_error
48758         * src/gnutls.c (boot_error): A recent change added a function
48759         to signal an error or return an error code. That function uses
48760         a variadic argument list to populate an error message
48761         string. However, it missed calling va_end after using the
48762         variadic argument list.
48764           Copyright-paperwork-exempt: yes
48766 2016-05-02  Aaron Conole  <aconole@bytheb.org>
48768         Fix the call to set_network_coding_system
48770         * src/process.c (Fmake_network_process): A recent commit
48771         modified the set_network_socket_coding_system function to take
48772         arguments host, service, and name. However, those arguments
48773         appear to be swapped.
48775           Copyright-paperwork-exempt: yes
48777 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
48779         Revert "alas, a map can have only one parent"
48781         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
48783         This had already been fixed by using `make-composed-map'.  And
48784         we don't want image-map to inherit from special-mode-map, anyway.
48786 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48788         Merge from origin/emacs-25
48790         bf21c84 Fix quoting problem in cc-engine debug message
48791         8f36614 Add electric-quote-string unit test
48792         6280531 Don’t electrically quote ‘'’ in Python
48793         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
48795 2016-05-02  Sam Steingold  <sds@gnu.org>
48797         alas, a map can have only one parent
48799         * lisp/image-mode.el (image-model-map): Cannot have two parents.
48800         * lisp/image.el (image-map): Inherit from `special-mode-map'.
48802 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
48804         Fix Bug#10085
48806         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
48807         Add optional arguments OPERATION and COMPETION.  Handle
48808         `file-name-as-directory', `file-name-directory' and
48809         `file-name-nondirectory' also in completion mode.
48810         (tramp-file-name-handler): Use it.  (Bug#10085)
48812         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48813         Extend test.
48815 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
48817         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
48819 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48821         Tweak .gitignore
48823         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
48824         as these files are no longer created.  Add gmon.out, for
48825         -pg profiling.  Sort.
48827 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48829         Sync from gnulib
48831         This incorporates:
48832         2016-05-01 mktime: port to stricter signed overflow checking
48833         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
48834         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
48835         2016-05-01 mktime: simplify DEBUG_MKTIME
48836         2016-05-01 Port mktime_internal offset to unsigned time_t
48837         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
48838         2016-04-13 mktime: improve integer overflow checking
48839         2016-04-13 intprops: check two's complement assumption
48840         2016-04-13 intprops, mktime, strtol: assume two's complement
48841         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
48842         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
48843         Copy from gnulib.
48845 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48847         Merge from origin/emacs-25
48849         c695fb3 ; Spelling fixes
48850         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
48851         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
48853 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48855         Merge from origin/emacs-25
48857         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
48858         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
48859         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
48861         # Conflicts:
48862         #       doc/misc/url.texi
48863         #       lisp/url/url.el
48865 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48867         Merge from origin/emacs-25
48869         16e5e8e Fix last change to isearch-update (bug#23406)
48870         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
48871         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
48872         86aa409 Followup for last commit in the user manual
48873         7004459 Improve doc string of 'set-goal-column'
48874         ccdaf04 Fix the MSDOS build
48875         ffe701c Remove \= from format string (bug#18190)
48876         1c58fa1 Fix variable-pitch font on MS-Windows
48877         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
48878         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
48879         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
48880         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
48881         734fb3a Port dumping to NetBSD with PaX
48882         0255a70 Don't mistake `for' inside a function for a part of array com...
48884         # Conflicts:
48885         #       src/Makefile.in
48887 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48889         Merge from origin/emacs-25
48891         71fb0e0 Improve last change to vc-git-mode-line-string
48892         6858e77 Todo mode doc bug fix
48893         e55d0db Fix revision calculation in vc-git-mode-line-string
48894         ca87b34 ; Fix errant revert ccb75d7
48895         40bfebe Add Python 3.5 keyword "await"
48896         fa7886a Add new keywords of Python 3.5
48897         ccb75d7 Partially revert previous change.
48898         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
48899         b09ca27 Say why text-quoting-style is not a user option
48901 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48903         Merge from origin/emacs-25
48905         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
48906         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
48907         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
48909 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48911         Mention the `find-library-name' changes
48913 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48915         Fix text in menu in minor-mode-menu-from-indicator
48917         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
48918         capitalize "Off" in "Turn Off" (bug#11028).
48920 2016-05-01  David Engster  <deng@randomsample.de>
48922         gitmerge: Add cherry pick to gitmerge-skip-regexp
48924         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
48925         from commit", which is the string appended by 'git cherry-pick
48926         -x'.
48928 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48930         Allow `global-set-key' to bind keys under the `M-o' map
48932         * lisp/subr.el (global-set-key): Allow binding keys under the
48933         `M-o' map (bug#9730).
48935 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48937         Add `size-indication-mode' to the menu on `mouse-1' "Top"
48939         * lisp/bindings.el (mode-line-column-line-number-mode-map):
48940         Add `size-indication-mode' to the menu (bug#5727).
48942 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48944         Allow finding libraries loaded manually outside the load-path
48946         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
48947         New function to find a library from a load path (bug#5661).
48948         (find-library-name): Use it.
48950         There are so many combinations of inputs and possibly entries in
48951         `load-history' that the code looks like an entry in a code obfuscation
48952         contest.  If anybody has a better implementation, please substitute.
48954         But remember that the input given may be foo, foo.el, foo.elc, and the
48955         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
48956         want to return only foo.el and foo.el.gz.  *phew*
48958 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
48960         Allow minibuffer prompts to use faces
48962         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
48963         `minibuffer-prompt-properties' and explain how faces work in
48964         the minibuffer prompt.
48966         * src/minibuf.c (read_minibuf): If `face' is in
48967         `minibuffer-prompt-properties', apply it to the end of the
48968         face list to allow users to have their own faces on the
48969         prompts (bug#16136).
48971 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
48973         Add R7RS syntax forms to scheme.el
48975         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
48976         a number of special forms introduced in R7RS-small.
48977         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
48979 2016-05-01  Alan Third  <alan@idiocy.org>
48981         Implement horizontal scroll bars on NS
48983         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
48984         check.
48985         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
48986         scroll-bar mouse clicks to standard handlers.
48987         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
48988         pixel_height to pixel_length.
48989         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
48990         caused scroll-bars to be over-drawn and the best working solution
48991         appears to be complete removal.
48992         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
48993         correctly.
48994         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
48995         (setFrame): Handle horizontal case.
48996         (dealloc): Handle horizontal case.
48997         (judge): Handle horizontal case.
48998         (setPosition): Rename pixel_height to pixel_length.
48999         (sendScrollEventAtLoc): Handle horizontal case.
49000         (mouseDown): Handle horizontal case and general tidy up of code.
49001         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
49002         absolute pixel size instead of ratio.
49003         * src/window.h: Remove NS check.
49005 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
49007         tramp.texi: Revert last change due to backward compatibility
49009 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
49011         Fix the buffer-count patch (Bug#23394)
49013         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
49014         once each time through the loop.  Reported by Lars Ingebrigtsen in:
49015         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
49017 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49019         cua-prefix-override-inhibit-delay doc fix
49021         * lisp/emulation/cua-base.el
49022         (cua-prefix-override-inhibit-delay): Typo fix in doc string
49023         (bug#23401).
49025 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
49027         Fix generate-new-buffer-name increment typo
49029         Problem reported by Chaitanya Koparkar (Bug#23394).
49030         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
49031         generating a new buffer.  This fixes a typo I introduced in
49032         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
49034 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49036         global-eldoc-mode doc fix
49038         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
49039         specific about what "applicable" means (bug#23071).
49041 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49043         Make the legend in describe-categories a link
49045         * lisp/help-fns.el (describe-categories): Make the "see
49046         bottom" text a link (bug#22227).
49048 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49050         normal-top-level-add-subdirs-to-load-path doc fix
49052         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
49053         Doc fix (bug#21962).
49055 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49057         isearch-search-fun-function doc tweak
49059         * lisp/isearch.el (isearch-search-fun-function): Mention what
49060         the STRING parameter is (bug#21552).
49062 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49064         Fill some imenu--index-alist doc lines
49066         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
49068 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49070         Make describe-variable look up the variable in the current buffer
49072         * lisp/help-fns.el (describe-variable): Get the variable
49073         definition in the buffer we were called from (in case it only
49074         exists there) (bug#21252).
49076 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49078         Fmarker_position doc string clarification
49080         * src/marker.c (Fmarker_position): Clarify the doc string
49081         (bug#21231).
49083 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49085         Further define-obsolete-* doc fixups
49087         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
49088         Fix up last change.
49089         (define-obsolete-variable-alias): Ditto.
49091 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49093         Describe WHEN in all the define-obsolete- macros
49095         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
49096         Say more verbosely what WHEN is (bug#21225).
49097         (define-obsolete-function-alias): Describe the WHEN parameter.
49098         (define-obsolete-variable-alias): Ditto.
49100 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49102         Mention with-silent-modifications in the lispref manual
49104         * doc/lispref/text.texi (Changing Properties): Document
49105         with-silent-modifications (bug#21171).
49107 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49109         with-silent-modifications doc clarification
49111         * lisp/subr.el (with-silent-modifications): Rearrange the doc
49112         string a bit so that the most pertinent information is at the
49113         top (bug#21171).
49115 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49117         clear-visited-file-modtime doc string fix
49119         * lisp/files.el (clear-visited-file-modtime): Fix possibly
49120         confusing doc string wording (bug#21169).
49122 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49124         Document mode mode line variables
49126         * doc/lispref/modes.texi (Mode Line Variables): Document
49127         `mode-line-front-space, `mode-line-misc-info',
49128         `mode-line-end-spaces' (bug#21014).
49130 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49132         Add a cross ref to Optional Mode Line
49134         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
49135         reference to the Emacs mode line node that explains things
49136         like `display-time-string' (bug#21002).
49138 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49140         Add a doc string to display-time-string
49142         * lisp/time.el: Add a doc string to `display-time-string',
49143         because it's referred to in the manual, and is too mysterious
49144         otherwise (bug#21002).
49146 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49148         custom-buffer-style doc fix
49150         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
49151         value (bug#20724).
49153 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49155         Document how to check for ImageMagick support
49157         * doc/lispref/display.texi (ImageMagick Images): Say how to
49158         check for ImageMagick support, which isn't quite obvious
49159         (bug#20702).
49161 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49163         Minor doc fix for ImageMagick/SVG builds
49165         * doc/lispref/display.texi (SVG Images): Don't imply that you
49166         have to build Emacs yourself (bug#20702).
49167         (ImageMagick Images): Ditto.
49169 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49171         Rearrange the doc of query-replace slightly
49173         * lisp/replace.el (query-replace): Move the mention of the
49174         interactive prefix arg earlier so that users can find it
49175         (bug#20654).
49177 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49179         apropos-print doc fix
49181         * lisp/apropos.el (apropos-print): Document the undocumented
49182         parameters (bug#20520).
49184 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49186         completion-table-with-predicate doc string fix
49188         * lisp/minibuffer.el (completion-table-with-predicate): t ->
49189         non-nil in the doc string (bug#20460).
49191 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49193         Fill the completion-table-with-predicate doc string
49195         * lisp/minibuffer.el (completion-table-with-predicate): Fill
49196         the doc string (bug#20460).
49198 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49200         replace-match-maybe-edit doc clarification
49202         * lisp/replace.el (replace-match-maybe-edit): Say what
49203         MATCH-DATA is (bug#20304).
49205 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49207         add-timeout doc fix
49209         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
49210         value (bug#20181).
49212 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49214         Extremely minor doc fix in Choosing Window
49216         * doc/lispref/windows.texi (Choosing Window): There's only one
49217         action alist, I think (bug#20158).
49219 2016-04-30  Alan Mackenzie  <acm@muc.de>
49221         * .dir-locals.el: Amend for correct fontification of *.[ch]
49222         containing "IF_LINT"
49224 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49226         Transform mentions of `eval-after-load' to `with-eval-after-load'
49228         * doc/lispref/loading.texi (Hooks for Loading): Update text to
49229         not mention `eval-after-load' (bug#20038).
49231 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49233         cursor-type doc fix
49235         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
49236         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
49238 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49240         Add a link from Tool Bar to Images
49242         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
49243         Images node (bug#19722).
49245 2016-04-30  Alan Mackenzie  <acm@muc.de>
49247         CC Mode: Recognize a noise macro with parens after a declarator's identifier
49249         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
49250         following comment "Skip over type decl suffix operators." insert code also
49251         to check for noise macros with parentheses.
49253 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49255         (default-mode-line-format): More explicit obsolete info
49257         * lisp/subr.el (default-mode-line-format): Be more explicit in
49258         how default values are now handled (bug#19424).
49260 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49262         Fcompare_buffer_substrings doc string clarification
49264         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
49265         doc string clarification (bug#19255).
49267 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49269         insert-file-contents-literally doc fix
49271         * lisp/files.el (insert-file-contents-literally): Say that the
49272         parameters are explained in the other function (bug#18317).
49274 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49276         Fix custom types for cursor-in-non-selected-windows
49278         * lisp/cus-start.el (standard): Use the same custom types for
49279         cursor-in-non-selected-windows as for cursor-type (bug#19214).
49281 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49283         Doc clarification to mwheel-scroll
49285         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
49286         does not apply to Windows (bug#19209).
49288 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49290         Clarify the doc of eval-expression-print-format
49292         * lisp/simple.el (eval-expression-print-format): Doc
49293         clarification (bug#19114).
49295 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49297         (extended-command-suggest-shorter): Add a version string
49299         * lisp/simple.el (extended-command-suggest-shorter): Add a
49300         version string.
49302 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49304         Document extended-command-suggest-shorter
49306         * doc/emacs/m-x.texi (M-x): Mention
49307         extended-command-suggest-shorter (bug#19152).
49309 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
49311         Add a variable to control "shorter command" suggestions
49313         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
49314         (execute-extended-command): Use it.
49316 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49318         Explictly explain that package-initialize loads the packages
49320         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
49321         in saying that `package-initialize' obviates adjusting the
49322         path or requiring the packages, as this is a question that
49323         apparently comes up now and then (bug#18829).
49325 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49327         Have the doc strings of `load-path' and `require' mention each other
49329         * src/fns.c (Frequire): Mention `load-path' and fill the doc
49330         string (bug#18829).
49332         * src/lread.c (syms_of_lread): Mention that `require' uses
49333         `load-path'.
49335 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49337         Doc fix for insert-pair-alist
49339         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
49340         COMMAND-CHAR is (bug#18809).
49342 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49344         Move doc of backup-directory-alist to the Backup node
49346         * doc/emacs/files.texi (Backup): Move the documentation of
49347         `backup-directory-alist' here from the "Single or Numbered
49348         Backups" node, because it doesn't seem to have much to do with
49349         numbering (bug#18692).
49351 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49353         Tiny doc clarification for create-fontset-from-fontset-spec
49355         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
49356         Clarify what the optional part is (bug#18686).
49358 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49360         Fill the doc string of font-lock-keywords
49362         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
49363         reorganize some explanations (bug#21427).
49365 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49367         Doc fix for font-lock-remove-keywords
49369         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
49370         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
49372 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
49374         Clarify whitespace-style doc string
49376         * lisp/whitespace.el (whitespace-style): Doc clarification
49377         (bug#18296).
49379 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49381         No need to test for jka-compr
49383         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
49384         is always available; no need to test (bug#18204).
49386 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49388         Doc fixed for next-error-buffer-p
49390         * lisp/simple.el (next-error-buffer-p): Clarify doc string
49391         (bug#18202).
49393 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49395         Tiny doc fix
49397         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
49398         (and fill) (bug#18201).
49400 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49402         Doc fix
49404         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
49405         slightly (bug#18092).
49407 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49409         delsel doc touch ups
49411         * lisp/delsel.el (delete-selection-helper): Use non-nil
49412         instead of t and clarify function return values (bug#18089).
49414 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49416         Doc fixes for menu-bar.el
49418         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
49419         REGION parameter (bug#18028).
49420         (clipboard-kill-region): Ditto.
49422 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49424         Doc fix
49426         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
49428 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49430         Minor doc clarification
49432         * lisp/subr.el (y-or-n-p): Document the return value from "n"
49433         (bug#18024).
49435 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49437         Fill font-lock-mode doc string
49439         * lisp/font-core.el (font-lock-mode): Fill the text to make it
49440         narrower (bug#18008).
49442 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49444         Wrap the auto-generated doc string
49446         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
49447         string to make it less likely that we get overlong lines
49448         (bug#17999).
49450 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49452         Clarify hi-lock-find-patterns
49454         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
49455         (bug#17989).
49457 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49459         Warning fix in jit-lock-mode
49461         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
49462         turning the mode on in an indirect buffer, if this somehow has
49463         happened (bug#17738).
49465 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49467         Add a doc string to `winner-mode'
49469         * lisp/winner.el (winner-mode): Add a doc string based on the
49470         comments in the file (bug#17716).
49472 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49474         Doc fix for align-newline-and-indent
49476         * lisp/align.el (align-newline-and-indent): Mention that
49477         alignment is done by `align' (bug#17707).
49479 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49481         Cancel the eldoc timer when switching off eldoc mode
49483         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
49484         timer when switching off eldoc mode.  It will be restarted
49485         again if needed (bug#17582).
49487 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49489         Doc fix for `kbd'
49491         * lisp/subr.el (kbd): Describe more fully the format of the
49492         parameter (bug#17039).
49494 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49496         Add a sanity check to apropos-documentation-internal
49498         * lisp/apropos.el (apropos-documentation-internal): Add a
49499         sanity check to be less fragile in the presence of invalid
49500         data (bug#16725).
49502 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49504         Doc tweak
49506         * lisp/simple.el (use-empty-active-region): Doc tweak.
49507         There's only one region (bug#16513).
49509 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49511         Clarify `read-face-name' doc and tweak the code
49513         * lisp/faces.el (read-face-name): Clarify the documentation
49514         and allow a mix of faces and faces names in all cases
49515         (bug#16483).
49517 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49519         Remove ": ?" from the read-face-name prompt
49521         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
49522         to be more backwards compatible (bug#15909).
49524 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49526         Link from (emacs)Exiting to (lisp)Killing Emacs
49528         * doc/emacs/entering.texi (Exiting): Link to the lispref
49529         manual for further customizations (bug#15445).
49531 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49533         find-lisp doc touchups
49535         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
49536         string (bug#15047).
49537         (find-lisp-find-files): Clarify doc.
49539 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49541         Don't have the manual claim that it lists all CL incompatibilities
49543         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
49544         incompatibilities isn't exhaustive, so don't say that it is
49545         (bug#15171).
49547 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49549         Fix call of `kmacro-display'
49551         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
49552         `kmacro-display' (bug#15020).
49554 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
49556         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
49558         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
49559         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
49560         (bug#14554).
49562 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49564         Rename "Directory Search" menu to "Servers"
49566         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
49567         Search" to "Directory Servers".  Suggested by Eli
49568         Zaretskii. (bug#14919).
49570         * lisp/net/eudc.el: Rename ditto throughout.
49572 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49574         Remove uses of the unused to-end parameter from simple.el
49576         * lisp/simple.el (line-move-partial): Remove usages of the
49577         unused to-end parameter, and make it optional (bug#14844).
49578         (line-move): Remove use of the unused to-end parameter.
49580 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49582         Doc fix: _ chars are automatically removed.
49584         * lisp/cus-edit.el (custom-buffer-create): _ chars are
49585         automatically removed when displaying help, so fix the last
49586         doc change.
49587         (custom-buffer-create-other-window): Ditto.
49589 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49591         Doc string change to enable-recursive-minibuffers
49593         * src/minibuf.c (syms_of_minibuf): Mention
49594         minibuffer-depth-indicator-mode in the doc string to
49595         enable-recursive-minibuffers (bug#14147).
49597 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49599         Fix definition of nobreak-space
49601         * lisp/faces.el (nobreak-space): The definition to
49602         nobreak-space was inadvertantly changed by the previous checkin.
49604 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49606         Clarify the `interactive' doc string slightly
49608         * src/callint.c (Finteractive): Clarify the doc string slightly
49609           (bug#14577).
49611 2016-04-28  Drew Adams  <drew.adams@oracle.com>
49613         Make icomplete respect `completion-ignored-extensions'
49615         * lisp/icomplete.el (icomplete-completions): Heed
49616         `completion-ignored-extensions' (bug#12939).
49618 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49620         Make ibuffer not break on newline-embedded buffer names
49622         * lisp/ibuffer.el (name): When buffer names contain newlines,
49623         quote those newlines before displaying (bug#12378).
49625 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49627         Add a new face for non-breaking hyphen characters
49629         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
49630         (Text Display): Ditto.
49632         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
49634         * src/xdisp.c (get_next_display_element): Use it instead of
49635         the escape-glyph face.
49637         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
49639 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49641         Make a menu less ambiguous
49643         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
49644         is about using modifier keys, not binding them (bug#10942).
49646 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49648         Make kill-emacs-query-functions into defcustom
49650         * lisp/files.el (save-buffers-kill-terminal): Mention
49651         `save-buffers-kill-emacs' (bug#10794).
49652         (kill-emacs-query-functions): Made into a defcustom.
49654 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49656         Have describe-variable output multi-line values better
49658         * lisp/help-fns.el (describe-variable): When printing
49659         multi-line expressions, display them prettier (bug#10723).
49661 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49663         Clean up custom-buffer-create code slightly
49665         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
49666         pass the unused description value on (for clarity) (bug#10540).
49667         (custom-buffer-create): Ditto
49669 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49671         Clarify some doc strings
49673         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
49674         Clarify doc string (bug#8693).
49675         (syntax-propertize): Clarify doc string.
49677 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
49679         Fix number-at-point in lisp buffers
49681         * lisp/thingatpt.el (number-at-point): Don't say that things
49682         like ?a are numbers in lisp mode buffers (bug#8634).
49684 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
49686         Don't consider colons to be paragraphs starting chars in strings
49688         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
49689         consider colons to start paragraphs in (doc) strings
49690         (bug#7751).
49692 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49694         Make `undo' of `C-x r t' put point where it should be
49696         * lisp/rect.el (string-rectangle): Make `undo' of a this
49697         command put point back where it was (bug#7522).
49699 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49701         Add some concept index entries for custom types
49703         * doc/lispref/customize.texi (Composite Types): Add concept
49704         index entries for restricted-sexp, radio and choice (bug#7385).
49706 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49708         Mention `lisp-indent-function' in the lispref manual
49710         * doc/lispref/macros.texi (Indenting Macros): Mention
49711         `lisp-indent-function' (bug#3393).
49713 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49715         Clarify doc string of internal compilation function
49717         * lisp/progmodes/compile.el (compilation-get-file-structure):
49718         Clarify doc string (bug#3137).
49720 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49722         Avoid having `C-x h' mark the prompt part of the minibuffer
49724         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
49725         part of the minibuffer (bug#2589).
49727 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49729         Allow a prefix argument to find-library to pop to a different window
49731         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
49732         argument to pop to a different window (bug#2270).
49734 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49736         Move the diff command to "Operate" in ibuffer
49738         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
49739         command to the "Operate" menu, and remove the customization
49740         entry to make the "View" menu more logical (bug#1150).
49742 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
49744         Make the minor modes in help buffers into buttons
49746         * lisp/help.el (describe-mode): Make the minor modes into
49747         buttons to enable easier documentation traversal (bug#1149).
49749 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
49751         Add a number of Python 3 exceptions
49753         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
49754         the exception list, adding a number of new Python 3 exceptions and
49755         moving some exceptions to the Python 2 and 3 list as Python 2.7
49756         includes them.
49758 2016-04-26  Anders Lindgren  <andlind@gmail.com>
49760         Fix bug#22891: wrong terminal width when a fringe width is zero.
49762         When either fringe width is zero, Emacs reserved one column for a
49763         continuation glyph. Terminal windows does not take this into
49764         account when the frame is resized.
49766         * lisp/window.el (window-adjust-process-window-size): Use
49767         `window-max-chars-per-line' instead of `window-body-width'.
49768         * lisp/term.el (term-window-width): Remove function. (It does the
49769         same as `window-max-chars-per-line' but without recent bug fixes.)
49770         (term-mode): Use `window-max-chars-per-line' instead of
49771         `term-window-width'.
49773 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
49775         Add completion of `calc()' in CSS mode
49777         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
49778         a completion candidate for several value classes.
49779         (css--value-class-lookup): Return only unique results.
49781         * test/lisp/textmodes/css-mode-tests.el
49782         (css-test-property-values-no-duplicates)
49783         (css-test-value-class-lookup): Update to reflect the above changes.
49785 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
49787         Fix socketd fd startup bug that I introduced
49789         Problem reported by Matthew Leach in:
49790         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
49791         * src/emacs.c (main): Indicate more clearly the coupling between
49792         the --daemon option and init_process_emacs.
49793         * src/lisp.h: Adjust to API changes.
49794         * src/process.c (set_external_socket_descriptor):
49795         Remove, replacing by ...
49796         (init_process_emacs): ... passing the socket FD here instead.
49797         All uses changed.
49799 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
49801         Fix: (void-variable url-http-response-status)
49803         * lisp/url/url-http.el
49804         (url-https-proxy-after-change-function): Display the error
49805         message before doing the callback to avoid a void variable
49806         situation (bug#23290).
49808 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49810         smtpmail would say it's done before it is
49812         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
49813         of the data end marker from here... (bug#23020).
49814         (smtpmail-send-data): ... to here, so that we don't get a
49815         "Sending done" before we've sent the final "." (which can make
49816         the SMPT server reject the email.
49818 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49820         `url-retrieve-synchronously' now takes an optional timeout parameter
49822         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
49824         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
49825         in a timeout parameter (bug#22940).
49827 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49829         Include "Retype" as a comint password prompt
49831         * lisp/comint.el (comint-password-prompt-regexp): Include
49832         "Retype" to catch "Retype password for [account]:" from the
49833         "pass" utility (bug#22942).
49835 2016-04-25  Alan Mackenzie  <acm@muc.de>
49837         Fix spurious fontification of "for (; a * b;)" in CC Mode.
49839         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
49840         inside the parens of a for statement and after a semicolon near the beginning
49841         of the lambda form.
49843 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
49845         New function ‘char-from-name’
49847         This also fixes the mishandling of "\N{CJK COMPATIBILITY
49848         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
49849         Problem reported by Eli Zaretskii in:
49850         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
49851         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
49852         * lisp/international/mule-cmds.el (char-from-name): New function.
49853         (read-char-by-name): Use it.  Document that "BED" is treated as
49854         a name, not as a hexadecimal number.  Reject out-of-range integers,
49855         floating-point numbers, and strings with trailing junk.
49856         * src/lread.c (character_name_to_code): Call char-from-name
49857         instead of inspecting ucs-names directly, so that we handle
49858         computed names like "VARIATION SELECTOR-1".  Do not use an auto
49859         string, since char-from-name might GC.
49860         * test/src/lread-tests.el: Add tests for new behavior, and
49861         fix some old tests that were wrong.
49863 2016-04-25  Alan Mackenzie  <acm@muc.de>
49865         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
49867         This allows the calling of c-restore-<>-properties from c-common-init without
49868         the test suite giving spurious errors.
49870         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
49871         sets face properties.
49872         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
49873         template brackets using c-inside-<>-type-key.  Don't bind
49874         c-record-type-identifiers or c-record-found-types around the recursive call,
49875         allowing positions of found types to flow back to the caller.
49877         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
49878         new lang consts/var.
49880         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
49881         c-restore-<>-properties from the list of functions called at mode
49882         initialization.
49884 2016-04-25  Jun Hao  <jun_hao@aol.com>
49886         Pass in port only if provided by caller in the OS X keychain
49888         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
49889         port only if provided (bug#23374).
49891 2016-04-25  Alan Mackenzie  <acm@muc.de>
49893         Add fontification for a C declaration which looks like a function call.
49895         For example, "t1 *fn (t2 *b);".
49897         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
49898         at-decl-start, setting it to whether the putative decl starts immediately
49899         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
49900         non-nil.
49902         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
49904 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
49906         Don't mirror slashes in convert-standard-filename on MS-Windows
49908         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
49909         slashes into backslashes.  This avoids producing ugly file names,
49910         and is deemed no longer necessary, and should certainly be
49911         unrelated to which shell is in use.
49913 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
49915         Revert the disputed VC change and update the tests
49917         * lisp/vc/vc-hooks.el (vc-working-revision):
49918         Remove the previous change.
49919         (vc-state): Same.  And update the old, incorrect comment about
49920         unregistered files
49921         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
49923         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
49924         calling `vc-state' on default-directory (VC state is undefined
49925         for directories).  Check that `vc-state' returns nil where it
49926         returned `unregistered' before.  Remove all checks comparing
49927         invocations with the backend passed in explictly and without.
49928         (vc-test--working-revision): Remove all checks comparing
49929         invocations with the backend passed in explictly and without.
49930         Update comments, and add a new one.
49932 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49934         * etc/NEWS: Grammar and punctuation improvements.
49936 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49938         Merge from origin/emacs-25
49940         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
49941         0cd2e92 Don't kill ~/ if it's the top level directory
49942         4f40f5f describe-char: fix insert char documentation
49943         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
49945 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49947         Merge from origin/emacs-25
49949         960f90d * etc/AUTHORS: Update the AUTHORS file
49950         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
49952 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
49954         Merge from origin/emacs-25
49956         78f9af7 ; ChangeLog fixes
49957         162e549 * admin/authors.el (authors-ignored-files): Additions.
49958         2b31a0c In x_set_window_size restore do_pending_window_change calls
49959         401857e Fix Alt-modified keys on some European MS-Windows keyboards
49960         a77cf24 Document 'help-go-forward'
49961         1ba947f Revert "Allow to customize names of executables used by grep.el"
49962         570e0fa Revert "Don't use 'find-program'"
49963         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
49964         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
49965         ce0d8c7 Make tmm-menubar work in correct order again
49966         b8d5a8f Remove the Meta-CVS VC backend
49968 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
49970         Don't let `css--property-values' return duplicates
49972         * lisp/textmodes/css-mode.el (css--property-values): Don't return
49973         duplicate values.
49975         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
49976         Take the above into account.
49977         (css-test-property-values-no-duplicates): Test that duplicates aren't
49978         returned by `css--property-values'.
49980 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49982         Call `make-composed-keymap' correctly
49984         * lisp/image-mode.el (image-mode-map): Call
49985         `make-composed-keymap' correctly.
49987 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49989         Use `make-composed-keymap' instead of copying the keymap
49991         * lisp/image-mode.el (image-mode-map): Use
49992         `make-composed-keymap' instead of copying the keymap.
49994 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49996         Make `q' etc work in image mode again
49998         * lisp/image-mode.el (image-mode-map): Restore
49999         special-mode-map as the parent keymap of image-mode-map (bug#23167).
50001 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50003         Fix typo in last url.texi checkin
50005 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50007         Make STARTTLS error messages better
50009         * lisp/net/network-stream.el (network-stream-open-starttls):
50010         Output a better error message when TLS negotiation fails while
50011         doing STARTTLS (bug#23027).
50013 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50015         Encode the shr tests files with trailing white space
50017 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
50019         Cache results of `css--property-values'
50021         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
50022         values.
50024         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
50025         New regression test for the above.
50027 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
50029         Some improvements in vc
50031         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
50032         Check, whether FILE is registered.
50034         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
50035         for nonexistent files.
50037         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
50038         (vc-test--revision-granularity-function)
50039         (vc-test--unregister-function): Use `vc-call-backend'.
50040         (vc-test--run-maybe-unsupported-function): New defmacro.
50041         (vc-test--register, vc-test--state, vc-test--working-revision)
50042         (vc-test--checkout-model): Use it.  Fix also expected results.
50043         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
50045 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50047         Document the nil/default values of url-user-agent
50049         * doc/misc/url.texi (Customization): Document the nil/default
50050         values of url-user-agent.
50052 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
50054         Compute User-Agent dynamically in url-http
50056         * lisp/url/url-http.el (url-http-user-agent-string): Compute
50057         User-Agent string dynamically.
50058         (url-http--user-agent-default-string): New function.
50060         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
50061         of information not to send.
50062         (url-user-agent): Add nil and `default' options; do not
50063         pre-compute value.
50065 2016-04-24  Jun Hao  <jun_hao@aol.com>
50067         Handle auth-source items with special characters on OS X
50069         * lisp/auth-source.el
50070         (auth-source-macos-keychain-search-items): Handle keychain
50071         output correctly when has special chararcters (bug#22824).
50073 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
50075         Implement process-attributes for Darwin
50077         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
50078         (system_process_attributes): Implement process-attributes
50079         for Darwin (bug#16579).
50081 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50083         Use Unicode literals instead of hex values
50085         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
50086         of hex values for greater readability.
50087         (shr-tag-bdi): Ditto.
50089 2016-04-24  Steve Purcell  <steve@sanityinc.com>
50091         Allow _ characters in SQL prompts
50093         * lisp/progmodes/sql.el (sql-product-alist): Allow _
50094         characters in SQL prompts (bug#22596).
50096         Fixes issue 22596, whereby "_" is now not considered a word constituent
50097         character in sql-interactive-mode, so prompts like "foo_dev# " are not
50098         correctly detected. Rather than piggy-back on the symbol table, we
50099         explicitly match against alphanumeric chars or "_".
50101 2016-04-23  Glenn Morris  <rgm@gnu.org>
50103         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
50105         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
50106         (autoload-generate-file-autoloads, autoload-find-destination)
50107         (update-directory-autoloads): Use autoload--non-timestamp.
50109 2016-04-23  Glenn Morris  <rgm@gnu.org>
50111         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
50113 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
50115         Regexps for matching CMake output
50117         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
50118         regexps for matching CMake output.
50119         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
50120         CMake test cases.
50121         * etc/compilation.txt (CMake): Add CMake examples.
50123 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
50125         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
50127         Fix docstring quotes.
50129 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
50131         Improve character name escapes
50133         * doc/lispref/nonascii.texi (Character Properties):
50134         Avoid duplication of Unicode names.  Reformat examples to fit in
50135         narrow pages.
50136         * doc/lispref/objects.texi (General Escape Syntax):
50137         Simplify and better-organize explanation of \N{...} escapes.
50138         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
50139         (char_surrogate_p): New inline function.
50140         * src/lread.c: Do not include string.h; no longer needed.
50141         (invalid_character_name, check_scalar_value): Remove; the ideas
50142         behind these functions are now bundled into character_name_to_code.
50143         (character_name_to_code): Remove undocumented support for "CJK
50144         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
50145         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
50146         point in \N escapes instead of returning garbage.  Use
50147         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
50148         * test/src/lread-tests.el (lread-char-number, lread-char-name)
50149         (lread-string-char-number, lread-string-char-name):
50150         Test runtime behavior, not compile-time, as the test framework
50151         is not set up to test compile-time.
50152         (lread-char-surrogate-1, lread-char-surrogate-2)
50153         (lread-char-surrogate-3, lread-char-surrogate-4)
50154         (lread-string-char-number-2, lread-string-char-number-3):
50155         New tests.
50156         (lread-string-char-number-1): Rename from lread-string-char-number.
50158 2016-04-21  Philipp Stephani  <phst@google.com>
50160         Use 'ucs-names' for character name escapes
50162         * src/lread.c (invalid_character_name, check_scalar_value)
50163         (parse_code_after_prefix, character_name_to_code): New helper
50164         functions that use 'ucs-names' and parsing for CJK ideographs.
50165         (read_escape): Use helper functions.
50166         (syms_of_lread): New symbol 'ucs-names'.
50167         * test/src/lread-tests.el: New tests; fix a couple of bugs in
50168         existing tests.
50170 2016-04-21  Philipp Stephani  <phst@google.com>
50172         Minor cleanups for character name escapes
50174         * src/lread.c (init_character_names): Add missing 'void'.
50175         Remove top-level 'const'.
50176         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
50178 2016-04-21  Philipp Stephani  <phst@google.com>
50180         Add documentation for character name escapes
50182 2016-04-21  Philipp Stephani  <phst@google.com>
50184         Implement named character escapes, similar to Perl
50186         * src/lread.c (init_character_names): New function.
50187         (read_escape): Read Perl-style named character escape sequences.
50188         (syms_of_lread): Initialize new variable 'character_names'.
50189         * test/src/lread-tests.el (lread-char-empty-name): Add test file
50190         for src/lread.c.
50192 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
50194         Avoid run-time dependency on libwinpthread DLL on MS-Windows
50196         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
50197         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
50198         present, so that MinGW64 builds don't depend on libwinpthread.
50199         (Bug#22959)
50201 2016-04-21  Matthew Leach  <matthew@mattleach.net>
50203         Add LIBSYSTEMD to the list of supported features
50205         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
50206         message at the end of configure stating whether Emacs will be build
50207         with libsystemd support.
50209 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
50211         Support absolute column movement in 'ansi-term'
50213         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
50214         for absolute column movement.  (Bug#23303)
50216 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
50218         Add Python 3.5 keyword "await"
50220         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
50221         keyword.
50223 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
50225         Add "keyframes" to list of CSS at-rules
50227         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
50229 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
50231         Prevent bootstrap autoload backup files
50233         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
50234         backups in newly created file.
50236         (autoload-ensure-default-file): Function split into two.
50237         (autoload-ensure-file-writeable): New function from split.
50239         (Bug#23203)
50241 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
50243         Fix org-timestamp-change typo
50245         Problem reported by Peter Münster (Bug#23299).
50246         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
50247         on undocumented behavior in ‘encode-time’.  In practice the
50248         old code used local time, so use that.
50250 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
50252         Avoid AC_PREPROC_IFELSE glitch in configure.ac
50254         Problem reported by Angelo Graziosi in:
50255         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
50256         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
50257         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
50259 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
50261         autorevert: Resume with polling if file is deleted
50263         * lisp/autorevert.el: Use consistent wording in comments and
50264         docstrings.
50265         (auto-revert-mode): Add local function to `kill-buffer-hook'.
50266         (auto-revert-notify-handler): Improve handling of `stopped' event.
50268         * test/lisp/autorevert-tests.el
50269         (auto-revert-test02-auto-revert-deleted-file): New test.
50270         (auto-revert-test03-auto-revert-tail-mode)
50271         (auto-revert-test04-auto-revert-mode-dired): Rename them.
50273 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50275         Merge from origin/emacs-25
50277         5a0cbe5 Fix Bug#23276
50278         2007e32 Sync with upstream vhdl mode v3.38.1.
50279         b6d2552 Tweak configure.ac syntax in recent module patch
50281 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50283         Merge from origin/emacs-25
50285         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
50286         3287f48 ; Add entry to MAINTAINERS
50287         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
50288         0f33284 Make use of rectangle-preview custom variable.
50289         aa0d83a Make use of rectangle-preview face.
50290         33bef6e Use 'grep-find-program' in check-declare.el
50291         a8560e5 Improve "C-h S" for cl-lib symbols
50292         52e798b Fix minor issues with removing left or right fringes
50293         d6ffd64 Speed up redisplay in ansi-term mode
50294         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
50295         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
50296         ab849b7 Fix w32 memory-management problem when extending buffer text
50298 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
50300         Merge from origin/emacs-25
50302         32364bb substitute-command-keys keeps quotes’ text props
50303         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
50304         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
50305         cc0b713 Perform xref searches without visiting unopened files
50306         5045575 Revert "Prevent bootstrap autoload backup files"
50308 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
50310         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
50312         so that it matches the actual implementation.
50313         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
50315 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50317         * lisp/textmodes/ispell.el: Compile with lexical-binding
50319         (declare-function): Don't define any more.
50320         (ispell-check-minver, ispell-looking-back): Tweak definition so that
50321         the compiler can obviously know that it's always defined.
50322         (ispell-debug-buffer): Declare var.
50323         (ispell-hunspell-fill-dictionary-entry)
50324         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
50325         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
50326         (ispell-command-loop): Avoid add-to-list on local variables.
50328 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50330         Minor fixups for external socket launching
50332         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
50333         * doc/emacs/misc.texi (Emacs Server):
50334         * etc/NEWS: Spelling and doc fixes.
50335         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
50336         Check for sd_is_socket returning positive, not zero.
50337         * src/process.c (external_sock_fd): Instead of initializing here ...
50338         (init_process_emacs): ... initialize it here, so that it does the
50339         right thing after dump/restore.
50340         (connect_network_socket): Simplify socket_to_use test.
50342 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
50344         Add HTML5 tags to HTML mode
50346         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
50347         (html-tag-help): Add short descriptions of those tags.
50349 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50351         Finish idna->puny changes in last Message patch
50353         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
50354         instead of idna functions.
50356 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50358         Use puny.el instead of idna.el functions in Gnus
50360         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
50361         Emacs comes with IDNA support built in).
50362         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
50363         `idna-to-unicode'.
50365         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
50367 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50369         Mention `message-use-idna' in NEWS
50371 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50373         Default `message-use-idna' to t
50375         * lisp/gnus/message.el (message-use-idna): Default to t (since
50376         Emacs comes with puny.el now).
50378 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50380         Extend battery.el to exotic power supply types
50382         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
50383         'battery--linux-sysfs-regexp' and make a defcustom. All users
50384         changed.  (Bug#23216)
50386 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50388         Add external socket launching support
50390         * src/process.c (connect_network_socket): Allow a pre-allocated socket
50391         descriptor to be used if passed to Emacs, avoiding the call to
50392         'socket' and 'bind'.
50393         (Fmake_network_process): Allow users to pass ':use-external-socket' in
50394         the parameter plist to use any sockets that have been passed to Emacs.
50395         (wait_reading_process_output): Call 'socket' and 'bind' every time.
50396         (syms_of_process): New symbol ':use-external-socket'.
50397         (set_external_socket_descriptor): New function.
50398         (external_sock_fd): New variable.
50399         * src/lisp.h: (set_external_socket_descriptor): New declaration.
50400         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
50401         passed and call 'set_external_socket_descriptor' to set the external
50402         socket.
50403         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
50404         compilation options.
50406         * configure.ac: Add new default-on option "systemd" and check for
50407         libsystemd at configure time.
50409         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
50410         calling 'make-network-process'.
50412         * etc/NEWS: Document new socket-passing functionality and the configure
50413         option to disable systemd interaction.
50415         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
50416         functionality and provide systemd unit examples.
50417         * doc/lispref/processes.texi (Network Processes): Document new
50418         'make-network-process' option ':use-external-socket'.
50420 2016-04-16  Matthew Leach  <matthew@mattleach.net>
50422         Don't spell-check argument of 'cref' TeX macro
50424         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
50425         macro to skip spell-checking the cref macro argument.
50427 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
50429         Simplify use of O_BINARY
50431         * src/callproc.c (call_process):
50432         * src/fileio.c (write_region):
50433         * src/filelock.c (read_lock_data):
50434         * src/image.c (x_find_image_fd):
50435         * src/lread.c (openp):
50436         * src/sysdep.c (init_random, emacs_fopen):
50437         * src/unexcw.c (unexec):
50438         Omit unnecessary use of O_BINARY, since emacs_open now arranges
50439         that for us.
50441 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
50443         * src/indent.c (Fvertical_motion): Pacify GCC
50445         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
50447 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50449         Port ‘./autogen.sh git’ to non-clones
50451         Problem reported by Angelo Graziosi in:
50452         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
50453         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
50454         there is no ‘.git’.
50455         (git_common_dir, hooks): New vars.
50456         (git_config, tailored_hooks, sample_hooks): Use them.
50458 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50460         Do not require that .git be a directory
50462         Problem reportyed by Phillip Lord.
50463         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
50464         * configure.ac, make-dist:
50465         Do not require that .git be a directory, as 'git worktree' makes
50466         it a file and not a directory.
50468 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50470         Avoid now-obsolete function gmm-format-time-string
50472         * lisp/gnus/message.el (message-insert-formatted-citation-line):
50473         Use format-time-string instead of obsolete function
50474         gmm-format-time-string.
50476 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50478         Support OFFSET and (OFFSET ABBR) time zone rules
50480         This simplifies Gnus and VC time zone support, by letting them
50481         feed the output of ‘current-time-zone’ and ‘decode time’ to
50482         primitives that accept time zone arguments.
50483         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
50484         * etc/NEWS:
50485         * lisp/gnus/message.el (message-insert-formatted-citation-line):
50486         * lisp/org/org.el (org-timestamp-format):
50487         * src/editfns.c (Fformat_time_string, Fdecode_time):
50488         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
50489         Document new behavior.
50490         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
50491         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
50492         Mark as obsolete, as it is now just an alias or narrow wrapper
50493         around format-time-string.
50494         * src/editfns.c (tzlookup): Also support integer OFFSET and
50495         list (OFFSET ABBR) as time zone rules.
50496         (Fencode_time): No longer need a special case for a cons ZONE.
50497         (Fcurrent_time_zone): If the time zone string is missing, compute
50498         it the same way the other new code does.
50500 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50502         Merge from origin/emacs-25
50504         ca50981 Improve time zone documentation
50505         c23c965 Prevent bootstrap autoload backup files
50506         9344612 Disable multicolor fonts on OS X since they are not supported...
50507         c41ce1c Capitalize “Universal Time” in documentation
50508         10597c9 Don't use 'find-program'
50510 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50512         Merge from origin/emacs-25
50514         b134c20 Sync with gnulib
50515         bb30fa9 Fix last change on 2016-01-02
50516         488a72f ; Spelling fixes
50517         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
50518         0e7bcec Avoid crashes due to unreasonably large or small text scaling
50519         85f257c Improve documentation of 'with-eval-after-load'
50520         668c7bc Improve handling of non-ASCII characters in Git log messages
50521         b570769 Remove undefined behavior in OS X dumper.
50522         97211f3 Fix clipping of xwidgets
50523         e87fbc0 Improve Lisp-level documentation of tooltips
50524         9f1786e Faces names should not end in "-face".
50525         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
50526         a1f221b Comint and compile no longer set EMACS
50527         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
50528         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
50529         c93ae7a Allow to customize names of executables used by grep.el
50530         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
50531         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
50532         a3f1ac2 Avoid infinite loop in 'studlify-word'
50533         f36df4b Don’t recommend obsolete EMACS env var
50534         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
50536 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50538         Merge from origin/emacs-25
50540         96d9e78 Fix "Beginning of buffer" error in forward-page
50541         20686f7 Add a `transient' project type
50543 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50545         Merge from origin/emacs-25
50547         80128a7 Fix stability confusion in sort-tests
50548         1e4aa42 Avoid describe-key error with lambdas
50549         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
50550         f501116 Sync with gnulib
50551         c4963f9 Fix doc for Universal Time
50553 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
50555         Fix alignement rule for CSS
50557         * lisp/align.el (align-rules-list): Support CSS properties that have
50558         multiple words.
50560 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
50562         New custom option for overriding mailcap choices
50564         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
50565         (mailcap--set-user-mime-data): New function.
50566         (mailcap-user-mime-data): New customization option.
50567         (mailcap-select-preferred-viewer): New function.
50568         (mailcap-mime-info): Use it.
50570         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
50572 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
50574         Fix Bug#23207
50576         * src/keyboard.c (read_char): Resume idle timers in case of
50577         dbus-event, file-notify-event and config-changed-event.
50578         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
50580 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
50582         Add vc-backend and vc-responsible-backend tests
50584         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
50585         (vc-file-clearprops): Use properties on absolute files.
50587         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
50588         Clear file properties.
50589         (vc-test--register): Add tests for `vc-backend' and
50590         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
50591         (vc-test--state, vc-test--checkout-model): Catch other errors
50592         but `vc-not-supported'.
50593         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
50594         other errors but `vc-not-supported'.
50595         (vc-test-src02-state): Mark as an expected failure.
50597 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
50599         Minor improvements for hash function primitives
50601         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
50602         hashfn_eq rather than reaching inside them.
50603         (hashtest_eq, hashtest_eql, hashtest_equal):
50604         Now constants with initializers.
50605         (syms_of_fns): Omit no-longer-needed initialization.
50606         * src/lisp.h (LISPSYM_INITIALLY): New macro.
50607         (DEFINE_LISP_SYMBOL): Use it.
50609 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
50611         New primitives sxhash-eq, sxhash-eql
50613         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
50614         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
50615         Add sxhash-equal, sxhash-eq, sxhash-eql.
50616         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
50617         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
50619 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
50621         Teach Dired support parallel execution of commands on MS-Windows
50623         * lisp/dired-aux.el (dired-shell-stuff-it): Support
50624         parallel-in-background execution of commands on MS-Windows.
50625         Test 'w32-shell-dos-semantics' instead of the underlying OS
50626         when determining whether addition of 'wait' is needed.
50628 2016-04-08  Tino Calancha  <f92capac@gmail.com>
50630         Make 'dired-do-shell-command' wait for all background jobs
50632         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
50633         wait until all background jobs exit.  (Bug#23206).
50635 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
50637         Prefer 'font-lock-face to 'face in erc where appropriate
50639         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
50640         'font-lock-face to 'face where appropriate.
50641         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
50642         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
50643         * lisp/erc/erc-goodies.el (erc-controls-propertize)
50644         * lisp/erc/erc-stamp.el (erc-format-timestamp)
50645         * lisp/erc/erc-track.el (erc-faces-in)
50646         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
50647         (erc-display-command, erc-make-notice, erc-highlight-notice)
50648         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
50649         (erc-display-prompt, erc-display-message-highlight)
50650         (erc-log-irc-protocol): Ditto.
50652         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
50653         tests.
50655 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
50657         Add new keywords of Python 3.5
50659         Python 3.5, released in mid September 2015, introduced a few new
50660         keywords to better support asynchronous code, "async" and "await"
50661         in particular. See https://www.python.org/dev/peps/pep-0492/ for
50662         details. (Bug#21783)
50663         * lisp/progmodes/python.el (python-rx-constituents): Add async
50664         def/for/with as block-start and async def as defun.
50665         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
50666         def/for/with as keyword.
50667         * test/automated/python-tests.el (python-indent-after-async-block-1,
50668         python-indent-after-async-block-2, python-indent-after-async-block-3,
50669         python-nav-beginning-of-defun-3): New tests to test indentation and
50670         navigation for the async keyword.
50672 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
50674         Support completion of at-rules in SCSS mode
50676         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
50677         SCSS-specific at-rules.
50678         (css--at-ids): New buffer-local variable holding the list of at-rules
50679         for the current mode.
50680         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
50681         (scss-mode): Set `css--at-ids'.
50683 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
50685         Enable GCC warnings in developer builds
50687         However, do not fail; just issue the warnings.  Add an option
50688         --enable-gcc-warnings=warn-only to configure, to implement this.
50689         * INSTALL, etc/NEWS: Document this.
50690         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
50691         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
50692         Don’t treat --with-x-toolkit=no as a special case when configuring
50693         warnings.
50695 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50697         Inhibit querying for the encoding of the headers when resending
50699         * lisp/gnus/message.el (message-resend): Inhibit querying for
50700         the encoding of the headers when resending.
50702 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50704         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
50706         * src/buffer.c (Fgenerate_new_buffer_name):
50707         * src/filelock.c (get_boot_time):
50708         * src/minibuf.c (get_minibuffer):
50709         * src/process.c (make_process):
50710         * src/xdisp.c (ensure_echo_area_buffers):
50711         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
50712         when either will do.
50714 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
50716         Allow URL using HTTPS proxies using CONNECT
50718         * lisp/url/url-http.el (url-http-find-free-connection): Allow
50719         using proxies (bug#11788).
50720         (url-http-end-of-document-sentinel): Ditto.
50721         (url-http): The protocol may change from http to https and
50722         vice versa.
50723         (url-https-proxy-connect): Allow using CONNECT proxies for https.
50725 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50727         New C macro AUTO_STRING_WITH_LEN
50729         Put a bit less pressure on the garbage collector by defining a
50730         macro that is like AUTO_STRING but also allows null bytes in strings,
50731         and by extending AUTO_STRING to work with any unibyte string.
50732         * src/alloc.c (verify_ascii): Remove; all uses removed.
50733         AUTO_STRING can now be used on non-ASCII unibyte strings.
50734         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
50735         (AUTO_STRING_WITH_LEN): New macro.
50736         * src/coding.c (from_unicode_buffer):
50737         * src/editfns.c (format_time_string):
50738         * src/emacs-module.c (module_make_string, module_format_fun_env):
50739         * src/fileio.c (Fexpand_file_name):
50740         * src/font.c (font_parse_family_registry):
50741         * src/ftfont.c (ftfont_get_charset):
50742         * src/keymap.c (silly_event_symbol_error):
50743         * src/menu.c (single_menu_item):
50744         * src/sysdep.c (system_process_attributes):
50745         Use AUTO_STRING_WITH_LEN if possible.
50746         * src/emacs-module.c (module_make_function):
50747         * src/fileio.c (report_file_errno, report_file_notify_error):
50748         * src/fns.c (Flocale_info):
50749         * src/sysdep.c (system_process_attributes):
50750         Use AUTO_STRING if possible.  This is doable more often now
50751         that AUTO_STRING works on any unibyte string.
50753 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50755         Port redirect-debugging-output to MS-Windows
50757         Suggested by Eli Zaretskii in:
50758         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
50759         * src/print.c [WINDOWSNT]: Include sys/socket.h.
50760         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
50762 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50764         Port redirect-debugging-output to non-GNU/Linux
50766         Problem reported by Kylie McClain for musl in:
50767         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
50768         * etc/DEBUG, etc/NEWS: Mention this.
50769         * src/callproc.c (child_setup) [!MSDOS]:
50770         * src/dispnew.c (init_display):
50771         * src/emacs.c (main, Fdaemon_initialized):
50772         * src/minibuf.c (read_minibuf_noninteractive):
50773         * src/regex.c (xmalloc, xrealloc):
50774         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
50775         to make file-descriptor manipulation easier to follow.
50776         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
50777         now that we make sure stdin, stdout and stderr are open.  All uses
50778         removed.
50779         (main): Make sure standard FDs are OK.  Prefer symbolic names like
50780         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
50781         * src/lisp.h (init_standard_fds): New decl.
50782         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
50783         Remove; no longer needed.
50784         (Fredirect_debugging_output): Define on all platforms, not just
50785         GNU/Linux.  Redirect file descriptor, not stream, so that the code
50786         works even if stderr is not an lvalue.  Report an error if the
50787         file arg is neither a string nor nil.
50788         (syms_of_print): Always define redirect-debugging-output.
50789         * src/sysdep.c (force_open, init_standard_fds): New functions.
50791 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
50793         Spelling fixes
50795 2016-04-03  John Wiegley  <johnw@newartisans.com>
50797         Revert "Add `r'/`l' grep command history commands"
50799         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
50801 2016-04-03  John Wiegley  <johnw@newartisans.com>
50803         Revert "Restore the point in grep buffers when traversing the history"
50805         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
50807 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
50809         Merge from origin/emacs-25
50811         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
50813 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
50815         Merge from origin/emacs-25
50817         b787d55 More format-time-string change fixups
50818         13c8f29 make-xwidget unused arg cleanup
50819         36e05f0 Remove unused arguments from make-xwidget
50820         1042217 Document incompatible changes in 'format-time-string'
50821         7228eb8 Improve documentation of byte-code objects
50822         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
50823         17b5152 Improve vc-diff with Git backend
50824         c28f87a (js--continued-expression-p): Special-case unary plus and minus
50825         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
50826         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
50827         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
50828         a3daa34 Teach M-x disassemble a default argument.
50829         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
50830         df441b3 Fix OS X specific settings in tramp-tests
50831         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
50833         # Conflicts:
50834         #       lisp/net/tramp-sh.el
50835         #       lisp/progmodes/cc-engine.el
50837 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50839         Restore the point in grep buffers when traversing the history
50841         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
50842         point to a specific place after finishing the grep command.
50843         (grep-mode): Use it to restore point after traversing the history.
50844         (grep--history-point): New internal variable.
50845         (grep--save-history, grep-forward-history): Use it to restore
50846         the point.
50848 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50850         Add `r'/`l' grep command history commands
50852         * doc/emacs/building.texi (Grep Searching): Mention the
50853         `r'/`l' commands.
50855         * lisp/progmodes/grep.el (grep-forward-history): New command.
50856         (grep-backward-history): Ditto.
50857         (grep--save-buffers): New function.
50858         (grep): Use it to record the history.
50859         (grep--command-history, grep--history-inhibit)
50860         (grep--history-place): New internal variables for the grep
50861         history (bug#22627).
50863 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
50865         Fix Bug#23186, again
50867         * lisp/net/tramp.el (tramp-encoding-shell)
50868         (tramp-encoding-command-switch)
50869         (tramp-encoding-command-interactive): Check for
50870         `w32-shell-name'.  (Bug#23186)
50872 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
50874         Fix Bug#23186
50876         * lisp/net/tramp.el (tramp-encoding-command-switch)
50877         (tramp-encoding-command-interactive):
50878         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
50879         `tramp-encoding-shell' could be nil.  (Bug#23186)
50881 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
50883         Fix Bug#22145
50885         * lisp/net/tramp-cache.el (tramp-get-connection-property)
50886         (tramp-set-connection-property, tramp-connection-property-p)
50887         (tramp-flush-connection-property): Improve docstring.
50889         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
50891         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
50893         * test/automated/tramp-tests.el (tramp--test-utf8):
50894         Improve settings of coding systems.  (Bug#22145)
50896 2016-04-02  John Wiegley  <johnw@newartisans.com>
50898         Merge from origin/emacs-25
50900         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
50901         9034c50 * doc/man/emacsclient.1: Document +line:column option.
50902         06495c9 Fix rare problems with echo-area display and multiple frames
50903         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
50905 2016-04-02  John Wiegley  <johnw@newartisans.com>
50907         Merge from origin/emacs-25
50909         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
50910         c8b868b Don't start the 'midnight' timer twice
50911         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
50912         e5c17f4 Fix todo-mode category movement
50913         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
50914         cf40f38 Ignore non-nil. non-cons values of unread-command-events
50915         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
50916         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
50917         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
50918         3a13472 Fix map-put and map-delete for alists (Bug#23105)
50919         422c3da Minor copyedits of documentation for temporary displays
50920         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
50921         f14d463 Minor doc string fixes in replace.el
50922         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
50923         44782de Fix display of Indic scripts
50924         326c64f Fix splash screen display at startup
50925         7ab2a97 ; In NEWS mention new display of minibuffer completions window
50926         a1cd84c Describe temporary displays in Emacs manual
50927         5ec1056 Avoid stray As next to IDLW icons
50928         45577d5 Avoid GTK 3 crash with icons and masks
50929         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
50930         077b78c Define make_save_ptr_ptr unconditionally
50931         20a1003 Preserve current buffer when popping up TTY menus
50932         7eba90c Improve font selection by family on MS-Windows
50933         73d213f Comint, term, and compile now set EMACS
50934         9524ec5 Ignore more merges when generating ChangeLog
50935         ad250f2 Sync with gnulib
50936         c0165ea Resurrect GNUS-NEWS autogeneration
50937         1e5327c ; Backport ChangeLog.2 fixes from master
50938         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
50939         38a43f1 Fix bug in displaying header line with a box face
50940         91e6676 Fix an Isearch var to be a string (Bug#23038)
50941         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
50942         8a35f83 Render empty <ul><li><ul> correctly
50943         d8b2ce5 Ignore invalid base64 encoded embedded images
50944         52ba24b Fix <p> and <div> newlines with or without <li> in shr
50945         b8ea08b Avoid errors in 'newline'
50946         fc3cd53 Fix Bug#23032
50947         dd2737b Adjudicate review comments in abbrevs.texi
50948         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
50949         413e73b ; Small theme additions
50950         cd950da Honor prefix arg in doc-view-next-line-or-next-page
50951         ed909c0 ; Spelling fixes
50952         6da3a6d Port to strict C99 offsetof
50953         de7601f Port to GTK with strict C11 compiler
50954         658aa2d Port to GTK with strict C99 compiler
50955         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
50956         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
50957         dca240a Suppress some Tramp tests for OSX, do not merge with master
50958         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
50959         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
50960         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
50961         9ab03f2 ; Auto-commit of loaddefs files.
50962         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
50963         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
50964         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
50965         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
50966         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
50967         d6d164f Avoid segfaults due to frame image cache being absent
50968         bc7f6f6 Improve documentation of glyphless-character display
50969         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
50970         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
50971         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
50972         2036be4 Fix Ruby's operator precedence
50973         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
50974         7950e1d Port to clang 3.7.0 on x86-64
50975         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
50976         ba33b7c Sync with gnulib
50977         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
50978         dbfbedd Do not tokenize a comment before continuation as ';'
50979         0403620 Don't misindent arguments of a method call inside continuation
50980         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
50981         8475f3d ASCII-only etc/NEWS etc.
50982         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
50983         0ce37ea Fix Isearch prompt when invoked with an argument
50984         f3033d4 Fix a typo in the Emacs manual
50985         4235d2d Curved quotes in etc/NEWS etc.
50986         26b56dc Fix some single quotes in documentation
50987         80ec484 Make lisp-completion-at-point's argument optional
50988         9d463ae Tweak the left precedence of '=>'
50989         5b705bc Indent '.' relative to the first sibling expression
50990         04f5525 Make '.' associative, for easier sexp navigation
50991         ba24c99 Revert "Simplify "Visit New File" to "New File""
50993 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
50995         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
50997         Use #' to quote functions.
50998         (erc-server-delayed-reconnect): Remove unused arg `event'.
50999         (erc-process-sentinel-2): Adjust accordingly.
51000         Don't pass `err' to condition-case if we don't use it.
51001         (define-erc-response-handler): Use add-hook rather than add-to-list.
51002         (NICK): Use cl-pushnew rather than add-to-list.
51003         (331): Remove unused var `topic'.
51004         (352): Remove unused var `hopcount'.
51006 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
51008         Support macros in 'func-arity'
51010         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
51012 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
51014         Fix compilation of Cygwin w32 port
51016         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
51017         initialize and free the notification set if compiling with
51018         w32notify feature.
51020 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
51022         Fix resize incompatibility with GTK+ master
51024         Problem reported by Matthias Clasen (Bug#23144).
51025         * src/xterm.c (handle_one_xevent) [USE_GTK]:
51026         Do not call xg_frame_resized.
51028 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
51030         Fix check for subscript errors in module calls
51032         * src/emacs-module.c (check_vec_index): New function.
51033         (module_vec_set, module_vec_get): Use it instead of a
51034         not-strict-enough check.
51036 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
51038         Support completion of bang-rules in CSS mode
51040         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
51041         holding the list of bang-rules for the current mode.
51042         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
51043         instead of computing them.
51044         (css--complete-bang-rule): New function for completing a bang-rule.
51045         (css-completion-at-point): Add support for completing bang-rules.
51046         (scss-font-lock-keywords): Change from a variable to a function in
51047         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
51048         changed.
51049         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
51051 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
51053         Add HTML4 tags to HTML mode
51055         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
51056         (html-tag-help): Add short descriptions of those tags.
51058 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51060         Pacify --enable-gcc-warnings for buffer-hash etc.
51062         * src/fns.c (make_digest_string): Now static.
51063         (secure_hash): Omit unused local.
51065 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
51067         Add support for 7z archives
51069         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
51070           also work with 7z archives.
51072         The shell command should produce a single extracted directory named
51073         after the archive's name.
51075         In case the extracted directory exists, all files will be overwritten
51076         without a prompt. This matches the expected behavior with the "tar.gz"
51077         archives.
51079 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
51081         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
51083 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
51085         Fix typo in network-stream-tests.el
51087         * test/lisp/net/network-stream-tests.el
51088         (connect-to-tls-ipv6-nowait): Fix typo.
51090 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
51092         New function seq-sort-by in seq.el
51094         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
51095         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
51096         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
51098 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51100         Mention the `M-q' changes
51102 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51104         Have `M-q' not mark buffers are changed when they haven't
51106         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
51107         to avoid marking buffers as changed when they haven't.
51109 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51111         Add a new function `buffer-hash'
51113         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
51115         * src/fns.c (Fbuffer_hash): New function.
51116         (make_digest_string): Refactored out into its own function.
51117         (secure_hash): Use it.
51119         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
51121 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51123         Rename C names to match Lisp symbols better
51125         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
51126         which fixed a bug where the C name for a symbol disagreed with the
51127         symbol name itself.  Fix other instances of disagreements that I found.
51128         Although this doesn’t fix a bug, it should make code easier to follow.
51129         The remaining disagreements are idiosyncratic: Qminus, Qplus,
51130         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
51131         All uses changed.
51132         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
51133         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
51134         (QCsession): Rename from QCdbus_session_bus.
51135         (QCtimeout): Rename from QCdbus_timeout.
51136         (QCbyte): Rename from QCdbus_type_byte.
51137         (QCboolean): Rename from QCdbus_type_boolean.
51138         (QCint16): Rename from QCdbus_type_int16.
51139         (QCuint16): Rename from QCdbus_type_uint16.
51140         (QCint32): Rename from QCdbus_type_int32.
51141         (QCuint32): Rename from QCdbus_type_uint32.
51142         (QCint64): Rename from QCdbus_type_int64.
51143         (QCuint64): Rename from QCdbus_type_uint64.
51144         (QCdouble): Rename from QCdbus_type_double.
51145         (QCstring): Rename from QCdbus_type_string.
51146         (QCobject_path): Rename from QCdbus_type_object_path.
51147         (QCsignature): Rename from QCdbus_type_signature.
51148         (QCunix_fd): Rename from QCdbus_type_unix_fd.
51149         (QCarray): Rename from QCdbus_type_array.
51150         (QCvariant): Rename from QCdbus_type_variant.
51151         (QCstruct): Rename from QCdbus_type_struct.
51152         (QCdict_entry): Rename from QCdbus_type_dict_entry.
51153         (QCserial): Rename from QCdbus_registered_serial.
51154         (QCmethod): Rename from QCdbus_registered_method.
51155         (QCsignal): Rename from QCdbus_registered_signal.
51156         * src/emacs-module.c (Qinternal__module_call):
51157         Rename from Qinternal_module_call.
51158         * src/frame.c (Qwindow__pixel_to_total):
51159         Rename from Qwindow_pixel_to_total.
51160         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
51161         (QCpriority): Rename from QCgnutls_bootprop_priority.
51162         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
51163         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
51164         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
51165         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
51166         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
51167         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
51168         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
51169         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
51170         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
51171         (Qgnutls): Rename from Qgnutls_dll.
51172         (Qlibxml2): Rename from Qlibxml2_dll.
51173         (Qzlib): Rename from Qzlib_dll.
51174         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
51175         * src/window.c (Qwindow__resize_root_window):
51176         Rename from Qwindow_resize_root_window.
51177         (Qwindow__resize_root_window_vertically):
51178         Rename from Qwindow_resize_root_window_vertically.
51179         (Qwindow__sanitize_window_sizes):
51180         Rename from Qwindow_sanitize_window_sizes.
51181         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
51182         * src/xdisp.c (Qredisplay_internal_xC_functionx):
51183         Rename from Qredisplay_internal.
51184         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
51185         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
51187 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
51189         func-arity minor improvements
51191         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
51192         runtime test for integer argument, unless debugging.
51193         Use EMACS_INT for Emacs integers.
51194         * src/eval.c (Ffunc_arity): Omit unused locals.
51195         Avoid side effects in ‘if’ expr.
51196         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
51198 2016-03-26  John Wiegley  <johnw@newartisans.com>
51200         Restore the fix to bug#18527 from commit d6868025
51202 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
51204         Safely run window size change functions
51206         * src/window.c (run_window_size_change_functions): Use
51207         safe_call1 when running a size change function.
51208         (grow_mini_window, shrink_mini_window): Report error when
51209         minibuffer window cannot be resized.
51211 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
51213         Implement 'func-arity'
51215         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
51216         * src/bytecode.c (get_byte_code_arity): New function.
51217         * src/lisp.h (get_byte_code_arity): Add prototype.
51219         * doc/lispref/functions.texi (What Is a Function): Document
51220         'func-arity'.
51222         * etc/NEWS: Mention 'func-arity'.
51224         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
51226 2016-03-25  Alan Mackenzie  <acm@muc.de>
51228         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
51230         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
51231         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
51232         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
51233         c-noise-macro-with-parens-name-re.
51235         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
51236         cc-engine.el.
51238         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
51239         `c-make-noise-macro-regexps'.
51240         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
51242         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
51243         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
51245 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51247         (shr-insert): Respect non-breaking space in non-<pre> text
51249         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
51250         non-<pre> text.
51252 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51254         parse-times-string doc string clarification
51256         * lisp/calendar/parse-time.el (parse-time-string): Note that
51257         we accept RFC2822 strings.
51259 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
51261         Doc string fix
51263         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
51264         doc string and clean up code.
51266 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
51268         Cleanup file notification code in Tramp
51270         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
51271         Make `events' a list of symbols for "inotifywait".
51272         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
51273         Call `file-notify-handle-event' for better traces.
51274         (tramp-sh-inotifywait-process-filter): Check for expected events.
51275         Call `file-notify-handle-event' for better traces.
51277 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
51279         Adapt filenotify-tests.el according latest tests
51281         * test/lisp/filenotify-tests.el (file-notify-test02-events)
51282         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
51283         Remove superfluous `read-event' calls.
51284         (file-notify-test02-events): Expect different events under MS
51285         Windows 7 and 10.
51286         (file-notify-test04-file-validity): Move `file-notify-valid-p'
51287         check up.
51289 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51291         Merge from origin/emacs-25
51293         ad250f2 Sync with gnulib
51294         c0165ea Resurrect GNUS-NEWS autogeneration
51296         # Conflicts:
51297         #       etc/GNUS-NEWS
51298         #       lisp/Makefile.in
51300 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51302         Merge from origin/emacs-25
51304         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
51305         38a43f1 Fix bug in displaying header line with a box face
51307 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51309         * etc/NEWS: Use straight quotes.
51311 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
51313         Support completion of attribute values in CSS mode
51315         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
51316         holding CSS identifiers and the values they can have.
51317         (css-property-ids): Compute dynamically from `css-property-alist'.
51318         (css-value-class-alist): New defconst holding property value classes
51319         and their values.
51320         (css--property-value-cache): New variable providing a cache for
51321         `css--property-values'.
51322         (css--value-class-lookup): New function for computing a list of values
51323         in a value class.
51324         (css--property-values): New function for computing a list of possible
51325         values for a CSS property.
51326         (css--complete-property-value): New function for completing a property
51327         value.
51328         (css-completion-at-point): Add support for completing property values.
51329         * test/lisp/textmodes/css-mode-tests.el: New file.
51331 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
51333         Sync with verilog-mode development tree.
51335         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
51336         verilog-speedbar-initialize): Automatically add verilog-mode
51337         extensions when in speedbar mode, bug1045, bug1046.  Reported by
51338         David Shleifman.
51339         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
51340         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
51341         (verilog-read-always-signals-recurse): Fix :: notation for
51342         auto-reset signals.  Reported by Andrew Jones.
51343         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
51344         grouping keywords, bug1002. Reported by Paul Sargent.
51345         (verilog-save-font-no-change-functions): Commentary and fix
51346         pre-Emacs 21 behavior.
51348 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51350         Compute a better commit message for merges
51352         Problem reported by David Engster in:
51353         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
51354         * admin/gitmerge.el (gitmerge-commit-message):
51355         Truncate the computed commit message to at most 72 characters per line.
51356         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
51357         merges; use the computed commit message instead.
51359 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51361         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
51363 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51365         Change do-not-merge pattern to "do not merge"
51367         This should avoid the problem we recently had with
51368         automatically-generated merge messages, while still letting people
51369         specify commits not to merge.
51370         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
51371         (gitmerge-highlight-skip-regexp): Fold case when searching
51372         for gitmerge-skip-regexp.
51374 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51376         Merge from origin/emacs-25
51378         91e6676 Fix an Isearch var to be a string (Bug#23038)
51379         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
51381 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51383         -
51385         -
51387 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51389         Keep "merge" commits by default in gitmerge
51391         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
51392         causes false positives.  See:
51393         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
51395 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
51397         Assume NON_BLOCKING_CONNECT (Bug#22946)
51399         * lisp/proced.el (proced-signal-list): Omit comment about
51400         obsolete systems that do not support POSIX 1003.1-2001 signals.
51401         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
51402         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
51403         (connect_network_socket): Assume EINPROGRESS is defined,
51404         as that’s portable too now.
51405         (Fmake_network_process): Use bool for boolean.
51407 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51409         Fix problems caused by new implementation of sub-word mode
51411         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
51412         New functions.
51413         (word-move-empty-char-table): New variable.
51415         * etc/NEWS: Mention 'forward-word-strictly' and
51416         'backward-word-strictly'.
51418         * doc/lispref/positions.texi (Word Motion): Document
51419         'find-word-boundary-function-table', 'forward-word-strictly', and
51420         'backward-word-strictly'.  (Bug#22560)
51422         * src/syntax.c (syms_of_syntax)
51423         <find-word-boundary-function-table>: Doc fix.
51425         * lisp/wdired.el (wdired-xcase-word):
51426         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
51427         (texinfo-copy-section-title, texinfo-start-menu-description)
51428         (texinfo-copy-menu-title, texinfo-specific-section-type)
51429         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
51430         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
51431         (texinfo-insert-@end):
51432         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
51433         (texinfo-anchor, texinfo-multitable-widths)
51434         (texinfo-multitable-item):
51435         * lisp/textmodes/tex-mode.el (latex-env-before-change):
51436         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
51437         * lisp/skeleton.el (skeleton-insert):
51438         * lisp/simple.el (count-words):
51439         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
51440         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
51441         (vhdl-update-sensitivity-list, vhdl-template-block)
51442         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
51443         (vhdl-template-default-indent, vhdl-template-for-loop)
51444         (vhdl-template-if-then-use, vhdl-template-bare-loop)
51445         (vhdl-template-nature, vhdl-template-procedural)
51446         (vhdl-template-process, vhdl-template-selected-signal-asst)
51447         (vhdl-template-type, vhdl-template-variable)
51448         (vhdl-template-while-loop, vhdl-beginning-of-block)
51449         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
51450         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
51451         (verilog-forward-sexp, verilog-beg-of-statement)
51452         (verilog-set-auto-endcomments, verilog-backward-token)
51453         (verilog-do-indent):
51454         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
51455         (vera-indent-block-closing):
51456         * lisp/progmodes/simula.el (simula-context)
51457         (simula-backward-up-level, simula-forward-down-level)
51458         (simula-previous-statement, simula-next-statement)
51459         (simula-skip-comment-backward, simula-calculate-indent)
51460         (simula-find-if, simula-electric-keyword):
51461         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
51462         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
51463         (ruby-smie--forward-token, ruby-smie--backward-token)
51464         (ruby-singleton-class-p, ruby-calculate-indent)
51465         (ruby-forward-sexp, ruby-backward-sexp):
51466         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
51467         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
51468         (perl-syntax-propertize-special-constructs)
51469         (perl-backward-to-start-of-continued-exp):
51470         * lisp/progmodes/pascal.el (pascal-indent-declaration):
51471         * lisp/progmodes/octave.el (octave-function-file-p):
51472         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
51473         * lisp/progmodes/js.el (js--forward-function-decl):
51474         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
51475         (idlwave-beginning-of-block, idlwave-end-of-block)
51476         (idlwave-block-jump-out, idlwave-determine-class):
51477         * lisp/progmodes/icon.el (icon-is-continuation-line)
51478         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
51479         * lisp/progmodes/hideif.el (hide-ifdef-define):
51480         * lisp/progmodes/f90.el (f90-change-keywords):
51481         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
51482         (cperl-linefeed, cperl-electric-terminator)
51483         (cperl-find-pods-heres, cperl-fix-line-spacing)
51484         (cperl-invert-if-unless):
51485         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
51486         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
51487         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
51488         (ada-adjust-case-skeleton, ada-create-case-exception)
51489         (ada-create-case-exception-substring)
51490         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
51491         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
51492         (ada-get-indent-if, ada-get-indent-block-start)
51493         (ada-get-indent-loop, ada-get-indent-type)
51494         (ada-search-prev-end-stmt, ada-check-defun-name)
51495         (ada-goto-decl-start, ada-goto-matching-start)
51496         (ada-goto-matching-end, ada-looking-at-semi-or)
51497         (ada-looking-at-semi-private, ada-in-paramlist-p)
51498         (ada-search-ignore-complex-boolean, ada-move-to-start)
51499         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
51500         * lisp/net/quickurl.el (quickurl-grab-url):
51501         * lisp/mail/sendmail.el (mail-do-fcc):
51502         * lisp/mail/rmail.el (rmail-resend):
51503         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
51504         * lisp/mail/mail-extr.el (mail-extract-address-components):
51505         * lisp/json.el (json-read-keyword):
51506         * lisp/files.el (insert-directory):
51507         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
51508         * lisp/completion.el (symbol-under-point, symbol-before-point)
51509         (symbol-before-point-for-complete, next-cdabbrev)
51510         (add-completions-from-c-buffer):
51511         * lisp/cedet/semantic/texi.el (semantic-up-context)
51512         (semantic-beginning-of-context):
51513         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
51514         use 'forward-word-strictly' and 'backward-word-strictly' instead
51515         of 'forward-word' and 'backward-word'.
51517         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
51518         which was inadvertently lost by merge commit
51519         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
51521 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
51523         * etc/TODO: Minor quoting and grammar fixes.
51525         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
51526         which was inadvertently lost by merge commit
51527         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
51529 2016-03-21  Alan Mackenzie  <acm@muc.de>
51531         Don't confuse "::" with ":" when trying to parse member initializers.
51533         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
51534         more robustly for ":" token when searching backwards for it.
51536         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
51537         language variable.
51539         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
51540         which was inadvertently lost by merge commit
51541         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51543 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51545         Ensure positive number of glyphs for margins of positive width
51547         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
51548         positive value when a non-zero width of the marginal area was
51549         requested.  (Bug#22356)
51551         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
51552         which was inadvertently lost by merge commit
51553         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51555 2016-03-21  Alan Mackenzie  <acm@muc.de>
51557         In comment-dwim with style `extra-line', respect indent-tabs-mode.
51559         This fixes bug #22369.
51561         * lisp/newcomment.el (comment-make-bol-ws): New function.
51562         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
51564         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
51565         which was inadvertently lost by merge commit
51566         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51568 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51570         Merge doc fixes for 'random' lost in previous merge
51572         [This reapplies part of commit
51573         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
51574         which was inadvertently lost by merge commit
51575         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51576         (Bug#22202)
51578 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
51580         Unhide the --no-line-directive option to 'etags'
51582         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
51583         option.  (Bug#22306)
51585         * doc/man/etags.1: Document the --no-line-directive option.
51587         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
51588         which was inadvertently lost by merge commit
51589         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51591 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
51593         Fix picture-mode wrt double-width characters
51595         * lisp/textmodes/picture.el (picture-insert): Check the width of
51596         the character being replaced, not just that of the replacement.
51597         (Bug#1808)
51599         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
51600         which was inadvertently lost by merge commit
51601         7823745acbe9b87eea2db4ef434e379fc903ec35.]
51603 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
51605         Resurrect earlier fix of resize_frame_windows
51607         * src/window.c (resize_frame_windows): Resurrect earlier fix for
51608         calculating the number of columns of the minibuffer window which
51609         was lost in subsequent merges.
51611 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51613         Move the cert files to the data directory
51615 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51617         Further empty <li> tweaks
51619         * lisp/net/shr.el (shr-tag-li): When showing several empty
51620         <li> elements, ensure that they really get inserted on a new line.
51622 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51624         Don't remove too much white space at the end of documents
51626         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
51627         remove too much white space -- leave it on the last line (in
51628         case there's a background color).
51630 2016-03-20  Alan Mackenzie  <acm@muc.de>
51632         Amend parse-partial-sexp correctly to handle two character comment delimiters
51634         Do this by adding a new field to the parser state: the syntax of the last
51635         character scanned, should that be the first char of a (potential) two char
51636         construct, nil otherwise.
51637         This should make the parser state complete.
51638         Also document element 9 of the parser state.  Also refactor the code a bit.
51640         * src/syntax.c (struct lisp_parse_state): Add a new field.
51641         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
51642         (internalize_parse_state): New function, extracted from scan_sexps_forward.
51643         (back_comment): Call internalize_parse_state.
51644         (forw_comment): Return the syntax of the last character scanned to the caller
51645         when that character might be the first of a two character construct.
51646         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
51647         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
51648         information via the address parameter `state'.  Remove the code which converts
51649         from external to internal form of `state'.  Access buffer contents only from
51650         `from' onwards.  Reformulate code at the top of the main loop correctly to
51651         recognize comment openers when starting in the middle of one.  Call
51652         forw_comment with extra argument (for return of syntax value of possible first
51653         char of a two char construct).
51654         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
51655         doc string.  Clarify the doc string in general.  Call
51656         internalize_parse_state.  Take account of the new elements when consing up the
51657         output parser state.
51659         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
51660         element 10.  Minor wording corrections (remove reference to "trivial
51661         cases").
51662         (Low Level Parsing): Minor corrections.
51664         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
51665         state.
51667 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51669         Allow the shr test files to have trailing blank space.
51671         * .gitattributes: Allow the shr test files to have trailing
51672         blank space.
51674 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51676         Add tests for empty <ul><li>
51678 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
51680         * src/alloc.c (purecopy): Use AUTO_STRING.
51682 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51684         Ignore invalid base64 encoded embedded images
51686         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
51687         encoded embedded images (bug#22928).
51689 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51691         Render empty <ul><li><ul> correctly
51693         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
51694         correctly (bug#22964).
51696 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51698         Fix <p> and <div> newlines with or without <li> in shr
51700         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
51701         a <li>, if we are, and don't insert newlines there.
51702         (shr-ensure-paragraph): When mixing newlines and paragraph
51703         ensurements, don't insert too many blank lines.
51704         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
51705         new line.
51707 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51709         Add more shr HTML rendering tests
51711         Add a test harness for shr HTML rendering and one test
51713 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51715         Remove code left over from when overlays were used for padding
51717         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
51718         (shr-remove-trailing-whitespace): Ditto.
51719         (shr-insert-document): Don't call them.
51721 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51723         Remove trailing blank lines in shr
51725         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
51726         (shr-insert-document): Use it to remove trailing blank lines
51727         at the end of documents, since these never seem to be very useful.
51729 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51731         Don't bug out on nil `patch-buf' arguments
51733         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
51734         `patch-buf' arguments.
51736 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
51738         Add a Catalan language environment
51740         * lisp/international/mule-cmds.el (locale-language-names): Map locale
51741           language name `ca' to language environment `Catalan'.
51743         * lisp/language/european.el: Add definition of language
51744         environment for the Catalan language.
51746         * lisp/leim/quail/latin-pre.el: Add quail rule to the
51747         `catalan-prefix' input method to support input of middle dot
51748         characters through composition (bug#18279).
51750 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51752         No need to block input when reading directories
51754         * src/dired.c: Don’t include blockinput.h.
51755         (open_directory, directory_files_internal_unwind)
51756         (directory_files_internal, file_attributes):
51757         Don’t block input here, as the reasons for blocking input should
51758         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
51760 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
51762         * lisp/vc/vc-hooks.el: Fix typo
51764 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
51766         Improve w32notify notifications
51768         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
51769         (struct notification): 'terminate' is now a HANDLE.
51770         (send_notifications): Argument is now a pointer to a
51771         notification.  Don't loop waiting for the notification to be
51772         acknowledged by the main thread; instead, just add the
51773         notification to the linked list of notifications waiting to be
51774         acknowledged.
51775         (watch_end): Don't close the directory handle.
51776         (watch_completion): Allocate a new notification structure to be
51777         added to the notifications set.  Call ReadDirectoryChangesW
51778         immediately after adding the new notification, and before sending
51779         a message to the main thread about them.
51780         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
51781         call it just once -- it will be called again in watch_completion.
51782         Loop waiting for the main thread's indication to terminate.
51783         (start_watching): Create the event to be used to indicate to the
51784         worker thread that its should terminate.
51785         (remove_watch): Indicate to the worker thread that it should
51786         terminate.
51787         * src/w32term.c (queue_notifications): Loop over all the
51788         notifications in the linked list, processing all of them in one
51789         go.
51790         * src/w32inevt.c (handle_file_notifications): Loop over all the
51791         notifications in the linked list.
51792         * src/w32xfns.c (init_crit): Initialize the linked list of file
51793         notifications.
51794         (delete_crit): Free the linked list of file notifications,
51795         including any unprocessed notifications left in it.
51796         * src/w32term.h (struct notifications_se): New struct.
51798         * test/lisp/filenotify-tests.el (file-notify-test02-events)
51799         (file-notify-test05-dir-validity): Add read-event calls to
51800         facilitate event recognition by the main thread in batch mode.
51802 2016-03-17  Sam Steingold  <sds@gnu.org>
51804         make `vc-log-operation' buffer local to allow multiple simultaneous editing
51806 2016-03-17  Glenn Morris  <rgm@gnu.org>
51808         Simplify some rococo Gnus code that loads or tests for other libraries.
51810         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
51811         * lisp/gnus/mml-smime.el (epg): Simply require it.
51812         (mml-smime-use): Simplify the default.  Doc fix.
51813         * lisp/gnus/mml2015.el (epg-config): Require it.
51814         (mml2015-use): Simplify the default.
51815         * lisp/gnus/smime.el (password-cache): Simply require it.
51816         (password-read-and-add): Remove declaration.
51818 2016-03-16  Glenn Morris  <rgm@gnu.org>
51820         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
51822 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
51823             Alex Harsanyi  <AlexHarsanyi@gmail.com>
51825         Sync with soap-client repository, version 3.1.1
51827         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
51828         message.
51829         (soap-find-port): Delete trailing whitespace.
51830         (soap-find-operation): Fix documentation and rename parameter.
51831         (soap-find-port): Likewise.
51832         (soap-operation-arity): Likewise.
51834         * lisp/net/soap-client.el: Update copyright years.
51835         (soap-warning): Fix docstring quoting.
51836         (soap-decode-date-time): Likewise.
51837         (soap-validate-xs-simple-type): Remove tabs for indentation.
51838         * lisp/net/soap-inspect.el: Update copyright years.
51840         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
51841         assume xsd:base64Binary values are UTF-8 strings.
51842         (soap-decode-xs-basic-type): Likewise.
51843         (soap-invoke): Document xsd:base64Binary handling.
51845         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
51846         (soap-operation-arity): new defuns
51847         (soap-invoke-internal): use soap-find-port, soap-find-operation.
51849 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
51851         Merge from gnulib
51853         This incorporates:
51854         2016-03-15 std-gnu11: improve clang support
51855         * m4/std-gnu11.m4: Copy from gnulib.
51857 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51859         Disable MOVE more for Dovecot
51861         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
51862         disable MOVE when expirying.
51863         (nnimap-split-incoming-mail): And when splitting mail.
51865 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51867         Don't use MOVE on Dovecot
51869         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
51870         MOVE on Dovecot, since it's broken in many versions.
51871         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
51873 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
51875         Improve diff hunk headers when maintaining Emacs
51877         * .gitattributes: Improve diff hunk header support for makefiles,
51878         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
51879         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
51880         somewhere (sometimes just in test cases).
51881         * autogen.sh: Add regexes for makefiles and shell scripts.
51883 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
51885         Update handling of <bdo> per Unicode 9.0
51887         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
51888         Unicode 9.0 changes in UAX#9, paragraph 2.7.
51890 2016-03-11  John Wiegley  <johnw@newartisans.com>
51892         Merge from origin/emacs-25
51894         facb5e2 Update Emacs manual section related to character folding
51895         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
51896         f8df21b Update admin/notes/unicode
51897         950be68 Add symref-filepattern entries for c?perl-mode
51898         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
51899         985dacf ; NEWS update for the last change in etags
51900         741a6f8 Sync with gnulib
51901         7352c6c Rework C source files to avoid ^(
51902         a589e9a By default, etags produces unqualified Perl tag names
51903         72c7438 Indent methods with keyword names correctly
51904         28532a9 Propertize character literals and special global variables
51905                 differently
51906         a7d6f39 ; Fix last change in NEWS
51907         83b2a20 Change how /etc/NEWS presents character folding
51908         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
51909                 off by default""
51910         711ca36 Properly handle lambda as read function (bug 22961)
51911         1b9d616 Propertize operator symbol names with symbol syntax class
51912         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
51913         366ec77 Allow using the left shift operator without spaces on both sides
51914         02bf7cc Properly handle unquoting in wdired (bug 22938)
51915         16cf469 ; Spelling fix and tighten up comment
51916         f50bc04 Allow splat operator before percent literal
51917         991c801 Don't apply the return value of goto-char as syntax class
51918         6e63b3e Guard against nested percent literals
51919         066f3bc Recognize iuwu-mod after an escaped newline
51920         6f7a57c Fix symbolic mode string conversion for s and t
51921         50b9826 Update 'ucs-names' database
51922         993b2fb Improve doc string of 'shell-command'
51923         b71c717 Make the code in movemail_strftime more general
51924         cc057e4 Speed up redisplay of binary files with long series of nulls
51925         e51b27e Remove the highlighting support for quoting 'like this' inside
51926                 Lisp docstrings
51927         b1abce1 Restore leading space in movemail pop output
51928         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
51929         dc9d837 Don't misindent computed property generator methods
51930         7923112 Fix mbox files produced by movemail on MS-Windows
51931         c45a1ca doc string file descriptor exhaustion fix
51932         265141b Fix Bug#22814
51934 2016-03-11  John Wiegley  <johnw@newartisans.com>
51936         Merge from origin/emacs-25
51938         620951f Fix previous fix of enlarge-/shrink-window
51939         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
51940         66d2717 Complete temperature units in calc-convert-temperature
51941         dbb02bf Make sure to use case-sensitive search
51942         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
51943         100346a Add the missing test case for the previous patch
51944         5aba61e Use the correct dabbrev expansion
51946 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
51948         Remove compat code in Tramp
51950         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
51951         Remove compat code.
51953 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
51955         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
51957         Use #' for function names.
51958         (latex-complete-envnames): Include existing environments in
51959         current buffer.
51960         (latex-insert-block): Use latex-complete-envnames.
51961         (tildify-foreach-ignore-environments): Declare.
51963 2016-03-10  Alain Schneble  <a.s@realize.ch>
51965         Fix asynchronous TLS connections on MS-Windows
51967         * src/w32.c (sys_write): Don't switch the socket to blocking mode
51968         if the connection attempt is in progress.  Instead, return either
51969         EWOULDBLOCK immediately if the connection is in progress, or the
51970         error code produced by '_sys_wait_connect' if the connection
51971         failed.  Switching the socket to blocking mode was found to
51972         interfere with GnuTLS handshake.  (Bug#22789)
51974 2016-03-10  Alan Mackenzie  <acm@muc.de>
51976         Clarify the documentation of nested comments.
51978         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
51979         style are recognized inside nestable comments.
51980         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
51981         UNNESTED comments.
51983 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
51985         Add new function display-buffer-reuse-mode-window
51987         * lisp/window.el (display-buffer-reuse-mode-window): New function.
51988         * doc/lispref/windows.texi (Display Action Functions): Document it.
51990 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
51992         Minor fixes for getaddrinfo_a usage
51994         * src/process.c (Fdelete_process): Check gai_cancel return value.
51995         That way, there’s no need to invoke gai_error.  Check gai_suspend
51996         return value.
51997         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
51998         string.  Simplify call to connect_network_socket.
51999         (check_for_dns): Avoid unnecessary initialization of local.
52001 2016-03-09  Sam Steingold  <sds@gnu.org>
52003         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
52005         The former avoids a compiler warning, the latter fixes a bug whereas
52006         the variable is compiled as lexical instead of dynamic.
52008 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
52010         Pacify --enable-gcc-warnings
52012         * src/xfns.c (x_create_tip_frame): Omit unused local.
52013         (Fx_show_tip): Don’t jump over auto initialization.
52015 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
52017         Optionally reuse tooltip frames instead of deleting/recreating them.
52019         * src/frame.c (tooltip_reuse_hidden_frame): New option.
52020         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
52021         handling of dividers.
52022         (x_hide_tip): New function.
52023         (Fx_show_tip): Try to reuse old tooltip frame when
52024         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
52025         have not changed.  Insert STRING here instead of passing it to
52026         x_create_tip_frame.  Compute size of tooltip window with
52027         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
52028         padding tooltip window.
52029         (Fx_hide_tip): Call x_hide_tip.
52030         (Vw32_tooltip_extra_pixels): New variable.
52031         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
52032         value.  Fix doc-string.
52033         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
52034         make_frame with mini_p argument false.
52035         (x_hide_tip): New function.
52036         (Fx_show_tip): Try to reuse old tooltip frame when
52037         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
52038         have not changed.  Insert STRING here instead of passing it to
52039         x_create_tip_frame.  Compute size of tooltip window with
52040         Fwindow_text_pixel_size.
52041         (Fx_hide_tip): Call x_hide_tip.
52042         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
52043         customization entry.
52045 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
52047         Assume getaddrinfo in C code
52049         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
52050         All uses removed.
52051         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
52052         Say that port numbers can be integer strings.
52053         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
52054         (socket_connection): Assume HAVE_GETADDRINFO.
52055         * lisp/mpc.el (mpc--proc-connect):
52056         * lisp/net/network-stream.el (open-network-stream):
52057         It’s now OK to use integer strings as port numbers.
52058         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
52059         (Fmake_network_process): Assume HAVE_GETADDRINFO.
52061 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
52063         Remove support for IRIX
52065         The IRIX port wasn’t really working anyway, and the code was
52066         getting in the way of other changes (e.g., getaddrinfo fixes).
52067         IRIX’s supplier dropped support for IRIX in 2013.
52068         * admin/CPP-DEFINES:
52069         * configure.ac (opsys):
52070         * doc/lispref/os.texi (System Environment):
52071         * etc/MACHINES, etc/PROBLEMS:
52072         * lisp/find-dired.el (find-grep-options):
52073         * lisp/lpr.el (lpr-lp-system):
52074         * lisp/ls-lisp.el (ls-lisp-emulation):
52075         * lisp/mail/rmail.el (rmail-spool-directory):
52076         * lisp/net/net-utils.el (ping-program-options):
52077         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
52078         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
52079         * src/conf_post.h [IRIX6_5]:
52080         * src/emacs.c (Vsystem_type):
52081         * src/filelock.c (get_boot_time_1):
52082         * src/process.c (process_send_signal):
52083         * src/unexelf.c (unexec):
52084         Omit IRIX-specific code and/or documentation.
52085         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
52086         Remove.  All uses removed.
52087         * etc/NEWS: Document the change.
52089 2016-03-06  John Wiegley  <johnw@newartisans.com>
52091         Revert "Use colors in the VC mode lines"
52093         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
52095 2016-03-06  Ken Brown  <kbrown@cornell.edu>
52097         Fix Cygwin-w32 build
52099         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
52100         Define only if WINDOWSNT, and update all uses accordingly.
52101         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
52102         (remove_w32_kbdhook): Declare only if WINDOWSNT.
52103         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
52105 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
52107         Unbreak the MinGW64 build
52109         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
52110         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
52111         for the details.  Reported by Angelo Graziosi
52112         <angelo.graziosi@alice.it>.
52114 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52116         Don't signal errors on E_AGAIN
52118         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
52119         error now that TLS is async.
52121 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52123         Allow making TLS negotiation blocking
52125         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
52127         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
52128         :complete-negotiation, to specify that we want complete
52129         negotiation even if the socket is non-blocking.
52130         (gnutls_try_handshake): Complete negotiation if given that keyword.
52132         * src/process.h (L): Added gnutls_complete_negotiation_p.
52134 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52136         Don't run ipv6 test on systems without ipv6
52138         * test/lisp/net/network-stream-tests.el
52139         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
52141 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
52143         Implement getaddrinfo fallback for MS-Windows
52145         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
52146         for more details.
52148         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
52149         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
52150         test program is not smart enough to auto-detect these.
52151         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
52152         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
52153         sys_getaddrinfo and sys_freeaddrinfo.
52155         * src/w32.c (init_winsock): Try loading getaddrinfo and
52156         freeaddrinfo from ws2_32.dll.
52157         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
52159         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
52160         and also ws2tcpip.h.
52161         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
52162         sys_getaddrinfo and sys_freeaddrinfo, respectively.
52163         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
52164         functions.
52166 2016-03-04  Glenn Morris  <rgm@gnu.org>
52168         * lisp/files.el: Fix recent typo.
52170         * lisp/subr.el (read-multiple-choice): Avoid free variable.
52172         * doc/lispref/files.texi (File Attributes): Fix typo.
52174 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52176         Make the describe-key prompts clearer
52178         * lisp/help.el (describe-key-briefly): Make the prompt clearer
52179         (bug#14854).
52180         (describe-key): Ditto.
52182 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52184         Allow scrolling while querying multiple choice
52186         * lisp/subr.el (read-multiple-choice): Allow scrolling the
52187         buffer while querying (bug#22827).
52189 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52191         Add accessors for `file-attributes'
52193         * doc/lispref/files.texi (File Attributes): Mention the accessors.
52195         * lisp/files.el (file-attribute-type)
52196         (file-attribute-link-number, file-attribute-user-id)
52197         (file-attribute-group-id, file-attribute-access-time)
52198         (file-attribute-modification-time)
52199         (file-attribute-change-time, file-attribute-size)
52200         (file-attribute-modes, file-attribute-inode-number)
52201         (file-attribute-device-number): New functions.
52203         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
52205 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
52207         Fix Bug#22814
52209         * lisp/autorevert.el (global-auto-revert-mode): Do not set
52210         `auto-revert-use-notify' to nil.
52212         * etc/NEWS: Mention this.
52214         * etc/PROBLEMS: Remove problem Bug#22814.
52216         * src/kqueue.c: Include <sys/resource.h>.
52217         (Fkqueue_add_watch): Limit the number of used file descriptors.
52218         (Bug#22814)
52220         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
52221         (file-notify-test00-availability, file-notify-test01-add-watch)
52222         (file-notify-test02-events, file-notify-test06-many-events):
52223         Use #' read syntax for functions.
52224         (file-notify-test05-dir-validity)
52225         (file-notify-test06-many-events): Simplify directory creation.
52226         (file-notify-test09-sufficient-ressources): New test.
52228 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52230         Fix insertion of edited servers in the dribble file
52232         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
52233         insert explicit newlines, because they're quoted (bug#22903).
52235 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
52237         Move cl-seq-tests to the right place after the merge
52239         Move cl-seq-tests to the right place after the merge
52241 2016-03-03  John Wiegley  <johnw@newartisans.com>
52243         Merge from origin/emacs-25
52245         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
52246         5cf7c39 authors.el updates
52247         a26f193 ; fix changelog entries
52248         fbc85c7 ; make change-history-commit
52249         06da00c Fix Bug#22859
52250         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
52251         1481029 Fix reordering of bidi text in an isolate inside an override
52252         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
52254 2016-03-03  John Wiegley  <johnw@newartisans.com>
52256         Merge from origin/emacs-25
52258         f5d1435 Fix targets in test/automated/Makefile.in
52260 2016-03-03  John Wiegley  <johnw@newartisans.com>
52262         Merge from origin/emacs-25
52264         b6d6304 Comment on last change to define-derived-mode
52266 2016-03-03  John Wiegley  <johnw@newartisans.com>
52268         Merge from origin/emacs-25
52270         cb1e3da Also allow setting the paragraph direction to nil
52271         bbe8a89 Made the new OS X visible bell more visible.
52273 2016-03-03  John Wiegley  <johnw@newartisans.com>
52275         Merge from origin/emacs-25
52277         aae436e Uncomment the next-error-function integration in xref
52278         5f0d096 Remove the word "valid", to avoid ambiguity
52280 2016-03-03  John Wiegley  <johnw@newartisans.com>
52282         Merge from origin/emacs-25
52284         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
52285         0d60bfc Fix ModelSim error parsing
52287 2016-03-03  John Wiegley  <johnw@newartisans.com>
52289         Merge from origin/emacs-25
52291         b13cab6 Add a eww command to toggle paragraph direction
52292         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
52293         9e078e5 Fix char signedness issue in bidi code
52294         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
52295         14060a9 Avoid inflooping in thing-at-point-looking-at
52296         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
52297                 indent change.
52298         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
52299         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
52300         d2dd614 Remove unneeded workaround in xftfont.c
52301         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
52302         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
52303         06a872b Fix redisplay on a TTY after 'make-frame'
52304         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
52305                 Fixes bug#5560.
52306         7d206fc Input method polish-slash should not use keyboard translation
52307         8be32cf Fix an assertion
52308         040e0d6 Fix 'toggle-save-place'
52309         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
52311 2016-03-03  John Wiegley  <johnw@newartisans.com>
52313         Merge from origin/emacs-25
52315         e6a3819 Update HISTORY section in readme for the NextStep interface.
52316         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
52317         7c81a0b Improve documentation of 'save-place-mode'
52318         cab3f0a Allocate glyph matrices for the initial frame
52319         e01c72f Fix white space in last checkin
52320         370eb67 Make `insert-pair' always leave the cursor where documented
52321         b594393 etc/NEWS: Mention the new second parameter to `package-install'
52323 2016-03-03  John Wiegley  <johnw@newartisans.com>
52325         Merge from origin/emacs-25
52327         bd58c13 Improve documentation of focus-related hooks
52328         00a4720 Further improve doc string of 'disable-point-adjustment'
52329         c582def Further adaptions in file-notify-tests.el for w32notify
52330         a1585e1 Don't bug out on localized dates in gnus-icalendar
52332 2016-03-03  John Wiegley  <johnw@newartisans.com>
52334         Merge from origin/emacs-25
52336         7bc4820 Make setf for frame-height/width work again
52338 2016-03-03  John Wiegley  <johnw@newartisans.com>
52340         Merge from origin/emacs-25
52342         6620944 (cl-union): Do not ignore :test argument when lists are equal.
52343         17dd3fb Add `isearch' to `basic-faces'
52344         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
52345         e72a26e Make find-tag-default-bounds more strict
52346         1bc0e0a Minor fixes in filenotify.el
52348 2016-03-02  Alain Schneble  <a.s@realize.ch>
52350         Fix issue of inserting images on some systems
52352         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
52353         to pass to shr-image-fetched, to indicate where to insert the
52354         image.  Fixes the issue introduced with commit
52355         80852f843e69b81618f29cfb9aa4b074946cb3c4
52356         (bug#22789).
52358 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
52360         Ensure TLS negotiation progress
52362         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
52363         number of retries so that we try for about a minute.
52365         * src/process.c (wait_reading_process_output): Ensure progress
52366         for DNS resolution and TLS negotiation.
52368 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52370         emacs-module.h slight simplification
52372         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
52373         * src/emacs-module.h: ... from here, as they don’t need to be public.
52374         (enum emacs_arity): Remove useless enum tag.  The enum value is
52375         used in ptrdiff_t contexts.
52377         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
52379 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52381         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
52383 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52385         emacs-module.c simplification and tuneup
52387         * src/emacs-module.c (CHECK_USER_PTR): New function.
52388         (module_get_user_ptr, module_set_user_ptr)
52389         (module_get_user_finalizer, module_set_user_finalizer): Use it.
52390         (module_make_global_ref, module_copy_string_contents)
52391         (module_make_string, module_vec_set, module_vec_get): Omit
52392         unnecessary runtime tests.  For example, vector sizes are always
52393         fixnums, so we don’t need to test that they are in fixnum range.
52395 2016-03-02  Philipp Stephani  <phst@google.com>
52397         Use standard checks whenever possible.
52399         This is possible in all functions where we catch signals anyway.
52401         * src/emacs-module.c (module_make_global_ref, module_funcall)
52402         (module_copy_string_contents, module_make_string): Use xsignal0
52403         and CHECK macros for argument checks.
52405 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52407         Deterministic build improvements
52409         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
52410         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
52411         and have its value be either empty or --no-build-details.
52412         All uses changed.  Change option to --disable-build-details.
52413         * doc/emacs/cmdargs.texi (Initial Options):
52414         Document --no-build-details.
52415         * doc/lispref/internals.texi (Building Emacs):
52416         * etc/NEWS:
52417         Document --disable-build-details.
52418         * doc/lispref/intro.texi (Version Info): Say that
52419         emacs-build-time can be nil.
52420         * lisp/erc/erc-compat.el (erc-emacs-build-time):
52421         Now nil if details are omitted.
52422         * lisp/erc/erc.el (erc-cmd-SV):
52423         * lisp/version.el (emacs-build-time):
52424         Now nil if no build details.
52425         (emacs-version):
52426         Output build time only if build details.
52427         * src/Makefile.in (BUILD_DETAILS): New macro.
52428         (temacs, bootstrap-emacs): Use it.
52429         * src/emacs.c (build_details): New var.
52430         (standard_args, main): Support --no-build-details.
52431         (Vdeterministic_dump): Remove; all uses replaced
52432         by !build_details.
52433         (syms_of_emacs): Set Vbuild_details to a boolean, not
52434         to a Lisp_Object.
52435         * src/lisp.h (build_details): New decl.
52436         * src/sysdep.c (init_system_name): When !build_details,
52437         set system-name to nil, not to "elided".
52439 2016-03-02  Philipp Stephani  <phst@google.com>
52441         Remove build system name from deterministic dumps
52443         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
52444         * lisp/version.el (emacs-build-time): Add a comment to make the
52445         build time deterministic if requested.
52446         (emacs-build-system): Make variable deterministic if requested.
52447         * src/emacs.c (main): Initialize `deterministic-dump' from the
52448         configuration option.
52449         (syms_of_emacs): New constant `deterministic-dump'.
52450         * src/sysdep.c (init_system_name): Use a constant
52451         if a deterministic dump is requested.
52453 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
52455         Remove buggy parse-time test
52457         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
52458         Remove the iso parse test, since it doesn't work.
52460 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52462         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
52464 2016-02-29  Glenn Morris  <rgm@gnu.org>
52466         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
52467         Experiment with setting to nil.
52469 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52471         Make the revert command in timer-list-mode work
52473         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
52474         command work.
52476 2016-02-29  Glenn Morris  <rgm@gnu.org>
52478         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
52479         Fix 6-week old merge error.
52481         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
52482         Ensure timestamps.
52484         * lisp/emacs-lisp/package.el (package-generate-autoloads):
52485         Disable timestamps.
52487 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52489         Allow binding `url-mime-accept-string'
52491         * lisp/url/url-http.el (url-http): Allow binding
52492         `url-mime-accept-string' (bug#22855).
52494 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52496         Add a NEWS entry for the colorful VC indicator
52498 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52500         Use colors in the VC mode lines
52502         * lisp/vc/vc-hooks.el: Make the mode line faces default to
52503         using colors to more clearly tell the user what the status is.
52505 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52507         Support <bdo> and <bdi>
52509         * lisp/net/shr.el (shr-tag-bdo): New function.
52510         (shr-tag-bdi): Ditto.
52512 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52514         Respect <html dir=auto>
52516         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
52517         directional HTML setting.
52519 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52521         Default bidi paragraph direction to nil
52523         * lisp/net/eww.el (eww-display-html): Default bidi rendering
52524         to nil, so that possibly more Arabic web pages render
52525         correctly (bug#22786).
52526         (eww-setup-buffer): Ditto.
52528 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
52530         Preserve current column, going up/down in thumbnail view.
52532 2016-02-29  Alan Mackenzie  <acm@muc.de>
52534         Handle "noise" macros and compiler directives.
52536         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
52538         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
52539         (c-noise-macro-with-parens-names): New customizable variables.
52540         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
52541         (c-make-noise-macro-regexps): New function.
52543         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
52544         members of c-noise-macro-names as whitespace.
52545         (c-forward-noise-clause): New function.
52546         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
52547         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
52548         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
52549         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
52551         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
52552         in parallel with "prefix-spec keywords".
52554         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
52555         c-make-noise-macro-regexps to initialize the internal variables.
52557         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
52558         facilities.
52560 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
52562         Stop calling res_init
52564         Emacs shouldn’t need to call res_init any more, now that nscd or
52565         equivalent is everywhere.  On modern systems, calling res_init
52566         simply slows Emacs down.  On ancient systems lacking nscd Emacs
52567         will still work well enough with this change; it’s just that it
52568         won’t respond to changes in /etc/resolv.conf.
52569         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
52570         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
52571         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
52572         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
52574 2016-02-29  Glenn Morris  <rgm@gnu.org>
52576         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
52578         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
52580 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
52582         * src/process.c (Fdelete_process): Simplify cast.
52584 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
52586         Use the correct background color when filling nested <divs>
52588         * lisp/net/shr.el (shr-face-background): Return the first
52589         background, because that's the one that's visible (bug#22680).
52591 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52593         Make <div> in <li> not insert extra newlines
52595         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
52596         extra newlines (bug#19587).
52598 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52600         Allow reading Gnus reports from an offline cache
52602         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
52603         Allow reading bug reports from an offline cache directory.
52605 2016-02-28  Tino Calancha  <f92capac@gmail.com>
52607         Meta + shift + Fn combos are recognized by xterm>=216.
52609         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
52610         Fn combos are recognized by xterm>=216 (bug#22837).
52612 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
52614         Declare $ as an expression prefix in SCSS
52616         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
52617         expression prefix (bug#22841).
52619 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52621         Revert "Declare $ as an expression prefix in SCSS"
52623         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
52625         Revering to fix author name.
52627 2016-02-28  Simen  <simenheg@gmail.com>
52629         Declare $ as an expression prefix in SCSS
52631         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
52632         expression prefix (bug#22841).
52634 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
52636         Save buffers before running grep commands
52638         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
52639         (grep, lgrep, rgrep): Use it (bug#96).
52641         * doc/emacs/building.texi (Grep Searching): Document
52642         `grep-save-buffers'.
52644         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
52645         `grep-ask-about-save'.
52646         (grep--save-buffers): New function.
52647         (grep, lgrep, rgrep): Use it.
52649 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52651         Allow sorting flyspell corrections
52653         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
52654         (flyspell-sort-corrections-functionx): New variable.
52655         (flyspell-sort-corrections-alphabetically): New function.
52656         (flyspell-notify-misspell): Use them.
52657         (flyspell-auto-correct-word): Ditto.
52658         (flyspell-emacs-popup): Ditto.
52659         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
52661 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52663         Wait for async DNS to complete before freeing resources
52665         * src/process.c (Fdelete_process): Wait for async DNS to
52666         complete before freeing the data structures it needs.
52668 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
52670         * lisp/faces.el: Remove duplicated functions from previous patch.
52672 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
52674         Fix TLS connections on MS-Windows
52676         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
52677         this is a non-blocking socket whose connection is in progress, set
52678         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
52679         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
52680         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
52682 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52684         Add a NEWS entry for the read-color change
52686 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
52688         Show the face colors when completing in `read-color'
52690         * lisp/faces.el (defined-colors-with-face-attributes): New function.
52691         (readable-foreground-color, defined-colors-with-face-attributes)
52692         (readable-foreground-color): Ditto.
52693         (read-color): Use them (bug#5305).
52695 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52697         Clean up the code in parse-time-string-chars
52699         * lisp/calendar/parse-time.el (parse-time-string-chars):
52700         Clean up the code a bit.
52702 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52704         Add some tests for parse-time.el
52706         * test/lisp/calendar/parse-time-tests.el: New file.
52708 2016-02-27  Dima Kogan  <dima@secretsauce.net>
52710         Strip out some leading whitespace when looking at logs
52712         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
52713         at expanded git logs with `vc-print-root-log' (C-x v L, then
52714         <enter> by default), Emacs was stripping out all leading
52715         whitespace from git logs.  I now strip exactly 2 leading
52716         spaces, which retains the indentation in the logs (bug#18110).
52718 2016-02-27  Dima Kogan  <dima@secretsauce.net>
52720         Use a separate history variable for align-regexp
52722         * lisp/align.el (align-regexp-history): New variable (bug#16891).
52723         (align-regexp): Use it.
52725 2016-02-27  Phil Sung  <philbert@gmail.com>
52727         Create subdirectories automatically in wdired
52729         * lisp/wdired.el (wdired-create-parent-directories): New
52730         variable (bug#6817).
52731         (wdired-create-parentdirs): New function.
52732         (wdired-do-renames): Use it.
52733         * doc/emacs/dired.texi (Wdired): Mention
52734         `wdired-create-parent-directories'
52736 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
52738         Return the correct error values from gnutls.c
52740         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
52741         expected by process.c.
52742         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
52743         possible race condition with the process.c socket polling
52744         functions.
52746 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
52748         Don't make assumptions about mkdir.  (Bug#22822)
52750         * test/Makefile.in (MKDIR_P): New, set by configure.
52751         (%.log): Use MKDIR_P.
52753 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
52755         Support switching to hexl-mode from image-mode
52757         * lisp/image-mode.el (image-toggle-hex-display)
52758         (image-mode-to-text): New functions.
52759         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
52760         image-toggle-hex-display.
52761         (image-mode-map): New menu item "Show as Hex".
52762         (image-mode): Update doc string and echo-area message.
52763         (image-toggle-display): Support toggle to hex.  (Bug#22453)
52765         * doc/emacs/files.texi (File Conveniences): Document
52766         'image-toggle-hex-display'.
52768 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
52770         Remove unused code in coding.c
52772         * src/coding.c (decode_eol): Remove unused code that handled the
52773         case of coding->dst_object being nil.  Replace it with an
52774         assertion.
52776 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
52778         * src/syntax.c: Fix result of syntax_multibyte()
52780         The ?: operator has a lower precedence than ||.
52781         Bug introduced by commit 45b683a.
52783 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
52785         --enable-gcc-warnings now uses -Wjump-misses-init
52787         When configuring with --enable-gcc-warnings, also enable
52788         -Wjump-misses-init, as it’s confusing to use a goto to skip over
52789         an initialization.  Fix the few places in the code that run afoul
52790         of this warning.
52791         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
52792         * src/doc.c (Fsubstitute_command_keys):
52793         * src/image.c (svg_load_image):
52794         * src/regex.c (re_match_2_internal):
52795         * src/xdisp.c (redisplay_internal, redisplay_window):
52796         Don’t jump over initialization.
52798 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
52800         Improve the register-hotkey functionality on MS-Windows
52802         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
52803         keyboard hook functionality.
52804         Include w32inevt.h, basetyps.h and unknwn.h.
52805         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
52806         (kbdhook): A new struct definition.
52807         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
52808         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
52809         (modifier_set): Call check_w32_winkey_state if a Win key was
52810         pressed and the keyboard hook is active.
52811         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
52812         hook is active.  Only register/unregister the hotkeys if the
52813         keyboard hook is not active.  When WM_CREATE is received, call
52814         setup_w32_kbdhook.  When WM_DESTROY is received, call
52815         reset_w32_kbdhook_state.
52816         (lookup_vk_code): When the keyboard hook is active, map
52817         alphanumeric characters to themselves.
52818         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
52819         modified keys to VK_ANY if the keyboard hook is active.  Register
52820         Alt-x and Win-x combinations.
52821         (Fw32_shell_execute): Update doc string to reflect new
52822         functionality.  Bypass the code that posts the
52823         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
52824         (Fw32_unregister_hot_key): Bypass the code that posts the
52825         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
52826         (syms_of_w32fns) <w32-pass-lwindow-to-system>
52827         <w32-pass-rwindow-to-system, w32-phantom-key-code>
52828         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
52829         to reflect the new functionality.
52830         * src/w32console.c (initialize_w32_display): Install the low-level
52831         keyboard hook.
52832         * src/w32inevt.c (key_event): Handle Win-x combinations only if
52833         the keyboard hook is not active.  If the hook is active, use
52834         check_w32_winkey_state instead.
52835         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
52836         (check_w32_winkey_state): Add prototypes.
52837         (w32_kbdhook_active): New macro.
52839         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
52840         new functionality.
52842 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
52844         Add forward-sexp (and related) tests
52846         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
52847         forward-sexp and related functions (bug#22800).
52849 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
52851         Don't use (localized) week days in dates
52853         * lisp/gnus/gnus-icalendar.el
52854         (gnus-icalendar-event:org-timestamp): Don't use (localized)
52855         week days in the dates, because that messes up things later.
52857 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
52859         Update pcomplete/find
52861         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
52862         (bug#10487).
52864 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
52866         Make parse-time-string-chars more efficient
52868         * lisp/calendar/parse-time.el (parse-time-string-chars): The
52869         string has already been downcase, so don't care about case
52870         (bug#18522).
52872 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
52874         Remove killed buffers from the list of Gnus buffers
52876         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
52877         buffers from the list of Gnus buffers (bug#18522).
52879 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
52881         Integer overflow cleanups for ports and socklen
52883         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
52884         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
52885         (connect_network_socket):
52886         Use ptrdiff_t, not int, for signed object sizes.
52887         This addresses only a theoretical problem, as in practice these
52888         object sizes are less than 2**31, but we might as well use the
52889         same style here as elsewhere in Emacs.
52890         (string_integer_p): Remove; all uses removed.
52891         (Fmake_network_process): Check that port number is in range.
52892         When converting an integer-string service, rely on strtol
52893         rather than rechecking the string by hand.
52894         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
52895         Adjust prototypes to match.
52897 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
52899         Add pcomplete support for find
52901         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
52902         for find (bug#10487).
52904 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
52906         Replace XXX acronyms with draft standard ones
52908         * lisp/international/characters.el (c1-acronyms): Replace XXX
52909         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
52910         (bug#13745).
52912 2016-02-24  Kevin Ryde  <user42@zip.com.au>
52914         Make checkdoc warn about variables described as "True"
52916         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
52917         Docstrings for variables "True...", and functions "Return
52918         true...", should usually be "non-nil" (bug#15506).
52920 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
52922         Add NEWS entry for "number string" change
52924 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
52926         Allow using "number strings" as services on non-GNU systems
52928         * src/process.c (string_integer_p): New function.
52929         (Fmake_network_process): Use it to allow connecting to
52930         services specified as "993" even when getaddrbyname isn't
52931         available.
52933 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
52935         Fix problem in tramp.texi
52937         * doc/misc/tramp.texi (File name completion): Do not use
52938         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
52939         during PDF creation.
52941 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
52943         Make image commands available in image-mode
52945         * lisp/image-mode.el (image-mode-map): Inherit from
52946         `image-map' so that the usual image commands work.
52948 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
52950         Move `o' to `O' in shr-map
52952         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
52953         from `o' to `O' to avoid collisions with `image-map'.
52955 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
52957         Make setting the coding system non-blocking
52959         * src/process.c (Fset_process_filter_multibyte): Defer
52960         completing coding system setup in asynchronous processes.
52961         (Fset_process_coding_system): Ditto.
52963 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
52965         Mention `proced-toggle-auto-update' in the proced-mode doc string
52967         * lisp/proced.el (proced-mode): Mention
52968         `proced-toggle-auto-update' (bug#14341).
52970 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
52972         Add a fortune-message command
52974         * lisp/play/fortune.el (fortune-message): Add a command to
52975         display fortunes in the echo area (bug#14915).
52977 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
52979         Add hideshow bindings analogous to outline mode
52981         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
52982         analogous to outline mode bindings (bug#15324).
52984 2016-02-23  Bastien Guerry  <bzg@altern.org>
52986         Allow highlighting things like @math{2^{12}}
52988         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
52989         Allow highlighting things like @math{2^{12}} (bug#16390).
52991 2016-02-23  Per Bothner  <per@bothner.com>
52993         Make `C-{up,down,left,right}' work in term mode
52995         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
52996         to send the same escape sequence that xterm sends.  This makes
52997         backward-word and forward-word work in readline (bug#16746).
52999 2016-02-23  Dima Kogan  <dima@secretsauce.net>
53001         Allow ff-find-other-file (etc) to work with indirect clone buffers
53003         * lisp/find-file.el (ff-buffer-file-name): New function to
53004         allow the feature to work with indirect buffers, too
53005         (bug#16904).
53006         (ff-find-the-other-file): Use it.
53007         (ff-other-file-name): Ditto.
53008         (ff-get-file-name): Ditto.
53010 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53012         Fix error in add-change-log-entry when the entry has no newline
53014         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
53015         ChangeLog may end without a new line starting with blanks.
53017 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53019         Avoid using mm-util functoins in gravatar.el
53021         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
53022         mm-util functions.
53023         (gravatar-retrieve-synchronously): Ditto.
53025 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53027         Move low-level library files from the lisp/gnus directory
53029         The files moved from lisp/gnus are:
53031         auth-source.el -> /
53032         compface.el -> /image
53033         ecomplete.el -> /
53034         flow-fill.el -> /mail
53035         gravatar.el -> /image
53036         gssapi.el -> /net
53037         html2text.el -> /net
53038         ietf-drums.el -> /mail
53039         mail-parse.el -> /mail
53040         mail-prsvr.el -> /mail
53041         mailcap.el -> /net
53042         plstore.el -> /
53043         pop3.el -> /net
53044         qp.el -> /mail
53045         registry.el -> /
53046         rfc1843.el -> /international
53047         rfc2045.el -> /mail
53048         rfc2047.el -> /mail
53049         rfc2231.el -> /mail
53050         rtree.el -> /
53051         sieve-manage.el -> /net
53052         sieve-mode.el -> /net
53053         sieve.el -> /net
53054         starttls.el -> /net
53055         utf7.el -> /international
53056         yenc.el -> /mail
53058 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53060         Allow undoing changes while doing query-replace
53062         * doc/lispref/searching.texi (Search and Replace): Mention
53063         undo (bug#21684).
53065         * lisp/replace.el (query-replace-help): Document undo.
53066         (perform-replace): Implement undo while replacing text.
53068 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
53070         Highlight assignments in Makefiles more correctly
53072         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
53073         Highlight assignments preceded by a TAB character correctly
53074         (bug#20787).
53076 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
53078         Use memmove instead of memcpy on overlapping regions
53080         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
53081         use memmove instead of memcpy (bug#19213).
53083 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
53085         Port to --enable-gcc-warnings sans getaddrinfo_a
53087         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
53088         to a local unused when getaddrinfo_a is missing.
53089         Resize portbuf to size needed.  Do cheap test first.
53090         Move local to block where it’s needed.
53092 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
53094         Minor cleanups for async DNS etc.
53096         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
53097         Omit unnecessary parens.
53098         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
53099         (gnutls_verify_boot):
53100         Use bool for boolean.
53101         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
53102         * src/process.c (free_dns_request, Fmake_network_process):
53103         Allocate and free async request control block all in one go.
53104         (set_network_socket_coding_system, finish_after_tls_connection)
53105         (connect_network_socket):
53106         Now static.
53107         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
53108         (Fmake_network_process): Use list1 for brevity.
53109         (wait_for_socket_fds): 2nd arg is now const ptr.
53110         * src/process.h (struct Lisp_Process.dns_request):
53111         Now struct gaicb *, not struct gaicb **, since there was always
53112         exactly one.  All uses changed.
53113         * src/window.c, src/window.h (run_window_configuration_change_hook):
53114         Now static.
53116 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
53118         Allow more shell script defun forms
53120         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
53121         script defun forms, like function name () {...} (bug#19754).
53123 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
53125         Fix `window-configuration-change-hook' and `window-size-change-functions'
53127         (1) Run `window-configuration-change-hook' if and only if at least
53128         one window was deleted or created or shows another buffer since
53129         last redisplay.
53131         (2) Run `window-size-change-functions' if and only if at least
53132         one window changed its size since last redisplay (in a few cases
53133         `window-size-change-functions' will also run when no window
53134         changed its size).
53136         (3) Provide two functions `window-pixel-height-before-size-change'
53137         and `window-pixel-width-before-size-change' that allow to easily
53138         detect which window changed size.
53140         * src/frame.h (struct frame): New boolean member
53141         window_configuration_changed.
53142         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
53143         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
53144         * src/frame.c (adjust_frame_size): Don't run
53145         `window-configuration-change-hook'.
53146         * src/window.h (struct window): New fields
53147         pixel_width_before_size_change and pixel_height_before_size_change.
53148         (WINDOW_INTERNAL_P): New macro.
53149         * src/window.c (Fwindow_pixel_width_before_size_change)
53150         (Fwindow_pixel_height_before_size_change): New functions.
53151         (Fdelete_other_windows_internal, Fwindow_resize_apply)
53152         (resize_frame_windows, Fsplit_window_internal)
53153         (Fdelete_window_internal, grow_mini_window)
53154         (shrink_mini_window, Fresize_mini_window_internal): Don't call
53155         FRAME_WINDOW_SIZES_CHANGED.
53156         (window_size_changed, window_set_before_size_change_sizes)
53157         (run_window_size_change_functions): New functions.
53158         (make_window): Initialize pixel_width_before_size_change and
53159         pixel_height_before_size_change.
53160         (Fdelete_window_internal): Don't call
53161         run_window_configuration_change_hook.
53162         (struct saved_window): Add pixel_height_before_size_change and
53163         pixel_width_before_size_change.
53164         (Fset_window_configuration): Try to identify window configuration
53165         changes correctly so run_window_configuration_change_hook and
53166         run_window_size_change_functions run only if configuration and size
53167         really changed.
53168         (save_window_save): Set the pixel_height_before_size_change and
53169         pixel_width_before_size_change fields.
53170         (Vwindow_size_change_functions): Move here definition from xdisp.c.
53171         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
53172         run_window_size_change_functions.
53173         (Vwindow_size_change_functions): Move definition to window.c.
53174         * src/xfns.c (x_set_menu_bar_lines): Don't call
53175         run_window_configuration_change_hook.
53176         * doc/lispref/windows.texi (Window Sizes): Document new
53177         functions `window-pixel-height-before-size-change' and
53178         `window-pixel-width-before-size-change'.
53179         (Window Configurations): Mention that this may trigger
53180         execution of `window-size-change-functions' although no window
53181         changed size.
53182         (Window Hooks): Update descriptions of `window-size-change-functions'
53183         and `window-configuration-change-hook'.
53185 2016-02-23  Drew Adams  <drew.adams@oracle.com>
53187         (ls-lisp-insert-directory): Make -B work
53189         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
53190         (bug#20776).
53192 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53194         Fix typo in message-setup-fill-variables
53196         * lisp/gnus/message.el (message-setup-fill-variables): Fix
53197         typo in a recent checkin that used `setq-default' instead of
53198         `setq-local' (bug#22781).
53200 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53202         `message-dont-reply-to-names' can also be a list of regexps
53204         * lisp/gnus/message.el (message-dont-reply-to-names):
53205         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
53207 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
53209         Make buttons in header lines work
53211         * lisp/help-mode.el (help-button-action): `help-xref-button' in
53212         header line doesn't work (bug#21024).
53214 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
53216         Place apples randomly in Snake
53218         * lisp/play/snake.el (snake-score): New variable (bug#21359).
53219         (snake-set-dot): Place the apples randomly.
53221 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53223         Allow optional parameter to be nil
53225         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
53226         optional parameter to be nil (bug#21576).
53228 2016-02-23  Tino Calancha  <f92capac@gmail.com>
53230         Completely ignore buffers with no name when copying file names
53232         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
53233         ignore buffers with no file name. (bug#21577).
53235 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53237         Make spelling of "Eshell" consistent
53239         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
53240         * lisp/eshell/eshell.el (eshell-command):
53241         Spell it "Eshell" (bug#21678).
53243 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
53245         Allow pretty lambdas in Scheme mode
53247         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
53248         `prettify-symbols-alist' from Lisp mode (bug#21679).
53250 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53252         Rename lisp--prettify-symbols-alist
53254         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
53255         Rename from `lisp--prettify-symbols-alist' since we're going
53256         to use it in Scheme mode, too.
53257         (lisp-mode-variables): Use it.
53259 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
53261         Remove spurious newline in package list
53263         * lisp/emacs-lisp/package.el (describe-package-1): Remove
53264         spurious newline (bug#21706).
53266 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
53268         Revert "Remove spurious newline in package list"
53270         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
53272 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
53274         Remove spurious newline in package list
53276         * lisp/emacs-lisp/package.el (describe-package-1): Remove
53277         spurious newline (bug#21706).
53279 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53281         Keep the position in the process buffer when deleting processes
53283         * lisp/simple.el (process-menu-delete-process): Keep the
53284         position in the buffer after killing a process (bug#21759).
53286 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53288         Require that the buffer that we're trying to patch exist
53290         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
53291         buffer that we're trying to patch exist (bug#21852).
53293 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53295         Require that the buffer that we're trying to patch exist
53297         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
53298         buffer that we're trying to patch exist (bug#21852).
53300 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
53302         Be more verbose when changing frame mode in ediff
53304         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
53305         mode we toggled to (bug#21853).
53307 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
53309         Encode header strings before printing
53311         * lisp/ps-print.el (ps-generate-header-line): Encode the
53312         header strings to avoid problems with non-ASCII headers
53313         (bug#22611).
53315 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53317         Test message-strip-subject-trailing-was
53319         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
53320         New test (bug#22632).
53322 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53324         Make use of the `ert-with-function-mocked' macro
53326         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
53327         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
53328         `ert-with-function-mocked' instead of implementing the fragile
53329         `unwind-protect' logic openly.
53331 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53333         message-strip-subject-trailing-was: Refactor
53335         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
53336         the function replacing sequence of `if' calls with a mixture of `or'
53337         and `and' calls instead.  This makes it shorter and containing less
53338         internal state thus easier to follow.
53340 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
53342         ert-with-function-mocked: New macro
53344         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
53345         allows evaluating code while particular function is replaced with
53346         a mock.  The original definition of said function is restored once the
53347         macro finishes.
53349 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53351         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
53353         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
53354         interface functions.
53356         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
53357         gnus-rfc1843.
53359 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53361         Don't use mm-util functions in qp.el
53363         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
53364         mm-util functions.
53365         (quoted-printable-encode-string): Ditto.
53366         (quoted-printable-encode-region): Ditto.
53368 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53370         Don't require mm-util
53372         * lisp/mail/ietf-drums.el (mm-util): Don't require.
53374 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53376         Remove Gnus functions from auth-source.el
53378         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
53379         Remove usage of Gnus utility function.
53380         (mm-util, gnus-util): Don't require.
53382 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53384         Allow deleting all non-matching cookies
53386         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
53387         keeping matching cookies (bug#22720).
53389 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
53391         Make (setf (image-property ...)) return VALUE
53393         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
53395 2016-02-22  John Wiegley  <johnw@newartisans.com>
53397         Merge from origin/emacs-25
53399         a9c48d5 Additional fixes for file notification
53400         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
53401         8c22ac9 ; Spelling fix
53402         2975784 Set file modes of pinentry socket for extra safety
53403         2667b3e Clarify GnuPG version compatibility chapter
53404         5e34c36 Revert "Change the default socket location for pinentry"
53405         e19c1c3 Kill off xref--display-history
53406         5698947 Keep the xref buffer visible until the user quits it explicitly
53407         e34fbde Change the default socket location for pinentry
53408         5f89658 Mention how to enable pinentry feature
53409         db51224 Sync with gnulib
53410         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
53411         2d8b2fd Restore point when writing semantic table to disk
53412         27d3430 Mention pinentry.el in epa manual
53413         5baa001 Fix Bug#22736
53414         7261355 Grammar fix in doc string
53415         d0f3b18 Naming fix for consistency
53416         74ec92d Prefer customized value for GnuPG executable
53417         ea0b604 Fix memory reservation on MS-Windows
53418         c5f72aa Update NextStep readme and add wish list.
53419         6de26a7 Report also result in `file-notify--test-event-handler'
53420         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
53421         1cb1268 Fix todo-mode item date editing bugs
53422         1e996cf Fix "[:upper:]" for non-ASCII characters
53423         896f993 Allow customizing the article mode cursor behavior
53424         24c1c1d Use pop-to-buffer-same-window in woman.el
53425         2a75f64 New filenotify test for bug#22736
53426         c9bccf7 Report critical battery errors
53427         d675db9 Make eww message toggling message clearer
53428         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
53429         fa8fd65 ; Improve character-folding entries in NEWS
53430         3722a69 Fix bugs in window resizing code
53431         289d5c6 Fix decoding DOS EOL in a unibyte buffer
53432         2abcb06 Correct c-parse-state cache manipulation error.
53433         14aec91 Take advantage of new GnuPG version check function
53434         e80c2a7 Make GnuPG version check robuster
53435         15a9464 Fix x-load-color-file pointer signedness
53436         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
53437         78ab6f1 Follow convention for greek letter constants.
53438         106b5bb Add Stefan-Boltzmann constant to calc units table.
53439         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
53440         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
53441         2d40f7d Fix soffice UserInstallation-URL for Windows
53442         b1a3ebe Fix display of <pre> elements
53443         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
53444         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
53446 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
53448         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
53450         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
53451           non-existing buffer.
53453 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53455         Mention the further asynchronousity
53457 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53459         Fix async TLS boot problem
53461         * src/process.c (wait_reading_process_output): Verify the boot
53462         of the correct process.
53464 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53466         Clean up forgotten text in manual
53468         * doc/lispref/display.texi (Defining Images): Remove example
53469         forgotten when making previous change.
53471 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53473         Clean up debugging code
53475         * src/process.c (Fmake_network_process): Remove debugging printf.
53476         (wait_for_socket_fds, wait_while_connecting)
53477         (wait_for_tls_negotiation): Remove newlines from messages.
53479 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53481         Fix merge conflicts in network-stream-tests.el
53483 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
53485         Port recent filevercmp addition to MS-Windows
53487         Reported by Andy Moreton in:
53488         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
53489         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
53490         (EXTRA_DIST): Add filevercmp.h.
53492 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53494         add_to_log expects Lisp parameters
53496 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53498         Mention sentinels in conjunction with :nowait t.
53500         * doc/lispref/processes.texi (Network Processes): Mention the
53501         recommended way of using sentinels with :nowait t.
53503 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53505         Mention in the doc strings that process functions may block
53507         (Fprocess_contact, Fprocess_datagram_address)
53508         (Fset_process_datagram_address, Fset_network_process_option)
53509         (Fprocess_send_region, Fprocess_send_string): Mention that the
53510         functions may block.
53511         (Fset_process_coding_system): Ditto.
53513 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53515         Add blocker warnings to the *Messages* buffer
53517         * src/process.c (wait_for_socket_fds): Add warning to the log.
53518         (wait_while_connecting): Ditto.
53519         (wait_for_tls_negotiation): Ditto.
53521 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
53523         Rework the image property getter/setters
53525         * doc/lispref/display.texi (Defining Images): Document the
53526         renamed `image-get/set-property' functions.
53528         * lisp/image.el (image--set-property): Rename from
53529         image-set-property.
53530         (image-property): Declare a setf form.
53531         (image-property): Rename from `image-get-property'.
53533 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
53535         Use Gnulib filevercmp for version comparison
53537         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
53538         * doc/lispref/strings.texi (Text Comparison):
53539         * etc/NEWS, src/fns.c:
53540         * test/src/fns-tests.el (fns-tests-string-version-lessp):
53541         Rename newly-introduced function to string-version-lessp, by
53542         analogy with strverscmp.
53543         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
53544         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
53545         * src/fns.c: Include <filevercmp.h>.
53546         (gather_number_from_string): Remove.
53547         (Fstring_version_lessp): Reimplement via filevercmp.
53549 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53551         Add a function to delete URL cookies
53553         * doc/misc/url.texi (Cookies): Document
53554         url-cookie-delete-cookies.
53556         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
53558 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53560         Avoid integer overflows in string-numeric-lessp
53562         * src/fns.c (Fstring_numeric_lessp): If we have an integer
53563         overflow, compare lexicographically.
53565 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53567         Add the string-numeric-lessp function
53569         * doc/lispref/strings.texi (Text Comparison): Document
53570         `string-numerical-lessp'.
53572         * src/fns.c (Fstring_numeric_lessp): New function.
53573         (gather_number_from_string): Helper function for that function.
53575         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
53577 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
53579         Clarify levels of :nowait t.
53581         * doc/lispref/processes.texi (Network Processes): Mention
53582         levels of asynchronicity.
53584 2016-02-20  Alain Schneble  <a.s@realize.ch>
53586         Respect DNS timeouts
53588         * src/process.c (check_for_dns): If the async DNS request
53589         failed and the associated process is still in "connect" state,
53590         deactivate the process and set status to "failed".
53592 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53594         Add a frame around the placeholder image in shr
53596         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
53597         around the image.
53599 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53601         Use placeholder images in shr to avoid text moving around
53603         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
53604         from the HTML.
53605         (shr-tag-img): Ditto.
53606         (shr-string-number): New function.
53607         (shr-make-placeholder-image): Make placeholder images.
53608         (shr-tag-img): Insert them if we have SVG support.
53610 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53612         Get explicit width/height + scale computations right
53614         * src/image.c (compute_image_size): :scale should also be
53615         taken into account when :width and :height are explicitly names.
53617 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
53619         New functions for getting and setting image properties
53621         * doc/lispref/display.texi (Defining Images): Document
53622         image-get/set-property.
53624         * lisp/image.el (image-set-property): New function.
53625         (image-get-property): Ditto.
53627 2016-02-19  Alan Mackenzie  <acm@muc.de>
53629         Await the final mouse event in C-h c and C-h k.
53631         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
53632         event, keep reading further events until a timeout occurs, to ensure we have
53633         the complete mouse event from the user.
53635 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
53637         Add a library for creating and manipulating SVG images
53639         * doc/lispref/display.texi (SVG Images): New section.
53641         * lisp/svg.el: New file.
53643 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
53645         Fix up tests for async TLS negotiation
53647 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
53649         Fix coding system setup
53651         * src/process.c (set_network_socket_coding_system): Pass in
53652         the host/service that's been computed already.
53654 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
53656         Reference `tramp-theme' in GNU ELPA.
53658         * doc/misc/tramp.texi (Frequently Asked Questions):
53659         Reference `tramp-theme' in GNU ELPA.
53661 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
53663         Verify the TLS connection asynchronously
53665         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
53666         function so that we can call it asynchronously.
53667         (Fgnutls_boot): Use it.
53669         * src/process.c (wait_reading_process_output): Verify the TLS
53670         negotiation.
53672 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
53674         Add column layout module to CSS property list
53676         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
53677         CSS Multi-column Layout Module.
53679 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
53681         Minor cleanup in CONTRIBUTE and test/README
53683         * CONTRIBUTE: Remove detailed explanation about testing; this
53684         is now in test/README.
53686         * test/README: Don't mention automated/ subdirectory.
53688 2016-02-15  Glenn Morris  <rgm@gnu.org>
53690         Provide 'term/name in lisp/term files.
53692         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
53693         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
53694         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
53695         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
53696         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
53697         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
53698         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
53699         For consistency, provide 'term/name in all files that don't already.
53701 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53703         Deactivate the correct process
53705         * src/process.c (wait_reading_process_output): Deactivate the
53706         correct process on failure.
53708 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53710         Implement asynch TLS negotiation
53712         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
53713         function.
53714         (emacs_gnutls_handshake): Use it.
53715         (emacs_gnutls_read): Just return instead of retrying the handshake.
53717         * src/process.c (finish_after_tls_connection): Factor out
53718         into its own function.
53719         (connect_network_socket): Use it.
53720         (wait_reading_process_output): Retry TLS handshakes.
53721         (wait_reading_process_output): Defer sentinel until TLS completes.
53723 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53725         Simplify the DNS resolution loop a bit
53727         * src/process.c (wait_reading_process_output): Simplify the
53728         DNS resolution loop a bit.
53730 2016-02-15  Alain Schneble  <a.s@realize.ch>
53732         Loop over the process list instead of maintaining a separate list
53734         * src/process.c: Remove declaration/definition of dns_processes list.
53735         * src/process.c (wait_reading_process_output): Loop over all processes in
53736         Vprocess_alist instead of dns_processes, to check for completed DNS
53737         requests.
53739 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53741         Allow setting the filter masks later
53743         * src/process.c (Fset_process_filter): Don't set the socket
53744         masks here, because we may not have a socket yet.
53745         (set_process_filter_masks): New function.
53746         (connect_network_socket): Set the filter masks here.
53748 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53750         Remove debugging
53752 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53754         Ensure we always free DNS resources when deleting a process
53756         * src/process.c (free_dns_request): Factor out into own function.
53757         (Fdelete_process): When deleting a process, free any DNS
53758         structures associated with it.
53759         (check_for_dns): Always free all DNS resources.
53761 2016-02-15  Alain Schneble  <a.s@realize.ch>
53763         Don't block in set-process-window-size
53765         * src/process.c (set-process-window-size): Explicitly return Qnil when
53766         called with network processes as set_window_size won't work anyway on
53767         socket fds.  As a welcome side effect, this makes the blocking
53768         wait_for_socket_fds call obsolete.
53770 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53772         Do most of the coding system setup earlier
53774         * src/process.c (Fmake_network_process): Set the read/write
53775         coding systems here, so that special bindings work.
53776         (Fmake_network_process): Complete the coding system setup here.
53778 2016-02-15  John Wiegley  <johnw@newartisans.com>
53780         Merge from origin/emacs-25
53782         d4b93e1 Minor fixes in global-auto-composition-mode
53783         02b037b Allow arithmetic operators inside C++ template constructs.
53784         44b16f6 Avoid crashes in semi-malformed 'condition-case'
53785         652e5b4 Allow arithmetic operators inside C++ template constructs.
53786         d9ea795 Fix regression with 'recent-keys' and keyboard macros
53787         903603f Fix wording in a doc-view.el comment
53788         cf79616 ; Spelling fixes
53789         f8bf1b3 CONTRIBUTE cleanups and updates
53790         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
53791         1834ac7 Port to x86 GCC 4.3.1 and earlier
53792         8482949 Fix point movement under 'scroll-conservatively'
53793         c1313b5 Replace colon in file name (not legal on Windows)
53794         f7af26c Fix a typo in edt.texi
53795         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
53796         856cd94 Grep alias `all' shall not match parent directory
53798 2016-02-15  John Wiegley  <johnw@newartisans.com>
53800         Merge from origin/emacs-25
53802         dacde7e * etc/AUTHORS: Update the AUTHORS file
53803         478ca5d ; fix changelog entries
53804         2b7d006 ; make change-history-commit
53805         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
53806         47896c8 ; Improve commentary in insdel.c
53807         53ca1e1 Index tilde characters in names of backup files
53808         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
53809         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
53810         28bb214 Announce that the `C-x w' bindings are deprecated
53811         1c98f98 Suppress GNUstep hardening
53812         d82f24b Fix redisplay after a large insertion
53813         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
53814                 closed server"
53815         e8e3db0 ; Improve merge documentation in CONTRIBUTE
53816         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
53817         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
53818                 limitations.
53820 2016-02-15  John Wiegley  <johnw@newartisans.com>
53822         Merge from origin/emacs-25
53824         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
53825         afe7d1f Revert "Document EXIF image rotation"
53826         c6f377c Document OS X LANG default
53827         eb4a18c Set locale when run from OS X GUI
53828         456c0a3 make-docfile cleanup for I/O, etc.
53829         25ec995 Memory-management cleanup in make-docfile
53830         02d925e Kevin Gallagher has new email address
53831         4ef153b Improve doc strings of 'forward/backward-word-strictly'
53832         3ad05a0 Describe Makefile test targets in test/README
53834 2016-02-15  John Wiegley  <johnw@newartisans.com>
53836         Merge from origin/emacs-25
53838         10b8ed2 Document EXIF image rotation
53839         0f60049 Support integer image rotation and respect EXIF rotations
53840         7dd45b6 Quote table names for postgres listings (sql-mode)
53841         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
53842                 `backward' optional.
53843         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
53844                 temporary-goal-column.
53845         0a289d3 Suppress ACL ops if configured with --disable-acl
53846         1a9dbf5 Mention web bugs
53847         fa55da2 Make mm-html-blocked-images default to "" again
53849 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
53851         Protect against initial handshake failures
53853         * src/process.c (connect_network_socket): Mark the connection
53854         as failed if the handshake didn't succeed yet.  This should be
53855         reworked later.
53857 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
53859         Call the network security manager after doing TLS negotiation
53861         * lisp/net/network-stream.el (network-stream-open-tls):
53862         Postpone NSM verification when running async.
53864         * src/process.c (Fset_process_filter): This function doesn't
53865         need to wait.
53866         (connect_network_socket): Set the process status to "run" only
53867         after TLS negotiation.
53868         (wait_for_socket_fds): Take a name parameter for more debugging.
53869         (wait_reading_process_output): Don't change status to "run"
53870         unless TLS negotiation has finished.
53871         (send_process): Wait for the process here instead of
53872         send_process_string.
53873         (connect_network_socket): Call the network security manager.
53875 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
53877         Remove some #ifdefs and update documentation
53879         * doc/lispref/processes.texi (Network Processes): Remove
53880         mention of `dns'.
53882         * lisp/net/network-stream.el (open-network-stream): Remove
53883         mention of `dns'.
53885         * src/process.c (Fset_process_filter)
53886         (Fset_process_window_size, Fprocess_contact)
53887         (Fprocess_datagram_address, Fset_process_datagram_address)
53888         (Fset_network_process_option, Fprocess_send_region)
53889         (Fprocess_send_string, Fset_process_coding_system)
53890         (Fset_process_filter_multibyte): Remove the #ifdef
53891         HAVE_GETADDRINFO_A checks.
53892         (Fprocess_send_string): Wait for TLS negotiation.
53893         (wait_for_tls_negotiation): New function.
53894         (send_process): Remove the TLS boot check.
53896         * src/process.c (Fmake_network_process): Ditto.
53898 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
53900         Use :nowait t in url-gw
53902         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
53903         since we're not differentiating.
53905 2016-02-14  Alain Schneble  <a.s@realize.ch>
53907         Add blockers to process functions
53909         * src/process.c (set-process-filter, set-process-window-size,
53910         process-contact, process-datagram-address, set-process-datagram-address,
53911         set-network-process-option): Make functions wait (block) on network
53912         process until pending DNS requests have been processed and associated
53913         socket initialized.
53915         * src/process.c (process-send-region, process-send-string,
53916         process-send-eof): Make functions wait (block) while network process is
53917         in connect state.
53919 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
53921         Add fragmentation module to CSS property list
53923         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
53924         CSS Fragmentation Module Level 3.
53926 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
53928         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
53930 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
53932         New function seq-map-indexed
53934         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
53935         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
53937 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53939         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
53941 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53943         Fix problem with wrong encoding of non-ASCII message bodies
53945         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
53946         multibyteness before encoding the data.
53948 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53950         Remove codepage setup code from mm-util
53952         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
53953         (mm-codepage-iso-8859-list): Remove.
53954         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
53955         (mm-setup-codepage-ibm): Remove.
53956         (mm-charset-eval-alist): Remove the code pages from the
53957         default value.
53959 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53961         Remove compat code for older Emacsen
53963         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
53964         XEmacs compat code.
53966         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
53967         unused compat function.
53968         (gnus-sync-json-plist-p): Ditto.
53970         * lisp/gnus/message.el (message-default-charset): Make obsolete.
53971         (message-info): Remove compat code.
53972         (message-setup-fill-variables): Remove kludge needed earlier
53973         to not overwrite `normal-auto-fill-function'.
53974         (message-split-line): Remove compat code.
53976         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
53977         compat code.
53979 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53981         Remove some compat functions from gmm-utils.el
53983         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
53984         compat code.
53985         (gmm-image-search-load-path): Remove.
53986         (gmm-image-load-path-for-library): Remove.
53988 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53990         Remove the gmm-lazy and nnmail-lazy compat widgets
53992         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
53994         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
53996 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
53998         Clean up nnimap-request-move-article slightly
54000         * lisp/gnus/nnheader.el (subr-x): Require.
54002         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
54003         the code slightly.
54005 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54007         Use open-network-stream instead of open-protocol-stream
54009         * lisp/gnus/nnimap.el: Use open-network-stream instead of
54010         open-protocol-stream.
54012         * lisp/gnus/nntp.el: Ditto.
54014         * lisp/gnus/pop3.el: Ditto.
54016         * lisp/net/sieve-manage.el: Ditto.
54018         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
54020 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54022         Remove compat code that relies on (featurep 'mule)
54024         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
54025         compat code.
54027         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
54028         Remove compat code.
54030         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
54031         Remove compat code.
54033         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
54034         Remove compat code.
54035         (mm-w3m-standalone-supports-m17n-p): Ditto.
54037 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54039         Remove compat functions from starttls.el
54041         * lisp/net/starttls.el
54042         (starttls-set-process-query-on-exit-flag): Remove.
54044 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54046         Remove compat functions from smime.el
54048         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
54049         (smime-make-temp-file): Remove.
54051 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54053         Remove compat code from smiley
54055         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
54057 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54059         Remove compat code from rfc2047
54061         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
54062         compat code.
54063         (rfc2047-decode-string): Ditto.
54065 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54067         Remove compat function from pop3
54069         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
54071 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54073         Remove compat code in Gnus backends
54075         * lisp/gnus/nndiary.el (nndiary-error): Remove.
54077         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
54079         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
54081         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
54083         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
54085 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54087         Remove compat code from some mml files
54089         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
54090         Remove compat code.
54092         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
54093         Always use `mail-extract-address-components', since this isn't
54094         time critical.
54095         (mml-smime-get-dns-cert): Ditto.
54097         * lisp/gnus/mml.el (mml-preview): Remove compat code.
54099 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54101         Remove compat code and compat functions from mm-util.el
54103         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
54104         compat code.
54105         (mm-coding-system-priorities)
54106         (mm-mule-charset-to-mime-charset, mm-charset-after)
54107         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
54108         (mm-detect-coding-region): Define unconditionally.
54109         (mm-detect-mime-charset-region): Ditto.
54110         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
54111         (coding-system-name)
54112         (find-file-coding-system-for-read-from-filename)
54113         (find-operation-coding-system): Remove aliases.
54115 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54117         Remove some compat code from mm-*.el
54119         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
54121         * lisp/gnus/mm-decode.el (mm-tmp-directory)
54122         (mm-valid-image-format-p): Remove compat code.
54124         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
54125         "Connection" "Close" workaround for older Emacsen.
54127 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54129         Remove compat code and functions from message.el
54131         * lisp/gnus/message.el (message-send-mail-function): Remove
54132         compat code.
54133         (message-dont-reply-to-names, message-mode)
54134         (message-setup-fill-variables, message-fill-paragraph)
54135         (message-remove-blank-cited-lines, message-make-from)
54136         (message-forward-rmail-make-body, message-tool-bar-gnome)
54137         (message-tab): Remove compat code.
54138         (message-completion-in-region): Remove.
54139         (message-read-from-minibuffer): Remove compat code.
54141 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54143         Declare rfc1843 instead of autoloading
54145         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
54146         instead of autoload.
54148 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
54150         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
54152         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
54153         autoloaded correctly.  (Bug#22613)
54155 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
54157         Fix network-stream-tests.el for MS-Windows
54159         * test/lisp/net/network-stream-tests.el
54160         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
54161         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
54163 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
54165         Remove some Message compat functions
54167         * lisp/gnus/message.el (message-kill-all-overlays): Define
54168         unconditionally.
54169         (message-window-inside-pixel-edges): Remove.
54170         (mail-dont-reply-to): Remove.
54172 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54174         Remove some Gnus compat code
54176         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
54177         (gnus-mm-display-part): Ditto.
54179         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
54180         compat code.
54182 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54184         Sort groups before inserting them into the group buffer
54186         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
54187         Sort groups before inserting them.
54189 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54191         Make "unseen" tracking work again in Gnus
54193         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
54194         tracking work again.
54196 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54198         Remove Gnus compat functions defined in gnus.el
54200         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
54201         (gnus-extent-start-open, gnus-character-to-event)
54202         (gnus-assq-delete-all, gnus-add-text-properties)
54203         (gnus-put-text-property, gnus-key-press-event-p):
54205 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54207         Remove compat code from gnus-uu and win
54209         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
54210         compat code.
54212         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
54214         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
54216 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54218         Remove several gnus-util compat functions
54220         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
54221         (gnus-read-shell-command): Remove.
54222         (gnus-match-substitute-replacement): Remove.
54223         (gnus-string-match-p): Remove.
54224         (gnus-string-prefix-p): Remove.
54226 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54228         Remove the gnus-merge alias
54230         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
54232 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54234         Remove the gnus-union alias
54236         * lisp/gnus/gnus-util.el (gnus-union): Remove.
54238 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54240         Remove the gnus-delete-alist alias
54242         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
54243         (gnus-delete-alist): Remove.
54245 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54247         Remove the gnus-float-time alias
54249         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
54250         compat code.
54251         (gnus-float-time): Remove.
54253 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54255         Remove compat code from gnus-srvr, start and sum
54257         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
54258         compat code.
54260         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
54261         Remove compat code.
54263         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
54264         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
54265         (gnus-recenter)
54266         (gnus-summary-limit-strange-charsets-predicate)
54267         (gnus-summary-show-thread): Remove compat code.
54269 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54271         Remove compat code from gnus-spec.el
54273         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
54274         (gnus-balloon-face-function): Remove compat code.
54276 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54278         Fix compat change in last check-in
54280         * lisp/gnus/gnus-group.el
54281         (gnus-group-name-charset-group-alist): `find-coding-system'
54282         doesn't exist in Emacs.
54284 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54286         Always use url-queue
54288         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
54289         Always use url-queue.
54291 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54293         Remove compat functions from gnus-html.el
54295         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
54297 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54299         Remove compat code from gnus-group.el
54301         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
54302         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
54304 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54306         Define gnus-diary-kill-entire-line unconditionally
54308         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
54309         Define unconditionally.
54311 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54313         Remove compat code from gnus-cache and gnus-bookmark
54315         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
54317         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
54318         Remove compat code.
54320 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54322         Remove compat code from gnus-art.el
54324         * lisp/gnus/gnus-art.el (gnus-article-prepare)
54325         (gnus-mime-copy-part, gnus-output-to-file)
54326         (gnus-article-reply-with-original)
54327         (gnus-button-handle-apropos-variable)
54328         (gnus-button-handle-apropos-documentation):
54330 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54332         Remove compat code from gnus-agent.el
54334         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
54335         Remove compat code.
54337 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54339         Rewrite gmm-labels usage to use cl-labels
54341         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
54342         (gmm-labels): Remove.
54344 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54346         Remove compat code from canlock.el
54348         * lisp/gnus/canlock.el (defmacro): Remove
54350 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54352         Remove compat code from auth-source
54354         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
54355         Remove compat code.
54357 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54359         Fix gnus-group.el compilation warnings about unprefixed variables
54361         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
54362         compilation warnings by passing in the dynamic variables as
54363         explicit lexical parameters to `eval'.
54365 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54367         Fix the :tracker slot name
54369         * lisp/gnus/registry.el (registry-lookup-secondary): The
54370         `tracker' slot is called `tracker', not `:tracker'.
54372 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54374         Fix compilation warnings in gnus-art.el
54376         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
54377         (gnus-article-hide): Avoid compilation warnings.
54379 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54381         Fix compilation warning in gnus-score.el
54383         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
54384         compiler.
54386 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
54388         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
54390         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
54392         This makes nnimap groups not be activated.
54394 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54396         Fix encoding problem introduced by previous patch series
54398         * lisp/mail/rfc2047.el: Ditto (bug#22648).
54400         * lisp/mail/rfc2231.el: Fix problem created by the
54401         mm-replace-in-string conversion.
54403 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
54405         Revert "Avoid defvarring prefix-less variables"
54407         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
54409         The defvars are needed if we're doing lexical-binding
54411 2016-02-12  Glenn Morris  <rgm@gnu.org>
54413         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
54414         Make it pass.
54416         * test/lisp/url/url-auth-tests.el
54417         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
54419 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54421         Finish up cl-defmethoding registry,el
54423         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
54425 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54427         Revert the gnus-replace-in-string change, fix arguments, reapply
54429 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54431         Silence more message.el compilation warnings
54433         * lisp/gnus/message.el (message-generate-headers): Don't use
54434         variable values directly to get the header values, because
54435         that breaks with lexical binding (without unprefixed defvars).
54437 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54439         Fix various compilation warnings in message.el
54441         * lisp/gnus/message.el (message-fix-before-sending): Use
54442         read-multiple-choice instead of gnus-multiple-choice.
54443         (mm-util): Require.
54444         (rfc2047): Require.
54445         (message-remove-blank-cited-lines): Use message instead of
54446         gnus-message.
54447         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
54449 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54451         Silence compilation warning in mm-view
54453         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
54454         compilation warning.
54456 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54458         Fix epg-related compilation warnings in mml-sec
54460         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
54461         library.
54463 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54465         rmail-dont-reply-to-names is obsolete
54467         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
54468         the obsolete `rmail-dont-reply-to-names' variable.
54470 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54472         Partially revert the defmethod->cl-defmethod change in registry.el
54474         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
54475         since cl-defmethod doesn't work with :after.
54476         (initialize-instance): Ditto, but with :before.
54478 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54480         Avoid obsolete function in plstore
54482         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
54483         instead of the obsolete epg-context-set-armor.
54485 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54487         Use cl-defmethod in registry.el
54489         * lisp/gnus/registry.el: Use cl-defmethod instead of the
54490         obsolete defmethod.
54492 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54494         Make sieve-manage require sasl
54496         * lisp/net/sieve-manage.el: Fix compilation warning by
54497         requiring sasl.
54499 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54501         Avoid defvarring prefix-less variable
54503         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
54505 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54507         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
54509 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54511         Don't use the obsolete char-valid-p function
54513         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
54514         obsolete char-valid-p function.
54516 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54518         Fix missed translation in a previous commit
54520         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
54521         translation of mailcap-delete-duplicates.
54523 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54525         Avoid using mm-make-temp-file
54527         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
54529         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
54531         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
54533 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54535         Fix compilation warning in gnus-start
54537         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
54538         mm-make-temp-file.
54540 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54542         Avoid the obsoleted defmethod
54544         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
54545         defmethod.
54547 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54549         Avoid defvarring prefix-less variables
54551         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
54552         don't need to `defvar' the short variables to allow `eval' to
54553         use them.
54555 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54557         nnweb doesn't need unibyte buffers
54559         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
54560         (nnweb-read-overview, nnweb-request-article)
54561         (nnweb-google-reference): Unibyte buffers are not needed here.
54563 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54565         Encode before sending from nnspool
54567         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
54568         before sending it to the news server.
54570 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54572         nnrss buffers don't have to be unibyte
54574         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
54575         to be unibyte just to receive data, I think.
54577 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54579         Don't use mm-with-unibyte-current-buffer in mml2015
54581         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
54582         mm-with-unibyte-current-buffer.
54584 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54586         Don't use mm-with-unibyte-current in mml1991
54588         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
54589         mm-with-unibyte-current.
54591 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54593         Don't use mm-with-unibyte-current in mml1991
54595         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
54596         mm-with-unibyte-current.
54598 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54600         Don't use mm-with-unibyte-buffer in utf7
54602         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
54603         mm-with-unibyte-buffer.
54605 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54607         Remove XEmacs compat code from Gnus helper libraries
54609         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
54611         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
54613         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
54615         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
54617 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54619         Remove XEmacs compat code from Gnus backends
54621         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
54622         (mm-inline-image): Rename from mm-inline-image-emacs.
54624         * lisp/gnus/mml.el: Remove XEmacs compat code.
54626         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
54628         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
54629         XEmacs compat code.
54631         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
54633         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
54634         XEmacs compat code.
54636         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
54638         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
54640         * lisp/gnus/nntp.el: Remove XEmacs compat code.
54642 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54644         Remove XEmacs compat functions from mm-util.el
54646         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
54647         (mm-decode-coding-string, mm-encode-coding-string)
54648         (mm-decode-coding-region, mm-encode-coding-region): Remove.
54649         (mm-string-to-multibyte): Remove.
54650         (mm-char-or-char-int-p): Remove.
54651         (mm-ucs-to-char): Remove compat versions of the function.
54652         (mm-read-coding-system): Remove.
54653         (mm-coding-system-p): Remove compat code.
54654         (mm-enrich-utf-8-by-mule-ucs): Remove.
54655         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
54656         (mm-delete-duplicates): Remove.
54657         (mm-multibyte-p): Remove compat versions.
54658         (mm-xemacs-find-mime-charset-1): Remove.
54659         (mm-xemacs-find-mime-charset): Remove.
54660         (mm-make-temp-file): Made obsolete.
54661         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
54663 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
54665         Remove Message and mm-decode XEmacs compat code
54667         * lisp/gnus/message.el: Remove XEmacs compat code.
54669         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
54671         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
54673 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54675         Remove som XEmacs compat code from message.el
54677         * lisp/gnus/message.el: Remove some XEmacs compat code.
54679 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54681         Remove XEmacs compat code from ietf-drums.el
54683         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
54684         XEmacs compat.
54686 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54688         Remove XEmacs compat code from gravatar.el
54690         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
54691         gravatar.el.
54693 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54695         Remove more XEmacs compat code from Gnus
54697         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
54698         (gnus-timer--function): Remove.
54700         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
54701         19.2 compat.
54703         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
54705 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54707         Remove more XEmacs compat functions from gnus-util.el
54709         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
54710         (gnus-get-display-table): Remove.
54711         (gnus-format-message): Remove.
54713 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54715         Remove more XEmacs compat functions from Gnus
54717         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
54718         (gnus-previous-char-property-change): Remove.
54719         (gnus-graphic-display-p): Remove.
54720         (gnus-select-frame-set-input-focus): Remove.
54722 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54724         Remove more XEmacs compat code from gnus-util
54726         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
54727         all its usages).
54728         (gnus-invisible-p): Remove.
54730 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54732         Remove gnus-make-local-hook
54734         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
54735         all its usages).
54737 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54739         gnus-replace-in-string -> replace-regexp-in-string
54741         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
54742         obsolete.  Transform all usages of it into
54743         replace-regexp-in-string.
54745         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
54747 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54749         Remove Gnus XEmacs compat
54751         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
54752         about code that doesn't work in XEmacs.
54754         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
54756         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
54758 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54760         Remove compat functions in gnus-spec.el
54762         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
54763         (gnus-substring-function): Remove.
54764         (gnus-use-correct-string-widths): Remove.
54765         (gnus-make-format-preserve-properties): Remove.
54766         (gnus-xmas-format): Remove.
54768         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
54770 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54772         Remove Gnus XEmacs compat functions
54774         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
54776         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
54778         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
54780 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54782         Remove Gnus XEmacs compatibility
54784         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
54785         XEmacs compat.
54787         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
54789         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
54791         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
54792         XEmacs compat.
54794         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
54796         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
54798         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
54800         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
54802 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54804         Don't use image-map if it isn't defined
54806         * lisp/net/shr.el (shr-image-map): Only use image-map as a
54807         parent if it's defined (bug#22614).
54809 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54811         Check for MagickAutoOrientImage
54813         * configure.ac: Check for MagickAutoOrientImage.
54815         * src/image.c (imagemagick_load_image): Don't use
54816         MagickAutoOrientImage unless it's available.
54818 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
54820         Document EXIF image rotation
54822         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
54824 2016-02-10  Dima Kogan  <dima@secretsauce.net>
54826         Support integer image rotation and respect EXIF rotations
54828         * src/image.c (imagemagick_load_image): Allow integer rotations in
54829         addition to floating point rotations (bug#22591).
54830         * src/image.c (imagemagick_load_image): Images that have an
54831         orientation given in EXIF and have no explicit :rotation tag are now
54832         pre-rotated.  All information such as width/height is reported for the
54833         rotated image.
54835 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
54837         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
54839 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54841         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
54843 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54845         Remove compat code from gnus-bookmark.el
54847         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
54848         (gnus-bookmark-remove-properties): Remove.
54850 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54852         Remove XEmacs compat code from gnus-a*.el
54854         * lisp/gnus/gnus-agent.el: Remove compat code.
54856         * lisp/gnus/gnus-art.el: Remove compat code.
54858         * lisp/gnus/gnus-async.el: Remove compat code.
54860 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54862         Remove gmm compat functions
54864         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
54865         (gmm-write-region): Remove.
54866         (gmm-called-interactively-p): Remove.
54868 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54870         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
54872 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54874         Remove compat code from compface.el
54876         * lisp/image/compface.el: Remove XEmacs compat code throughout.
54878 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54880         Remove the now empty gnus-ems.el and references to it
54882 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54884         Remove Gnus compat names for mouse bindings
54886         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
54887         (gnus-down-mouse-2): Remove.
54888         (gnus-down-mouse-3): Remove.
54890 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54892         Drop Gnus compat functions
54894         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
54896         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
54898         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
54900 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54902         Get rid of gnus-ems-redefine
54904         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
54906 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54908         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
54910 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54912         Remove Gnus compat code
54914         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
54915         transitional code from ten years ago.
54917 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54919         Allow interactively scaling past :max-width etc
54921         * lisp/image.el (image--current-scaling)
54922         (image--image-without-parameters): New functions.
54923         (image--change-size): Use them to allow changing the size of a
54924         image even if it has :width/:max-width (etc.) already set.
54926 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54928         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
54930 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54932         Allow accessing the image commands via shr
54934         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
54935         accessing the image commands.
54937         * lisp/net/shr.el (shr-image-map): New map used for images.
54938         (shr-urlify): Don't overwrite image maps when applying URL maps.
54940 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54942         Use a sparse image keymap
54944         * lisp/image.el (image-map): Use a sparse keymap.
54946 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54948         Put a keymap on images created with insert-image and friends
54950         * lisp/image.el (image-save): New command.
54951         (image-rotate): Ditto.
54952         (image-map): New keymap.
54953         (insert-image): Put the image-map on all images.
54954         (insert-sliced-image): Ditto.
54955         * doc/lispref/display.texi (Showing Images): Document the
54956         image map.
54958 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54960         Fix some folding issues in read-multiple-choice
54962         * lisp/subr.el (read-multiple-choice): Fix folding when you
54963         have many items.
54965 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54967         Fix typo in last checkin
54969 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54971         Remove Gnus compat functions
54973         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
54974         (gnus-region-active-p, gnus-select-lowest-window)
54975         (gnus-summary-display-table, gnus-max-width-function): Remove
54976         compat functions.
54978 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
54980         Move non-compat Gnus functions to gnus-util.el
54982         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
54983         (gnus-create-image, gnus-image-type-available-p): Move here
54984         from gnus-ems.el, since these aren't compat functions.
54986 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
54988         Omit valloc decl if redundant
54990         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
54991         to pacify --enable-gcc-warnings.
54993 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
54995         Restore the calloc family.
54997         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
54998         They were lost in a4817d8 but calloc is still (marginally) used in
54999         code statically liked with emacs, so hybrid_calloc is needed.
55000         Also, in the non-hybrid case, we can't get rid of calloc anyway as
55001         other libraries liked with emacs may need it.
55002         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
55004 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
55006         Remove some Gnus compat functions
55008         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
55009         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
55010         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
55012 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55014         -
55016         -
55018 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55020         Merge from origin/emacs-25
55022         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
55023         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
55024         51c77a2 Display non-ASCII group names better in prompts
55025         f93d669 Default to gpg2 instead of gpg
55027 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55029         Merge from origin/emacs-25
55031         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
55032         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
55033         3db6adb * lisp/isearch.el (search-default-mode)
55034         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
55035         c77ffc8 Use monitor's resolution for positioning tooltips
55036         49e5749 Fix file-notify-test on MS-Windows
55037         be1d874 Fix issues found by auditing w32notify code
55038         87ae218 Extend etags Ruby support for accessors
55039         aa35257 Update publicsuffix.txt.
55040         6816bff Ensure that Gnus dribble handling allows removing entries
55041         691feae Be consistent when using encoded strings in nnimap data
55042         3ed423b Display the decoded Gnus group name
55043         5428b5b Use completion-ignore-case instead of defining command
55045 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55047         Merge from origin/emacs-25
55049         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55050         d333716 ; * etc/NEWS: Expand news entry for scss-mode
55051         c32c16f ; Better document changes in ls-lisp default behavior
55052         dc6eed2 Fix doc string of tls-program
55054 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55056         Merge from origin/emacs-25
55058         2c117fc * etc/NEWS: Document new mpc.el features
55059         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
55060         9dfece1 Correctly fontify C++ initializations which "look like" functions.
55061         4485222 Improve newsticker-treeview-selection-face
55062         4236944 Minor fix in tagging Ruby accessors by etags
55063         35fc77d Spelling fixes
55064         3dda110 Remove 'def X' from the example
55066 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
55068         Fix network-stream-tests on MS-Windows
55070         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
55071         Skip if local sockets are not supported.
55073 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
55075         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
55077 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
55079         Disable 'timer-list'
55081         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
55082         command.
55084 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
55086         Avoid aligned_alloc static/extern collision
55088         * src/alloc.c (aligned_alloc): Define to private name when a
55089         static function, to avoid collision with lisp.h extern decl.
55090         Reported by John Yates in:
55091         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
55093 2016-02-08  David Edmondson  <dme@dme.org>
55095         src/process.c Correctly convert AF_INET6 addresses
55097         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
55098         converted to a list of 16 bit quantities by
55099         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
55100         same scheme rather than expecting a (longer) list of 8 bit
55101         quantities.
55103 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
55105         Make `message-beginning-of-line' aware of folded headers
55107         * lisp/gnus/message.el (message-beginning-of-header): New function which
55108         moves point to the beginning of a mail header.  The function is aware of
55109         folded headers and with non-nil argument looks for the true beginning of
55110         a header while with nil argument moves to the indented text of header's
55111         value.
55112         (message-beginning-of-line): Function is now aware of folded headers and
55113         either moves point to the indention of a header or, in visual-line-mode,
55114         searches for the beginning of the header.
55116 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
55118         Optimize ‘point in message header’ check
55120         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
55121         regular expression matches with a single bound string match thus
55122         reducing amount of work the function is doing.
55124 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55126         Make the `R' command get the correct relative <img>s
55128         * lisp/net/eww.el (eww-readable): Preserve the base URL so
55129         that image expansions are fetched from the right place (bug#22605).
55131 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55133         Add a mode to list and cancel timers
55135         * doc/lispref/os.texi (Timers): Menton `timer-list'.
55137         * lisp/emacs-lisp/timer-list.el: New file.
55139 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55141         Add new commands to allow changing the size of images
55143         * lisp/image.el (image-increase-size, image-decrease-size):
55144         New commands.
55145         (image-change-size): New function.
55147 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55149         Allow the image scale to be a floating point number
55151         * src/image.c (compute_image_size): The scale can be a
55152         floating point number.
55154 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55156         Add an IPv6 test
55158         * test/lisp/net/network-stream-tests.el
55159         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
55161 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55163         Use gnutls-serv instead of openssh
55165         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
55166         gnutls-serv instead of openssh.
55168 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55170         Skip TLS tests if we don't have openssl
55172         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
55173         TLS tests if we don't have openssl and GnuTLS.
55175 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55177         Add an IPv6 test
55179         * test/lisp/net/network-stream-tests.el
55180         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
55182 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
55184         Use gnutls-serv instead of openssh
55186         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
55187         gnutls-serv instead of openssh.
55189 2016-02-08  Daniel Colascione  <dancol@dancol.org>
55191         Performance improvements for vc-hg
55193         Teach vc-hg how to read some Mercurial internal data structures,
55194         allowing us to avoid the need to run hg status -A, which is very slow
55195         for large repositories.  Fall back to running hg if anything looks
55196         funny.  vc-hg now puts the _working directory_ revision in the
55197         modeline instead of the file revision, which greatly improves
55198         performance and which allows us to again skip running hg in the case
55199         that we have an active bookmark.
55201         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
55202         (vc-hg-symbolic-revision-styles)
55203         (vc-hg-use-file-version-for-mode-line-version)
55204         (vc-hg-parse-hg-data-structures): New user preferences
55205         (vc-hg--active-bookmark-internal, vc-hg--run-log)
55206         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
55207         (vc-hg--read-u8, vc-hg--read-u32-be)
55208         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
55209         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
55210         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
55211         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
55212         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
55213         (vc-hg--ignore-patterns-valid-p)
55214         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
55215         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
55216         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
55217         (vc-hg-state-fast): New functions.
55218         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
55219         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
55220         (vc-hg--dirstate-scan-cache): New internal variables.
55221         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
55222         before updating modeline.
55224 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55226         Skip TLS tests if we don't have openssl
55228         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
55229         TLS tests if we don't have openssl and GnuTLS.
55231 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55233         Automatically scale images up on high-density screens
55235         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
55236         (Defining Images): Mention image-scaling-factor.
55238         * lisp/image.el (image-compute-scaling-factor): New function
55239         (bug#22172).
55240         (create-image): Use it.
55241         (image-scaling-factor): New variable.
55243         * src/image.c (compute_image_size): Take :scale into account.
55245 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55247         Ensure progress when fetching from the queue
55249         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
55250         that we have progress when fetching queued requests (bug#22576).
55252 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55254         Make mail-extract-address-components return the user name more
55256         * lisp/mail/mail-extr.el (mail-extract-address-components):
55257         Return the name even if it's the same as the mailbox name (if
55258         `mail-extr-ignore-single-names' isn't set) (bug#22594).
55260 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55262         Message no longer warns about unknown top level domains
55264 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
55266         Add tests for url-auth
55268         * test/lisp/url/url-auth-tests.el: New file.
55270 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55272         Add a TLS connection test
55274         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
55275         a TLS connection test.
55277 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55279         Add more network tests
55281         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
55282         New test.
55284 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55286         Add network tests
55288         * test/lisp/net/network-stream-tests.el: New suite of network tests.
55290 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55292         Add a TLS connection test
55294         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
55295         a TLS connection test.
55297 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55299         Add more network tests
55301         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
55302         New test.
55304 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55306         Add network tests
55308         * test/lisp/net/network-stream-tests.el: New suite of network tests.
55310 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
55312         Allow various Gnus and Message address variables to be functions
55314         * doc/misc/gnus.texi (To From Newsgroups):
55315         gnus-ignored-from-addresses can be a function.
55317         * doc/misc/message.texi (Wide Reply):
55318         message-dont-reply-to-names can be a function.
55320         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
55321         message-alternative-emails can be a function.
55323         * lisp/gnus/gnus-notifications.el (gnus-notifications):
55324         message-alternative-emails can be a function (bug#22315).
55326         * lisp/gnus/gnus-sum.el
55327         (gnus-summary-from-or-to-or-newsgroups):
55328         gnus-ignored-from-addresses can be a function (bug#22315).
55330 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
55332         Fix typo in Gnus regexp
55334         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
55335         typo in last change to this regexp (bug#22592).
55337 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
55339         Port to FreeBSD x86
55341         Reported by Herbert J. Skuhra in:
55342         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
55343         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
55344         since malloc always returns a multiple of 8 in FreeBSD.
55346 2016-02-07  Alan Mackenzie  <acm@muc.de>
55348         On leaving CC Mode, clean up by removing character properties.
55350         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
55351         all instances of the text properties/extents category, syntax-table,
55352         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
55354 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
55356         message-valid-fqdn-regexp no longer exists
55358         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
55359         the no-longer-existing message-valid-fqdn-regexp variable.
55361 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
55363         Remove message-valid-fqdn-regexp, since it changes too much now
55365         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
55366         (message-bogus-recipient-p): Don't use it any more.
55367         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
55369 2016-02-06  Paul van der Walt  <paul@denknerd.org>
55371         Match "Re :" as a "Re:" prefix
55373         * lisp/gnus/message.el (message-subject-re-regexp): Also match
55374         "Re :" as a "Re:" prefix (commonly used in France).
55376 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
55378         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
55380         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
55382 2016-02-06  David Edmondson  <dme@dme.org>
55384         src/process.c Correctly convert AF_INET6 addresses
55386         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
55387         converted to a list of 16 bit quantities by
55388         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
55389         same scheme rather than expecting a (longer) list of 8 bit
55390         quantities.
55392 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
55394         Search for host/port combinations in auth-source on OS X
55396         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
55397         Search for all host/port (or protocol) combinations for a match in
55398         the OS X keychain.
55400 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55402         Remove nonsensical setting of gnus-newsgroup-unseen
55404         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
55405         setting of gnus-newsgroup-unseen.
55407 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55409         Use underline on all terminals that support it
55411         * lisp/subr.el (read-multiple-choice): Use
55412         display-supports-face-attributes-p instead of
55413         display-graphic-p to determine whether we can use underlining.
55415 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
55417         Make the nsm query say what it did after the user interaction
55419         * lisp/net/nsm.el (nsm-query): Issue a message about
55420         aborting/accepting messages (suggested by N. Jackson)
55421         (bug#22531).
55423 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55425         Omit XLI (init) == 0 optimization in make-vector
55427         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
55428         == 0) case, as this optimization is probably not worth the hassle.
55429         Just for the record, the test for that case could have been
55430         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
55431         assuming the typical platform with no padding bits and where
55432         conversion to int omits the most significant bits.
55434 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55436         * autogen.sh: Port to dash (Bug#22556).
55438 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
55440         Minor cleanup for Tramp "doas".
55442         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
55444         * etc/NEWS: Add Tramp connection method "doas".
55446         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
55447         Add `tramp-remote-shell-args'.
55449 2016-02-05  Xi Lu  <lx@shellcodes.org>
55451         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
55453         (tramp-default-user-alist): Add rule for "doas".
55454         (top): Completion function for "doas" is
55455         `tramp-completion-function-alist-su'.
55457 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55459         Restore the window configuration
55461         * lisp/net/nsm.el (nsm-query-user): Restore the window
55462         configuration (bug#22532).
55464 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55466         Use an X popup in read-multiple-choice if running from a mouse command
55468         * lisp/subr.el (read-multiple-choice): Use an X popup if
55469         called from a mouse action (bug#19368).
55471 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55473         Display cursor in echo area when prompting
55475         * lisp/subr.el (read-multiple-choice): Display the cursor in
55476         the echo area when prompting (bug#19368).
55478 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55480         Make NSM prompting clearer
55482         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
55483         to prompt in a nicer way (bug#19368).
55485 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55487         Underline read-multiple-choice-face
55489         * lisp/faces.el (read-multiple-choice-face): Also underline
55490         the choice.
55492 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55494         Make url.el use async DNS
55496         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
55498         * src/process.c (syms_of_process): Add a `dns' subfeature for
55499         make-network-process.
55501 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55503         Only do async DNS if requested with :nowait 'dns
55505         * doc/lispref/processes.texi (Network Processes): Mention the
55506         dns value of :nowait.
55508         * src/process.c (Fmake_network_process): Only do async DNS if
55509         :nowait is `dns'.
55511 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55513         Add sanity check for checking async DNS
55515         * src/process.c (check_for_dns): Disregard processes that have
55516         already been killed.
55518 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55520         Make the read-multiple-choice prompt a bit prettier
55522         * doc/lispref/commands.texi (Reading One Event): Mention
55523         read-multiple-choice-face.
55525         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
55526         prettier.
55528 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55530         Prefer memcpy and memset to doing it by hand
55532         * src/alloc.c (Fmake_vector):
55533         * src/ccl.c (setup_ccl_program):
55534         Use memset to clear array.
55535         * src/alloc.c (Fvector, Fmake_byte_code):
55536         * src/charset.c (Fdefine_charset_internal):
55537         Use memcpy to copy array.
55539 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
55541         Do not ignore redirections of 301, 302 and 307 status codes
55543         The current version of HTTP/1.1 (RFC 7231) no longer requires
55544         confirmation on 301, 302 or 307 status codes, therefore we do not have
55545         to ignore redirects for other requests than GET and HEAD.
55547         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
55548         and 307 redirects for other requests than GET and HEAD.
55550 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
55552         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
55554 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55556         Simplify USE_ALIGNED_ALLOC
55558         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
55559         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
55561 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
55563         Honor docstring of gnus-group-get-new-news
55565         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
55566         is t, but non-numeric, unconditionally consider all groups to need
55567         updating.
55569 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
55571         New function read-multiple-choice
55573         * doc/lispref/commands.texi (Reading One Event): Document
55574         read-multiple-choice.
55576         * lisp/faces.el (read-multiple-choice-face): New face.
55578         * lisp/subr.el (read-multiple-choice): New function.
55580 2016-02-03  John Wiegley  <johnw@newartisans.com>
55582         Merge from origin/emacs-25
55584         ee73997 Make erc work better when encountering unknown prefix chars
55585         b99141d Make erc completion case-insensitive again
55586         66c4620 Make complection in erc use consistent casing
55587         8c562b2 Make /QUIT in erc more robust
55588         d93d2c5 Make tracking faces in Emacs work more reliably
55589         af6ab7e Make shr not bug out on images on non-graphical displays
55590         3311f40 Fix bookmark display widths
55591         d90ab1e Fix typo in eww-make-unique-file-name
55592         7f81825 Make it possible to TAB to input fields
55593         a43a1dc Insert complete alt texts when images are disabled
55594         56ed4e1 Allow eww text fields to grow
55595         66b315c Make erc work when subword-mode is switched on
55596         255b68f Fix IMAP doc example
55597         91557f5 Quoting fixes in doc strings and diagnostics
55598         2c0dc9f Fix warning message in hack-local-variables
55599         504696d Etags: yet another improvement in Ruby tags
55600         8784ebf Fix x-popup-menu on TTYs without a mouse
55601         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
55602                 pcase macro
55603         6191003 Use pop-to-buffer-same-window in eww
55604         fe321fd * autogen.sh: Revert all recent changes.
55605         74ebd4a * make-dist: Updates related to nt/.
55606         737193a * make-dist: Add modules/.
55607         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
55608         a4278e2 Fix failure to compile ns-win.el in parallel builds
55609         860da4d Fix names of tags generated for Ruby accessors
55610         f6213ce Fix file-name recognition in 'etags'
55611         e42e662 Change Ruby file names and extensions recognized by 'etags'
55612         58bfb6a More improvements for Ruby support in 'etags'
55613         c04e911 Add --git-config option to autogen.sh
55614         5713466 Fix editing undo changes in eww fields
55615         51362d6 Allow the user more control of popping up the eww window
55616         ee0fbd8 Make eww-browse-url with new-window parameter work again
55617         9c3142d Clean up eww code slightly
55618         cb035f3 Don't insert nil faces in shr
55619         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
55620         93f2153 Improve the custom type of some user options.
55621         9f60d7e Mark some risky calendar variables.
55622         1d07dcd Highlight two additional SCSS keywords
55623         ee8b466 Recommend enabling integrity-checking in git
55624         e639e10 Some corrections in Elisp manual
55625         d766ca8 Chatter when autogen.sh changes Git configuration
55626         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
55627         43cb9f8 Omit unnecessary history from Lisp intro
55628         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
55629         c90e1b4 Improve elisp “Security Considerations” doc
55630         cedd7ca autogen.sh now arranges for git to check hashes
55631         86ce76b ; Fix ChangeLog.2 commit ID.
55632         7b1d2b1 Fix (c & 040) typo in emergency escapes
55633         a8273da Fix display of overlay strings with 'display' and 'box' property
55634         fc48106 Fix imap-starttls-open
55635         cdecbed Fix return value of imap-starttls-open
55636         20c7e34 ; * etc/NEWS: Fix renamed command name
55637         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
55638         b250d29 Spelling fix
55639         b920a0e Spelling fixes
55640         93b144b Pacify GCC on C library without glibc API
55642 2016-02-03  John Wiegley  <johnw@newartisans.com>
55644         Merge from origin/emacs-25
55646         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
55647                 priority of non-free Chrome.
55648         0fac75f Improve the custom type of some user options.
55649         2df0e04 Highlight CSS variables with variable name face
55650         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
55651                 user-serviceable.
55652         2a5233c Mark some user options that can get evalled as risky.
55653         39b166f Disable DebPrint in sys_read on MS-Windows
55654         9fd0189 ;Fix ChangeLog entry
55655         4bb7233 Fix typos in Introduction to Emacs Lisp manual
55657 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
55659         Add a new command to switch between erc buffers
55661         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
55662         * etc/NEWS: Mention new command
55663         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
55664         (eww-mode-map): Add menu item
55665         (eww-switch-to-buffer): New command
55667 2016-02-03  David Edmondson  <dme@dme.org>
55669         Make erc work better when encountering unknown prefix chars
55671         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
55672         instead of erroring out on unknown prefix chars (bug#22380).
55674 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
55676         Allow sending empty hidden values in eww
55678         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
55679         values (bug#22388).
55681 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
55683         Remove packages obsoleted before Emacs 24.
55685         In accordance with the policy discussed in the emacs-devel list,
55686         packages that have been obsoleted for a full major release cycle are up
55687         for deletion.
55689         This removes almost all packages that are now eligible for deletion,
55690         with the exception of "cl-compat", which seems it is likely to still be
55691         used, and "optional", which offers some functionality that doesn't have
55692         a replacement yet.
55694 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55696         Mention context when resume from emergency escape
55698         That way, if the user has been doing something else for a while,
55699         they are reminded of the situation when restarting Emacs,
55700         and are more likely to understand the two questions.
55701         * doc/emacs/trouble.texi (Emergency Escape): Document this.
55702         * src/keyboard.c (handle_interrupt): Implement this.
55704 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55706         Port aligned_alloc decl to Cygwin.
55708         Problem reported by Ken Brown (Bug#22522#38).
55709         * configure.ac (aligned_alloc): Check for decl too.
55710         * src/lisp.h (aligned_alloc): Declare if not already declared.
55712 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55714         autogen.sh now configures git only on request
55716         * autogen.sh (do_autoconf, do_git): New vars.
55717         Support new arguments --help, all, autoconf, git.
55718         By default, just do autoconf-related configuration, not git.
55719         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
55720         If GNU cp is available, use it to backup .git/config before
55721         changing it.  When configuring git, chatter about what is being
55722         done, and configure git to check hashes.  Avoid some duplicate
55723         file name specification when creating git hooks.
55725         * GNUmakefile (ALL_IF_GIT): New macro.
55726         (configure): Use it.
55727         * INSTALL.REPO: Suggest './autogen.sh all'.
55729 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
55731         Doc fixes and refactorings based on comments from Eli Zaretskii
55733         * doc/lispref/processes.texi (Network Processes): Clarify the
55734         meaning of :tls-parameters.
55736         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
55738         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
55739         own function.
55740         (gnutls-negotiate): Use it.
55741         (open-gnutls-stream): Ditto.
55743         * src/eval.c (vformat_string): Refactor out the printing bits
55744         from verror.
55745         (verror): Use it.
55747         * src/gnutls.c (boot_error): Mark failed processes with the
55748         real error message.
55750         * src/lisp.h: Declare vformat_string.
55752 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55754         Build with C11 if available
55756         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
55757         * m4/std-gnu11.m4: New file, from gnulib.
55758         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
55760 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55762         Update gnulib copy
55764         * doc/misc/texinfo.tex: Copy from gnulib.
55766 2016-02-02  Glenn Morris  <rgm@gnu.org>
55768         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
55769         Doc tweaks.
55771 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55773         Port better to platforms lacking aligned_alloc
55775         Problem reported by Ken Brown (Bug#22522).
55776         * src/lisp.h (hybrid_aligned_alloc)
55777         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
55779 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55781         Port malloc.h hygiene fix to LTO
55783         * src/alloc.c (__malloc_initialize_hook):
55784         Make it externally visible (Bug#22522).
55786 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
55788         Build fix for --enable-check-lisp-object-type
55790         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
55791         Mitsuharu.
55793 2016-02-01  Glenn Morris  <rgm@gnu.org>
55795         Make find-change-log prefer a VCS root, if no ChangeLog exists.
55797         * lisp/vc/add-log.el (change-log-directory-files): New option.
55798         (find-change-log): Respect change-log-directory-files.
55799         * doc/emacs/maintaining.texi (Change Log Commands):
55800         Mention change-log-directory-files.
55802 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
55804         Boot parameter check fix
55806         * src/process.c (send_process): Fix test for boot parameters noted
55807         by Andy Moreton.
55809 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
55811         Double static heap size.
55813         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
55814         small on FreeBSD (Bug#22086).
55816 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
55818         Fix Bug#20821
55820         * lisp/net/tramp.el (tramp-file-name-handler):
55821         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
55822         Use `tramp-drop-volume-letter'.  (Bug#20821)
55824 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55826         Style fix
55828 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55830         Return the correct server port number
55832         * src/process.c (connect_network_socket): Return the correct
55833         server port number.
55835 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55837         Fix autoconf test for getaddrinfo_a
55839         * configure.ac: Make the test for getaddrinfo_a work.
55841 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55843         Better async error reporting
55845         * src/process.c (connect_network_socket): Mark failed processes
55846         with a better error message.
55847         (check_for_dns): Ditto.
55849 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55851         Clarify :tls-parameters.
55853 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55855         Always boot TLS if given parameters
55857         * src/process.c (connect_network_socket): If we have the TLS
55858         parameters, then boot the socket.
55860 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55862         Add documentation for :tls-parameters
55864         * doc/lispref/processes.texi (Network Processes): Mention
55865         :tls-parameters.
55867         * src/process.c (Fmake_network_process): Document the
55868         :tls-parameters parameter.
55870 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55872         Build fix for glibc systems.
55874 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55876         Make network connections work again on non-glibc systems
55878         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
55879         keywords in directly so that they can be used when doing
55880         synchronous DNS on non-synchronous connections.
55882         * lisp/net/network-stream.el (open-network-stream): Allow
55883         passing in the TLS parameters directly.
55885         * src/process.c (conv_numerical_to_lisp): New function to convert
55886         numerical addresses to Lisp.
55887         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
55888         paths so that they work again.
55889         (syms_of_process): Build fix for non-glibc systems.
55891 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55893         Windows build fix
55895         * src/process.c (Fmake_network_process): Build fix for systems
55896         without local sockets.
55898 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55900         Use XCAR/XCDR instead of Fcar etc
55902 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55904         Fix GC problem in async TLS connection
55906         * src/process.h: All Lisp_Object slots have to come first,
55907         otherwise they won't be protected from gc.
55909 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55911         Further TLS async work
55913         * src/gnutls.c (boot_error): New function to either signal an
55914         error or return an error code.
55915         (Fgnutls_boot): Don't signal errors when running asynchronously.
55917         * src/process.h (pset_status): Move here from process.c to be
55918         able to use from gnutls.c.
55920         * src/process.c (connect_network_socket): Do the TLS boot here
55921         when running asynchronously.
55922         (wait_reading_process_output): Rework the dns_processes
55923         handling for more safety.
55925 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
55927         Clean up dead code
55929         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
55931 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
55933         Add ability to give rcirc servers an alias name
55935         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
55936         customization option.
55937         (rcirc, rcirc-connect): Take server alias into account.
55939 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
55941         Port new hybrid malloc to FreeBSD
55943         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
55944         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
55945         (__morecore) [HYBRID_MALLOC]: Define in this case too.
55947 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
55949         * configure.ac: Stop using mmap for buffers for FreeBSD.
55951 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
55953         Merge changes from Tramp repository
55955         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
55956         No EXTRA_OPTS needed.
55958         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
55959         branch, especially for @trampfn{}.
55960         (Top): Move @ifnottex down.
55961         (History): XEmacs support has been removed.
55962         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
55963         (Auto-save and Backup): Use both syntax versions.
55964         (File name Syntax): Remark on IPv6 adresses is valid for
55965         unified syntax only.
55967         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
55969 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
55971         Spelling fixes
55973 2016-01-30  Glenn Morris  <rgm@gnu.org>
55975         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
55977 2016-01-30  Matthew Carter  <m@ahungry.com>
55979         Quote table names for postgres listings (sql-mode)
55981         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
55982           unquoted table names to the completion list.
55984 2016-01-30  Glenn Morris  <rgm@gnu.org>
55986         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
55988         * lisp/vc/smerge-mode.el (smerge-diff-switches)
55989         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
55990         (smerge-upper, smerge-upper-face, smerge-keep-upper)
55991         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
55992         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
55993         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
55994         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
55995         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
55996         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
55997         Update all uses.
55998         (smerge-basic-map): Add "l" and "u" bindings.
55999         (smerge-mode-menu): Update menu bindings for renaming.
56000         (smerge-font-lock-keywords): Update face names.
56001         (smerge-match-names): Update names.
56002         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
56003         (smerge-match-conflict, smerge-ediff): Rename local variables.
56004         (smerge-makeup-conflict): Relabel markers.
56005         (smerge-parsep-re): Use renamed variables.
56007 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56009         Port recent my_edata change to MS-Windows
56011         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
56013 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56015         Rework the mechanisms for async GnuTLS connections
56017         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
56018         gnutls-boot parameters and pass them to the process object.
56019         (gnutls-negotiate): New parameter :return-keywords that won't
56020         connect to anything, just compute the keywords.
56022         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
56023         hack, which is no longer necessary.
56025         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
56026         gnutls-mark-process.
56028         * src/process.c (connect_network_socket): If we're connecting to
56029         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
56031         * src/process.h: New parameter gnutls_async_parameters.
56033 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56035         Fix segfault from double free
56037         * src/process.c (check_for_dns): Protect against double free
56038         issues.
56040 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56042         Remove debugging
56044 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56046         Implement asynchronous GnuTLS connections
56048         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
56049         the nowait parameter.
56051         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
56052         connections with the new nowait parameter.
56054         * lisp/net/network-stream.el (network-stream-open-tls): Pass
56055         on :nowait to open-gnutls-stream.
56057         * lisp/url/url-http.el (url-http): Don't overwrite the
56058         sentinel created by open-gnutls-stream.
56060         * src/gnutls.c (Fgnutls_mark_process): New function.
56062         * src/process.c (send_process): Don't write to GnuTLS sockets that
56063         haven't been initialized yed.
56065         * src/process.h: New slot gnutls_wait_p.
56067 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56069         Tell Automake the new lib/Makefile.am is OK
56071         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
56073 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56075         Make it easy to override preferred-branch test
56077         * Makefile.in (preferred-branch-is-current):
56078         Rename from emacs-25-branch-is-current.  All uses changed.
56079         (PREFERRED_BRANCH): New macro.
56081 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56083         Shrink static heap a bit
56085         * src/sheap.h: Include lisp.h, for Lisp_Object.
56086         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
56087         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
56088         conservative than the old value.
56089         (Bug#22086)
56091 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56093         Fix extern symbols defined and not used
56095         * src/alloc.c: Always include <signal.h>.
56096         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
56097         Do not define; unused.
56098         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
56099         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
56100         to avoid collision with glibc.  Now static.  All uses changed.
56101         * src/lastfile.c (my_edata): Define only if
56102         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
56103         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
56104         (Bug#22086)
56106 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56108         Build lib/e-*.o only on platforms that need it
56110         * configure.ac (hybrid malloc): Simplify configuration.
56111         (SHEAP_OBJ): Remove; no longer needed.
56112         (HYBRID_MALLOC): New var. Subst it.
56113         (HYBRID_MALLOC_LIB): New Automake conditional.
56114         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
56115         HYBRID_MALLOC_LIB.
56116         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
56117         (MOSTLYCLEANFILES): Add libegnu.a.
56118         * src/Makefile.in (SHEAP_OBJ): Remove.
56119         (HYBRID_MALLOC): New macro.
56120         (base_obj): Use it to conditionally add sheap.o.
56121         (LIBEGNU_ARCHIVE): New macro.
56122         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
56123         All uses of the latter replaced by the former.
56124         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
56125         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
56126         * src/gmalloc.c: Update comment.
56127         * src/lisp.h (aligned_alloc)
56128         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
56129         New decl.
56130         (Bug#22086)
56132 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56134         Include <malloc.h> when advisable
56136         This should help insulate us better from future glibc changes.
56137         It is good hygiene to include .h files for APIs that Emacs uses.
56138         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
56139         * configure.ac: Check for malloc.h.
56140         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
56141         not on DOUG_LEA_MALLOC.
56142         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
56143         Remove decl (now in lisp.h).
56144         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
56145         [emacs]: Include lisp.h.
56146         [HAVE_MALLOC_H]: Include <malloc.h>.
56147         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
56148         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
56149         (__default_morecore):
56150         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
56151         (calloc): Make it clear that the macro should not be used.
56152         Remove unused decl.
56153         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
56154         (__morecore, __default_morecore, __after_morecore_hook)
56155         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
56156         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
56157         Remove later decls.
56158         (gmalloc_hook, gfree_hook, grealloc_hook):
56159         Rename from __malloc_hook, __free_hook, __realloc_hook to
56160         avoid type collision with glibc <malloc.h>.  All uses changed.
56161         (gmalloc_hook):
56162         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
56163         Now static.
56164         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
56165         (__malloc_initialize_hook, __after_morecore_hook):
56166         Declare with types compatible with glibc.
56167         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
56168         Remove.  All uses removed.
56169         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
56170         * src/ralloc.c, src/vm-limit.c:
56171         Simplify includes and include <malloc.h> if available.
56173 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56175         * src/alloc.c: Include "sheap.h".
56177         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
56178         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
56179         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
56180         Declare unconditionally.
56181         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
56182         (unexec): Don’t set or clear bss_sbrk_did_unexec;
56183         the caller now does this.
56184         (Bug#22086)
56186 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56188         Pacify --enable-gcc-warnings when HYBRID_MALLOC
56190         * src/buffer.c (init_buffer):
56191         * src/emacs.c (main):
56192         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
56193         Use emacs_get_current_dir_name, not get_current_dir_name.
56194         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
56195         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
56196         * src/emacs.c: Include "sheap.h".
56197         (report_sheap_usage): Remove decl.
56198         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
56199         Don't assume ptrdiff_t can be printed as int.
56200         * src/gmalloc.c [HYBRID_MALLOC]:
56201         Include "sheap.h" rather than declaring its contents by hand.
56202         (get_current_dir_name, gget_current_dir_name)
56203         (hybrid_get_current_dir_name): Remove.
56204         (emacs_abort): Remove duplicate decl.
56205         (aligned_alloc): Undef, like malloc etc.
56206         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
56207         Make it a bit more efficient.
56208         (malloc_find_object_address): Remove unused decl.
56209         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
56210         (mstats, memory_warnings): Declare only if GC_MCHECK.
56211         * src/lisp.h (emacs_get_current_dir_name):
56212         New decl, replacing get_current_dir_name.
56213         * src/sheap.c: Include sheap.h first.
56214         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
56215         (debug_sheap): Now static.
56216         (bss_sbrk_buffer_end): Remove; no longer used.
56217         (bss_sbrk_ptr): Now static and private.
56218         (bss_sbrk_did_unexec): Now bool.
56219         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
56220         (bss_sbrk): Don't treat request_size 0 as special, since the code
56221         works without this being a special case.
56222         Avoid overflow if request size exceeds INT_MAX.
56223         (report_sheap_usage): Remove; now done in emacs.c.
56224         * src/sheap.h: New file.
56225         * src/sysdep.c (get_current_dir_name): Remove macro.
56226         Include "sheap.h".
56227         (emacs_get_current_dir_name): Rename function from
56228         get_current_dir_name.  Handle HYBRID_MALLOC here;
56229         this is simpler.
56230         (Bug#22086)
56232 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56234         Report static heap usage on non-Cygwin, too
56236         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
56237         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
56238         on platforms other than Cygwin (Bug#22086).
56240 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56242         Pacify GCC on extern decls
56244         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
56245         to pacify recent GCC (Bug#22086).
56247 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56249         Add musl patch to support HYBRID_MALLOC on elf systems
56251         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
56252         (__default_morecore): Here, in particular.
56253         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
56254         New variable SHEAP_OBJ.
56255         * src/Makefile.in: Use it.
56256         (Bug#22086)
56258 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
56260         unexelf.c hook to support HYBRID_MALLOC on ELF
56262         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
56263         Define bss_sbrk_did_unexec (Bug#22086).
56265 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56267         Link temacs with gnulib compiled with -Demacs
56269         This is done to support HYBRID_MALLOC, since some static variables
56270         (e.g., last_environ in putenv.c) hold pointers to memory malloced
56271         before dumping (Bug#22086).
56272         * lib/Makefile.am: Add incantation to install libegnu.a.
56273         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
56274         (temacs$(EXEEXT)): Use it.
56276 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
56278         Internal linkage for gmalloc etc. if HYBRID_MALLOC
56280         This avoids clashes with symbols if the after-dump malloc is
56281         derived from Doug Lea's implementation (Bug#22086).
56283         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
56284         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
56285         declarations below to `static' ones.
56286         (aligned_alloc): Declare for !MSDOS as well.
56287         (heapsize, _fraghead): Move resp. copy declaration downwards.
56288         For HYBRID_MALLOC, conditionalize out the other definitions,
56289         since the previous `static' declarations double as tentative
56290         definitions, anyway.
56291         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
56292         (__realloc_hook, __memalign_hook): Conditionalize out.
56293         (cfree, memalign, valloc): Ditto.
56295 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56297         -
56299         -
56301         -
56303 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56305         Merge from origin/emacs-25
56307         3f481ad Rename xref-query-replace to xref-query-replace-in-results
56308         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
56309         2111e0e Comment out next-error-function integration in xref
56310         4e11ad3 Correct a use of "which" in intro.texi
56311         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
56312         76045f7 Don't operate on menu bar of nonexistent frame
56313         c32f3bc Unbreak the GNUstep build.
56315 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
56317         -
56319         -
56321 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
56323         Re-enable checks in member, memql, delete to complain about non-lists
56325         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
56327 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56329         Clean up compilation warnings
56331 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
56333         Make async resolution more efficient
56335         * src/process.c (wait_reading_process_output): Use a list of
56336         process objects instead of looping through an array to check
56337         for name resolution.  This should be much faster.
56339 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56341         More async memory leaks
56343         * src/process.c (check_for_dns): Free even more allocated async stuff.
56345 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56347         Compilation for for systems with getaddrinfo_a
56349         * src/process.c (Fmake_network_process): Make stuff work again on
56350         systems with getaddrinfo_a.
56352 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56354         Save correct server data
56356         * src/process.c (connect_network_socket): Save the correct contact
56357         info for servers.
56359 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56361         Compilation for for non-GNU systems
56363         * src/process.c (Fmake_network_process): Make compilation work
56364         again on hosts that don't have getaddrinfo_a.
56366 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56368         Avoid memory leaks in async DNS
56370         * src/process.c (check_for_dns): Free async DNS resources after
56371         they've been used.
56373 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56375         * src/process.c (check_for_dns): Free the result data.
56377 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56379         Fix server connections
56381         * src/process.c (Fmake_network_process): Make creating server
56382         listening ports work again.
56384 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56386         Further make_network_process clean up
56388         * src/process.c (Fmake_network_process): Remove setting of unused
56389         family variable.
56391 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56393         Clean up GETADDRINFO usage in make-network-process
56395         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
56396         handling.
56398 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
56400         Implement asynchronous name resolution
56402         * src/process.c (Fmake_network_process): Do asynchronous DNS
56403         lookups if we have getaddrinfo_a and the user requests :nowait.
56404         (check_for_dns): New function.
56405         (wait_reading_process_output): Check for pending name
56406         resolution in the idle loop.
56408         * src/process.h: Add structure for async DNS.
56410 2016-01-28  Glenn Morris  <rgm@gnu.org>
56412         Remove some useless-use-of eval.
56414         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
56415         * lisp/gnus/nnrss.el (xml): Simply require it.
56416         (xml-rpc-method-call): Use declare-function.
56418 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56420         Fix memory leak
56422         * src/process.c (connect_network_socket): Free previous sockaddr
56423         before allocating a new one.
56425 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56427         Return IP addresses in the correct order
56429         * src/process.c (Fmake_network_process): Return the IP addresses
56430         in the same order as getaddrinfo does.
56431         (set_network_socket_coding_system): Clean up the code slightly.
56433 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56435         Add checks for getaddrinfo_a
56437         * configure.ac: Detect getaddrinfo_a.
56439 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
56441         Refactor make_network_process
56443         * src/process.c (set_network_socket_coding_system)
56444         (connect_network_socket): Refactor out of
56445         make_network_process to allow calling connect_network_socket
56446         asynchronously.
56447         (Fmake_network_process): Do nothing but parsing the parameters
56448         and name resolution, leaving the connection to
56449         connect_network_socket.
56451 2016-01-28  Glenn Morris  <rgm@gnu.org>
56453         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
56454         Warn if defcustom has no type.  (Bug#16276)
56456 2016-01-27  Glenn Morris  <rgm@gnu.org>
56458         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
56460 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56462         (rng-c-fix-escaped-newlines): Use subst-char-in-string
56464         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
56465         Use subst-char-in-string.
56467 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56469         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
56471         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
56472         (sgml-calculate-indent): Use it.
56474 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56476         * lisp/org: Fix some compiler warnings
56478         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
56479         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
56480         (*this*): Declare as dyn-bound.
56481         (org-babel-expand-src-block, org-babel-load-in-session)
56482         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
56483         Mark unused args.
56484         (org-babel-combine-header-arg-lists): Remove unused var `args'.
56485         (org-babel-find-named-block): Remove unused var `msg'.
56487         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
56488         Declare as dyn-bound.
56489         (org-edit-src-code): Remove unused var `lfmt'.
56490         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
56492 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
56494         * lisp/font-lock.el: Use #' to quote function symbols
56496 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
56498         Improve user name completion in Tramp
56500         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
56501         Call also "getent passwd" or "getent group", if possible.
56502         (tramp-parse-putty): Cache the result.
56504 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
56506         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
56508 2016-01-20  Glenn Morris  <rgm@gnu.org>
56510         Remove handling of non-string time-stamp formats, obsolete for 20 years.
56512         * lisp/time-stamp.el (time-stamp-format): Doc fix.
56513         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
56514         (time-stamp-string): Ignore non-string formats.
56516 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
56518         Anoter fix for problematic merge from emacs-25
56520         * src/w32fns.c (globals_of_w32fns): Move initialization of
56521         resetstkoflw to a non-Cygwin part.
56523 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
56525         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
56527 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
56529         Fix MS-Windows build broken by a botched merge from emacs-25
56531         * src/w32.c (w32_crypto_hprov): New static variable.
56532         (globals_of_w32): Initialize w32_crypto_hprov.
56533         (w32_init_crypt_random, w32_init_random): New functions.
56534         Include wincrypt.h.
56535         * src/w32.h (w32_init_random): Add prototype.
56537 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
56539         Correct a whole bunch of bugs coming with renamed cell relocation.
56541         * lisp/ses.el (ses-localvars): rename variable
56542         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
56543         and adjust the comment about it.
56544         (ses-plist-delq): new defun.
56545         (ses--ses-buffer-list): new defvar.
56546         (ses--unbind-cell-name): new defun.
56547         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
56548         (ses-relocate-formula): Undo change of
56549         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
56550         preventing relocation for named cell --- now doing this is delegated
56551         to function `ses-relocate-symbol'.
56552         (ses-relocate-range): In docstring, undo change of
56553         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
56554         lower case as it is not a variable.
56555         (ses-relocate-all): Cell name relocation : 1) check that cell is a
56556         renamed cell by testing `ses-cell' property to :ses-named, rather than
56557         comparing name to corresponding standard name. Set rowcol of renamed
56558         cell into the hashmap --- `ses-cell' property must not be used for
56559         that as the same name can be used for different locations in different
56560         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
56561         `local-variable-p' to check if cell name is already in use in this
56562         sheet or needs initialization.
56563         (ses-relocate-all): Cell value relocation : 1) like for name
56564         relocation use the `ses-cell' property rather than comparing actual
56565         name to corresponding standard name. 2) Correct bug introduced in
56566         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
56567         made the other way round than the intention --- ie value relocation
56568         was disabled for standard cell, not for renamed cell as was the
56569         intention.
56570         (ses-relocate-all): Add loop for unbinding deleted renamed cells
56571         names.
56572         (ses-killbuffer-hook): new defun.
56573         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
56574         kill buffer hook, plus pushing current buffer if new in list.
56575         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
56576         into `ses--in-killing-named-cell-list'.
56577         (ses-rename-cell): Remove update of variable
56578         `ses--renamed-cell-symb-list', this variable is renamed to
56579         `ses--in-killing-named-cell-list', and its setting is done in
56580         functions `ses-delete-row' and , `ses-delete-column' now.
56581         (ses-rename-cell): Change correction of
56582         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
56583         computation of the range over which `cursor-intangible' property was
56584         to be updated. This correction was ok for non spilling cells, but not
56585         for cells spilling over following blank cells. Simply use
56586         `next-single-property-change' rather than computing the end column
56587         from column widths.
56589 2016-01-18  John Wiegley  <johnw@newartisans.com>
56591         -
56593 2016-01-18  John Wiegley  <johnw@newartisans.com>
56595         Merge from origin/emacs-25
56597         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
56598         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
56599         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
56600         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
56601         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
56602         86e4513 Fix incompatbilities with MS-Windows 2000 and older
56603         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
56604         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
56605         39afa42 Fix tests for active region in hideif.el
56606         05df666 Fix interactive specs in some hideif.el commands
56608 2016-01-18  John Wiegley  <johnw@newartisans.com>
56610         -
56612 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56614         Avoid stdio in SIGINT handler
56616         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
56617         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
56618         * lib/ignore-value.h: New file, from gnulib.
56619         * src/keyboard.c: Include it.
56620         (write_stdout, read_stdin): New functions.
56621         (handle_interrupt): Use them instead of printf and getchar,
56622         and avoid fflush when handling signals.
56624 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
56626         Refactor mml-smime.el, mml1991.el, mml2015.el
56628         (Maybe this is the last merge from Gnus git to Emacs git)
56630         Cf. discussion on ding mailing list, messages in
56631         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
56632         Common code from the three files mml-smime.el, mml1991.el, and
56633         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
56634         to gnus-util.el.
56636         The code is supported by test cases with necessary test keys.
56638         Documentation in message.texi is updated.
56640         * doc/misc/message.texi (Security, Using S/MIME):
56641         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
56642         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
56643         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
56645         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
56646         New functions.
56648         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
56649         (epa--select-keys): Autoload.
56650         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
56651         (mml-secure-openpgp-signers): New user option;
56652         make mml1991-signers and mml2015-signers obsolete aliases to it.
56653         (mml-secure-smime-signers): New user option;
56654         make mml-smime-signers an obsolete alias to it.
56655         (mml-secure-openpgp-encrypt-to-self): New user option;
56656         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
56657         aliases to it.
56658         (mml-secure-smime-encrypt-to-self): New user option;
56659         make mml-smime-encrypt-to-self an obsolete alias to it.
56660         (mml-secure-openpgp-sign-with-sender): New user option;
56661         make mml2015-sign-with-sender an obsolete alias to it.
56662         (mml-secure-smime-sign-with-sender): New user option;
56663         make mml-smime-sign-with-sender an obsolete alias to it.
56664         (mml-secure-openpgp-always-trust): New user option;
56665         make mml2015-always-trust an obsolete alias to it.
56666         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
56667         New user options.
56668         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
56669         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
56670         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
56671         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
56672         (mml-secure-passphrase-callback, mml-secure-check-user-id)
56673         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
56674         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
56675         (mml-secure-fingerprint, mml-secure-filter-keys)
56676         (mml-secure-normalize-cust-name, mml-secure-select-keys)
56677         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
56678         (mml-secure-self-recipients, mml-secure-recipients)
56679         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
56681         * lisp/gnus/mml-smime.el: Require epg;
56682         refactor declaration and autoloading of epg functions.
56683         (mml-smime-use): Doc fix.
56684         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
56685         Obsolete.
56686         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
56687         Use format instead of gnus-format-message.
56688         (mml-smime-epg-secret-key-id-list): Remove variable.
56689         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
56690         (mml-smime-epg-find-usable-secret-key): Remove functions.
56691         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
56693         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
56694         (mml1991-passphrase-cache-expiry): Obsolete.
56695         (mml1991-epg-secret-key-id-list): Remove variable.
56696         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
56697         (mml1991-epg-find-usable-secret-key): Remove functions.
56698         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
56700         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
56701         (mml2015-passphrase-cache-expiry): Obsolete.
56702         (mml2015-epg-secret-key-id-list): Remove variable.
56703         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
56704         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
56705         (mml2015-epg-find-usable-secret-key): Remove functions.
56706         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
56707         (mml2015-epg-encrypt): Refactor.
56709 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56711         Merge from gnulib
56713         This mostly just updates copyright dates of gnulib files.
56714         It also updates to the latest version of texinfo.tex.
56716 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
56718         Move variables to inner loop, preparing for Mac port merge
56720         * src/keyboard.c (command_loop_1): Move variables `cmd',
56721         `keybuf', and `i' to inner loop.
56723 2016-01-17  Bill Wohler  <wohler@newt.com>
56725         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
56727 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56729         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
56731         (syntax-ppss):
56732         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
56734 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56736         lisp/nxml: Use syntax-tables for comments
56738         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
56739         (nxml-mode): Set syntax-ppss-table.
56740         Use sgml-syntax-propertize-function for syntax-propertize-function.
56741         Let font-lock highlight strings and comments.
56742         (nxml-degrade): Don't touch "nxml-inside" property any more.
56743         (nxml-after-change, nxml-after-change1): Remove functions.
56744         (comment): Don't set fontify rule any more.
56745         (nxml-fontify-attribute): Don't highlight the value any more.
56746         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
56747         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
56749         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
56750         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
56751         (nxml-clear-inside, nxml-set-inside): Remove.
56752         (nxml-scan-after-change): Remove function.
56753         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
56754         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
56755         (nxml-move-outside-backwards):
56756         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
56757         nxml-inside-start behavior.
56759         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
56760         (nxml-debug-clear-inside): Remove macros.
56762         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
56763         (xmltok-scan-after-comment-open): Simplify.
56765 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56767         * lisp/progmodes/elisp-mode.el
56768         (elisp--font-lock-flush-elisp-buffers): Fix comment
56770 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56772         * lisp/nxml: Use standard completion; it also works for company-mode
56774         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
56775         (nxml-completion-at-point-function): Remove.
56776         (nxml-mode): Don't set completion-at-point-functions.
56777         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
56778         (rng-completion-at-point): Rename from rng-complete and mark it
56779         non-interactive.  It is now to be used as completion-at-point-function.
56780         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
56781         (rng-complete-attribute-value): Don't perform completion, but return
56782         completion data instead.
56783         (rng-complete-qname-function, rng-generate-qname-list): Add a few
56784         arguments, previously passed via dynamic coping.
56785         (rng-strings-to-completion-table): Rename from
56786         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
56787         sorting and uniquifying.
56789         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
56790         (rng-completion-exact-p, rng-quote-string): Delete functions.
56792         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
56793         (rng-missing-attributes-message, rng-missing-element-message)
56794         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
56795         calling rng-quote-string everywhere.
56797 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
56799         Use sgml-electric-tag-pair-mode also in nxml-mode
56801         * lisp/nxml/rng-nxml.el: Require sgml-mode.
56802         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
56803         (rng-complete-qname-function): Use complete-with-action.
56805         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
56806         Let-bind forward-sexp-function, since nxml-mode binds it to
56807         something incompatible.
56809         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
56811 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
56813         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
56814         opener.
56816         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
56817         marker on the "sole --" rather than on the comment opener.
56819 2016-01-15  Sam Steingold  <sds@gnu.org>
56821         replace `tramp-compat-split-string' (removed) with `split-string'
56823         (python-shell-tramp-refresh-process-environment)
56824         (python-shell-calculate-pythonpath): use `split-string'
56825         instead of defunct `tramp-compat-split-string'
56827 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
56829         Update nXML to use Emacs's Unicode support, and lexical-binding
56831         * etc/nxml/*.el: Remove obsolete char-name files.
56832         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
56833         var `next'.
56834         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
56835         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
56836         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
56837         (nxml-target-section-pos, nxml-depth-in-target-section)
56838         (nxml-outline-state-transform-alist)
56839         (nxml-outline-display-section-tag-function): Move decl before first use.
56840         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
56841         (nxml-char-name-alist, nxml-char-name-table)
56842         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
56843         (nxml-enable-char-name-set, nxml-disable-char-name-set)
56844         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
56845         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
56846         (nxml-insert-named-char): Use read-char-by-name instead.
56847         (nxml-char-ref-display-extra): Use get-char-code-property.
56848         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
56849         Remove function.
56850         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
56852 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
56854         Add "sg" method to Tramp
56856         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
56857         (Customizing Completion): Add function `tramp-parse-etc-group'.
56859         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
56860         (tramp-completion-function-alist-sg): New defconst.
56861         (top): Completion function for "sg" is
56862         `tramp-completion-function-alist-sg'.
56864         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
56865         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
56867 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
56869         Remove XEmacs compatibility in Tramp
56871         * doc/misc/tramp.texi: Replace flags by their hard coded name.
56872         Remove unused flags and the enclosed alternative text for XEmacs.
56874         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
56875         and "xemacs" flags to "unified" and "separate".  Remove flags
56876         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
56877         "emacsothername", "emacsotherdir" and "emacsotherfilename".
56878         (trampver):
56879         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
56881         * lisp/net/tramp.el (bkup-backup-directory-info)
56882         (directory-sep-char, ls-lisp-use-insert-directory-program)
56883         (outline-regexp, tramp-backup-directory-alist)
56884         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
56885         (tramp-file-name-regexp-unified)
56886         (tramp-file-name-regexp-separate)
56887         (tramp-completion-file-name-regexp-unified)
56888         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
56889         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
56890         (tramp-debug-message, tramp-progress-reporter-update)
56891         (with-tramp-progress-reporter)
56892         (tramp-rfn-eshadow-setup-minibuffer)
56893         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
56894         (tramp-rfn-eshadow-update-overlay)
56895         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
56896         (tramp-file-name-for-operation)
56897         (tramp-completion-file-name-handler)
56898         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
56899         (tramp-handle-directory-files)
56900         (tramp-handle-directory-files-and-attributes)
56901         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
56902         (tramp-handle-insert-file-contents, tramp-handle-load)
56903         (tramp-handle-shell-command)
56904         (tramp-handle-verify-visited-file-modtime)
56905         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
56906         (tramp-check-for-regexp, tramp-wait-for-regexp)
56907         (tramp-send-string, tramp-mode-string-to-int)
56908         (tramp-get-local-gid, tramp-check-cached-permissions)
56909         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
56910         (auto-save-file-name-transforms)
56911         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
56912         (tramp-clear-passwd, tramp-time-diff):
56913         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
56914         (directory-sep-char, tramp-adb-file-name-handler-alist)
56915         (tramp-adb-parse-device-names)
56916         (tramp-adb-handle-expand-file-name)
56917         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
56918         (tramp-adb-handle-file-local-copy)
56919         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
56920         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
56921         (tramp-adb-handle-shell-command)
56922         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
56923         (tramp-adb-maybe-open-connection):
56924         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
56925         (tramp-cache-print):
56926         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
56927         (tramp-bug, tramp-reporter-dump-variable)
56928         (tramp-load-report-modules, tramp-append-tramp-buffers):
56929         * lisp/net/tramp-compat.el (tramp-compat-funcall)
56930         (tramp-advice-file-expand-wildcards)
56931         (tramp-compat-temporary-file-directory)
56932         (tramp-compat-make-temp-file, tramp-compat-copy-file)
56933         (tramp-compat-delete-directory, )
56934         (tramp-compat-process-running-p):
56935         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
56936         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
56937         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
56938         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
56939         (tramp-gvfs-handle-file-local-copy)
56940         (tramp-gvfs-handle-file-name-all-completions)
56941         (tramp-gvfs-handle-file-notify-add-watch)
56942         (tramp-gvfs-monitor-file-process-filter)
56943         (tramp-gvfs-handle-file-readable-p)
56944         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
56945         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
56946         (tramp-gvfs-maybe-open-connection)
56947         (tramp-gvfs-parse-device-names):
56948         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
56949         (tramp-gw-open-connection, tramp-gw-open-network-stream):
56950         * lisp/net/tramp-sh.el (directory-sep-char)
56951         (tramp-sh-file-name-handler-alist)
56952         (tramp-sh-handle-file-truename)
56953         (tramp-sh-handle-set-visited-file-modtime)
56954         (tramp-sh-handle-verify-visited-file-modtime)
56955         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
56956         (tramp-sh-handle-file-acl)
56957         (tramp-sh-handle-file-name-all-completions)
56958         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
56959         (tramp-do-copy-or-rename-file-directly)
56960         (tramp-do-copy-or-rename-file-out-of-band)
56961         (dired-compress-file-suffixes, dired-remove-file)
56962         (tramp-sh-handle-dired-compress-file)
56963         (tramp-sh-handle-insert-directory)
56964         (tramp-sh-handle-expand-file-name)
56965         (tramp-sh-handle-start-file-process)
56966         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
56967         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
56968         (tramp-sh-handle-file-notify-add-watch)
56969         (tramp-sh-gvfs-monitor-dir-process-filter)
56970         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
56971         (tramp-find-executable)
56972         (tramp-open-connection-setup-interactive-shell)
56973         (tramp-find-inline-encoding, tramp-compute-multi-hops)
56974         (tramp-maybe-open-connection, tramp-convert-file-attributes)
56975         (tramp-get-remote-path, tramp-get-remote-touch):
56976         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
56977         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
56978         (tramp-smb-handle-delete-directory)
56979         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
56980         (tramp-smb-handle-make-directory-internal)
56981         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
56982         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
56983         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
56984         (tramp-smb-get-cifs-capabilities)
56985         (tramp-smb-maybe-open-connection):
56986         * lisp/net/trampver.el (tramp-repository-get-version):
56987         Remove XEmacs compat code.
56989         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
56990         (reporter-dump-variable): Declare functions.
56992         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
56993         (tramp-advice-minibuffer-electric-separator)
56994         (tramp-advice-minibuffer-electric-tilde)
56995         (tramp-handle-unhandled-file-name-directory):
56996         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
56997         (tramp-compat-font-lock-add-keywords)
56998         (tramp-compat-load, tramp-compat-number-sequence)
56999         (tramp-compat-split-string, tramp-compat-delete-dups):
57000         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
57001         Remove.
57003         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
57004         recursively.
57006 2016-01-14  K. Handa  <handa@gnu.org>
57008         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
57010         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
57011         second glyph only when there are enough glyphs.
57013 2016-01-13  Glenn Morris  <rgm@gnu.org>
57015         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
57017         or its hook, to move point.  (Bug#22348)
57019 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
57021         Merge missing commit from emacs-25 branch
57023         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
57024         New variables.
57025         (check-expensive, check-doit): New targets.
57027         * Makefile.in (check-expensive): New target.
57029         * test/lisp/autorevert-tests.el
57030         (auto-revert-test01-auto-revert-several-files):
57031         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
57032         (file-notify-test06-many-events):
57033         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
57034         (tramp-test27-start-file-process, tramp-test28-shell-command)
57035         (tramp-test29-vc-registered)
57036         (tramp-test31-special-characters-with-stat)
57037         (tramp-test31-special-characters-with-perl)
57038         (tramp-test31-special-characters-with-ls)
57039         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
57040         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
57041         (tramp-test35-unload): Tag the tests as :expensive-test.
57043 2016-01-11  John Wiegley  <johnw@newartisans.com>
57045         Merge from origin/emacs-25
57047         1f6898d test/automated/vc-hg.el: Support out-of-tree build
57048         3adb56e Minor change in tramp-tests.el
57049         2b535ba ; * etc/NEWS: Update the js.el entry.
57050         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
57051         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
57052         36b9539 Avoid an infloop when we run out of memory
57053         2006752 Avoid unnecessary failures of auto-saving after fatal error
57054         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
57055         552694a Revert attempt to use 'noexcept' in typedef
57056         6ad0d39 Update documentation of 'indirect-function'
57057         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
57058         303141a Update documentation for obsoleting 'syntax-begin-function'
57059         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
57060         e667bbb Document new features if Eshell
57061         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
57062         1089dc9 Handle too long commands in Tramp
57063         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
57064         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
57065         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
57066         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
57067         cca0f93 ; Account for spaces before the filename
57068         c71e1e8 Use short date for 'hg annotate', and output the author
57069         f50027b Spelling fix
57070         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
57071         cc140bc Document user-level functions in project.el
57072         f8208b6 Document the user-level features of the Xref package
57073         b131fb8 * loading.texi: Add `define-type' entry for load-history
57074         db3c2a8 Improve doc strings and prompts in xref.el
57075         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
57076         90fd798 Fix coding system for Tramp on OS X.
57077         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
57078         9dfcbf0 Update 'load-history' docs
57079         207e191 Fix (error ...) error
57080         457738f Correctly analyze brace arguments in templated C++ function declarations.
57081         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
57082         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
57083         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
57084         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
57085         4b37cba Improve documentation of Delete Selection mode
57086         a034dd3 Fix two project-find-file issues
57087         30abf29 Clarify doc string of 'dired-current-directory'
57088         e990bb2 Use the face of preceding text for displaying the ellipsis
57089         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
57090         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
57091         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
57092         648de81 ; Add NEWS entry for project.el
57093         671862f apropos-library: Skip obvious duplicates; don't error on generics
57094         51668a5 ; Grammar fix
57095         ed41d11 Add project-find-file and project-or-external-find-file
57096         056da45 ; Improve commentary in 'setup_for_ellipsis'
57097         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
57099 2016-01-11  John Wiegley  <johnw@newartisans.com>
57101         Merge from origin/emacs-25
57103         ce4a052 Add defvar-local to lisp-imenu-generic-expression
57104         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
57105         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
57106         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
57107         b6b47af Properly encode/decode base64Binary data in SOAP
57108         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
57109         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
57110                 Update the URI of MELPA and marmalade-repo.
57111                 Reported by CHENG Goa <chenggao@royau.me> in
57112                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
57113         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
57114         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
57115         7380990 Remove function wrongly on AWK Mode value of context
57116         fontification hook.
57117         d400753 * src/buffer.c: Stick with ASCII in doc string.
57118         221240c Reword transient-mark-mode doc string
57119         977d3ea Update doc string of 'selective-display'
57120         229c3fa Make C++ buffers writeable when writing their initial text
57121                 properties.
57122         f5c762c Additional changes for "make check-expensive"
57123         1729cf3 ; * admin/MAINTAINERS: Remove myself.
57124         33219d3 Apply text properties for <, > in new after-change function
57125                 (C++ Java Modes).
57127 2016-01-11  John Wiegley  <johnw@newartisans.com>
57129         Merge from origin/emacs-25
57131         9fb185a shr-tag-video bug fix
57132         6300655 Minor fixes in tramp-tests.el
57133         50575b1 Ensure redisplay when 'truncate-lines' is set
57134         0d9e80d Fix a doc string of 'transient-mark-mode'
57135         0000ae5 MS-Windows followup to latest gnulib update
57136         4bc5e02 Spelling fix
57137         f1093f7 Do secure signed Bcc handling
57139 2016-01-11  John Wiegley  <johnw@newartisans.com>
57141         Merge from origin/emacs-25
57143         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
57144         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
57145         71ea138 * lisp/align.el (align): Simplify a lambda
57146         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
57147         1f680db Fix compilation next-error in buffers with selective-display
57148         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
57149         1da116f Add SHA1 warnings for high network security settings
57150         e48bacd ; * etc/NEWS: Typo fix.
57152 2016-01-11  John Wiegley  <johnw@newartisans.com>
57154         Merge from origin/emacs-25
57156         43662a2 ; Clarify that xref is still experimental
57157         0a6e6ca ; * admin/release-process: Remove some obsolete records.
57158         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
57159         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
57160         0a7ad07 ; Re-arrange xref-related entries in NEWS.
57161         fe903ef Fix xref-find-references on MS-Windows
57162         55a28d8 ; Fixed visual bell artifact problem on NextStep.
57163         d064034 Document new features of tildify-mode
57164         964bea7 Document new features of Whitespace mode
57165         cd68f47 Improve documentation of new Hide-IfDef features
57166         723b8bf Fix regression in font-locking cl-assert and cl-check-type
57168 2016-01-11  John Wiegley  <johnw@newartisans.com>
57170         Merge from origin/emacs-25
57172         ef33bc7 Spelling and grammar fixes
57173         9c3dbab Fix copyright years by hand
57174         0e96320 Update copyright year to 2016
57176 2016-01-11  John Wiegley  <johnw@newartisans.com>
57178         Merge from origin/emacs-25
57180         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
57181         526d80c Port chart.el methods to cl-generic.
57182         410bb69 Add nt/INSTALL.W64 build instructions
57183         8f5b524 Add new input method 'programmer-dvorak'
57184         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
57185         bb83bb1 Fix EWW rendering of long RTL lines
57186         b1a8509 fix  bug#21054
57187         ce5ad12 Clean up cairo printing code
57189 2016-01-11  John Wiegley  <johnw@newartisans.com>
57191         Merge from origin/emacs-25
57193         6ee327d Add handle_user_signal_hook
57194         47580e0 Avoid writing to purespace
57195         0588be7 Remove unused variable
57196         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
57197         3b95e9c Use posix_openpt instead of openpty on Darwin
57198         86312ff Document support for ':documentation' in Lisp mode
57199         c930e75b Document new features of TeX mode
57200         7c83d84 Clarify docs of hscroll in RTL text
57201         4c8f8db Fix rendering of HTML pages that use character composition
57202         a8d37ca Avoid some compiler warnings in w32.c
57203         ce106f3de Undo ill-advised change
57204         be0bba4 Unbreak completion in python-mode buffers
57206 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
57208         Adding example replies to bug-triage.
57210         * admin/notes/bug-triage: Added example replies. Also, as requested,
57211           making the process notes into more of a checklist.
57213 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
57215         Rename the notes/admin/triage file to bug-triage.
57217         * CONTRIBUTE: Change reference to the triage file name.
57218         * admin/notes/triage: Rename file to admin/notes/bug-triage.
57220 2016-01-08  K. Handa  <handa@gnu.org>
57222         Fix outdated comments.
57224 2016-01-06  Glenn Morris  <rgm@gnu.org>
57226         Allow creation of loaddefs files without timestamps.
57228         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
57229         (autoload-generate-file-autoloads, update-directory-autoloads):
57230         If autoload-timestamps is nil, write "t" instead of file timestamp.
57231         (autoload-find-destination, update-directory-autoloads):
57232         If timestamp is "t", use the modtime of the output file instead.
57234 2016-01-06  Glenn Morris  <rgm@gnu.org>
57236         Doc tweaks.
57238         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
57239         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
57240         (calendar-iso-from-absolute):
57241         * lisp/calendar/cal-tex.el (cal-tex-comment):
57242         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
57244 2016-01-06  Glenn Morris  <rgm@gnu.org>
57246         Build tweaks related to tags files.
57248         * lib-src/Makefile.in (tagsfiles): New variable.
57249         (TAGS): Also depend on the source files.  Use our own etags program.
57250         * lisp/Makefile.in (ETAGS): Add EXEEXT.
57251         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
57252         Remove.
57253         (tagsfiles): New, replacing lisptagsfiles1 etc.
57254         Remove irrelevant source files here rather than in the TAGS rule.
57255         (${ETAGS}): New rule.
57256         (TAGS): Also depend on the etags executable.
57257         * lwlib/Makefile.in (EXEEXT): New, set by configure.
57258         (ETAGS): Add EXEEXT.
57259         (${ETAGS}): New rule.
57260         (ctagsfiles): Use "wildcard".
57261         (TAGS): Also depend on the etags executable.
57262         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
57263         (${ETAGS}): New rule.
57264         (TAGS): Fix dependencies.
57265         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
57266         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
57267         Remove "-t" argument.
57268         (${ETAGS}): New rule.
57269         (tagsfiles): New variable.
57270         (TAGS): New rule, with proper dependencies.
57271         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
57272         (ctagsfiles1, ctagsfiles2): Use "wildcard".
57273         (ctagsfiles3): Remove.
57274         (TAGS): Depend on etags.
57275         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
57276         directories decide if updates are needed.
57278 2016-01-06  Glenn Morris  <rgm@gnu.org>
57280         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
57282 2016-01-06  Glenn Morris  <rgm@gnu.org>
57284         * test/lisp/emacs-lisp/package-tests.el
57286         (package-test-macro-compilation): Fixup branch merge.
57288 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
57290         Fix fallout from merging emacs-25 branch in test/
57292         * .gitignore: Update for the new place of biditest.txt.
57293         * test/automated/: Directory removed.  All files moved to their
57294         proper places.
57295         * test/etags/: Directory removed.  All files moved to their proper
57296         places.
57297         * test/automated/url-parse-tests.el: File removed; it was an exact
57298         copy of the same file in test/lisp/url/.
57299         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
57301 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57303         Spelling fixes
57305 2016-01-04  Daniel Colascione  <dancol@dancol.org>
57307         Let users disable unsafe signal handling code
57309         * src/keyboard.c (syms_of_keyboard): New user variables
57310         `attempt-stack-overflow-recovery' and
57311         `attempt-orderly-shutdown-on-fatal-signal'.
57312         * src/sysdep.c (stack_overflow): Check
57313         `attempt-stack-overflow-recovery'.
57314         * src/emacs.c (terminate_due_to_signal): Check
57315         `attempt-orderly-shutdown-on-fatal-signal'.
57317 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
57319         * configure.ac: Add error message for gfile on Nextstep.
57321 2016-01-02  John Wiegley  <johnw@newartisans.com>
57323         Merge branch 'emacs-25-merge'
57325 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57327         Align textually on fix done for emacs-25 branch for bug#21054
57329         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
57330         and useless `(if t ...)' in order to align textually on fix done for
57331         emacs-25 branch for bug#21054.
57333 2016-01-01  K. Handa  <handa@gnu.org>
57335         support rendering of wider range of combinging characters by ftfont backend
57337         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
57338         supports rendering of combining characters, call
57339         font-shape-gstring.
57341         * src/font.c (Ffont_get): Handle `combining-capability' property.
57342         (syms_of_font): New symbol ":combining-capability'.
57344         * src/font.h (struct font_driver): New member combining_capability.
57346         * src/ftfont.c: Include "category.h".
57347         (ftfont_driver): Initialize combining_capability to
57348         ftfont_combining_capability.
57349         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
57350         FLT in advance.
57351         (ftfont_combining_capability): New function.
57353 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
57355         Add notes on bug triage procedure
57357         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
57358         * admin/notes/triage: New file explaining triage procedure.
57360 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57362         Correct ses-rename-cell cursor-intangible text prop updating.
57364         There were two problems:
57366         - First ses-rename-cell has to work when called non interactively
57367           (with non-nil CELL argument), so in this case the start pos of
57368           put-text-property cannot be plainly (point), you need a
57369           ses-goto-print call before
57371         - Second, the range itself was computed erronously, only the first
57372           char was affected instead of the full cell width. This was not
57373           noticeable prior to changes (Deprecate `intangible' and
57374           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
57376         * lisp/ses.el (ses-rename-cell): Correct computation of position range
57377         to which the 'cursor-intangible text property has to be set to cell
57378         new name.
57380 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57382         Don't fake empty cells value by "" when printing with a lambda.
57384         When using a lambda expression printer function the user should be
57385         free to format differently a really empty cell, ie. containing nil,
57386         from a cell containing an empty string "".
57388         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
57389         `value' in the case of a lambda expression printer function.
57391         * doc/misc/ses.texi (Printer functions): Add example and
57392         description about lambda expression printer function handling all
57393         the possible values, including unexpected ones.
57395 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
57397         Quick temporary hack to fix curcell refreshing.
57399         The problem was caused by change: 2015-04-13 Deprecate `intangible'
57400         and `point-entered' properties. The problem is that this change has
57401         removed the (setq ses--curcell t) setting in the ses-command-hook
57402         function.
57404         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
57405         a condition to call function `ses-set-curcell'. Comment this as a quick
57406         temporary hack to make it work, as I don't know yet whether a definite
57407         correction would be to make the ses-set-curcell at every ses-check-curcell,
57408         or to revert to the previous approach, ie marking ses--curcell as out-of-date
57409         at every potentially cursor motion command.
57411 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57413         Restrictive URL checking tweaks
57415         * lisp/net/eww.el (eww): Check whether the domain is
57416         restrictive instead of the string
57417         (http://македонија.icom.museum is restrictive even if each
57418         part is from a different script).
57420 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57422         New function `puny-highly-restrictive-domain-p'
57424         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
57425         (puny-highly-restrictive-domain-p): New function.
57427 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57429         eww build fix (require puny)
57431 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57433         Transform non-restrictive domains to punycode for display
57435         * lisp/net/eww.el (eww): Check whether the domain is Highly
57436         Restrictive in the Unicode IDNA sense.
57438 2015-12-29  John Wiegley  <johnw@newartisans.com>
57440         Merge emacs-25 into master (using imerge)
57442 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
57444         Further Unicode restrictive fixups
57446         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
57447         identifier characters from table 3.
57449 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
57451         Add a new function to say whether a string is restrictive
57453         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
57455 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57457         Mention the new puny.el library
57459 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57461         IDNA-related fixes for the URL library
57463         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
57464         the Host: header.
57466         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
57467         domain names, but leave them as UTF-8, so that they can be
57468         IDNA-encoded later when contacting the host.
57470 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57472         IDNA-encode all domain names in `open-network-stream'
57474         * lisp/net/network-stream.el (open-network-stream)
57475         (network-stream-open-plain, network-stream-open-starttls):
57476         IDNA-encode all domain names, if needed.
57478 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57480         Fix puny-encoding all-non-ASCII domains
57482         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
57483         encoding case.
57485 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57487         shr link traversal fixup
57489         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
57491 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57493         Reconnect erc even on server errors
57495         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
57496         reconnect even if a server error has occurred (bug#18527).
57498 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57500         Fix punycode short circuit logic
57502         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
57504 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57506         IDNA speed up
57508         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
57510 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57512         Add IDNA domain encode/decode functions
57514         * lisp/net/puny.el (puny-decode-domain): New function.
57515         (puny-encode-domain): Ditto.
57516         (puny-decode-digit): Fix digit decoding error.
57518 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
57520         Rename idna.el to puny.el
57522         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
57523         the external idna.el library.
57525 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
57527         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
57529         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
57530         Don't use split-string with 4th arg for old Emacsen compatibility.
57532 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57534         * lisp/net/idna.el (idna-decode-string-internal): Implement
57535         decoding.
57537 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57539         Further IDNA tweaks
57541         (idna-encode-string): Make idna-encode-string safe for
57542         non-ASCII use.
57544 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57546         Clean up the code slightly
57548 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57550         Added basic idna encoding support
57552         * lisp/net/idna.el: New file.
57554 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
57556         Disconnection fixes for erc
57558         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
57559         reconnect if the user has disconnected explicitly (bug#4589).
57561 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
57563         Further erc asynch fixes
57565         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
57566         erc-server-connect to return even if the connection is not
57567         ready.  Then erc-open and erc-server-reconnect do the
57568         same. (bug#5650).
57570 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
57572         Make erc connect asynchronously
57574         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
57575         reconnect asynchronously.
57577         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
57579 2015-12-27  David Edmondson  <dme@dme.org>
57581         Proxy error in erc with multiple clients
57583         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
57584         generated when multiple IRC clients talk to a single IRC proxy
57585         (bug#19034).
57587 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
57589         Fix mml-sec build warnings
57591         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
57592         (bug#18718).
57594 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57596         (eww-setup-buffer): Restore left-to-right defaults
57598         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
57600 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
57602         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
57604 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
57606         Identify unsafe combinations of Bcc and encryption
57608         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
57609         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
57610         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
57612 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
57614         * shr.el (shr-descend): Allow using lambdas in external functions.
57616 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
57618         * admin/gitmerge.el: Tweaks that seemed necessary
57620         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
57621         (gitmerge-maybe-resume): Provide explicit empty commit message.
57623 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
57625         Use a different port for TLS erc
57627         * lisp/erc/erc.el (erc-default-port-tls): New variable
57628         (bug#19497).
57629         * lisp/erc/erc.el (erc-tls): Use it.
57631 2015-12-25  Alain Schneble  <a.s@realize.ch>
57633         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
57635         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
57636         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
57637         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
57638         information in URL-struct.
57639         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
57640         path and query into nil path and query, respectively.
57641         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
57642         empty path into an absolute ("/") path.
57643         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
57644         fragment-only URIs. Do not just return them unchanged.
57645         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
57646         reference URI should not drop the last segment.
57648 2015-12-25  Alain Schneble  <a.s@realize.ch>
57650         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
57652         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
57653         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
57654         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
57655         information in URL-struct.
57656         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
57657         path and query into nil path and query, respectively.
57658         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
57659         empty path into an absolute ("/") path.
57660         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
57661         fragment-only URIs. Do not just return them unchanged.
57662         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
57663         reference URI should not drop the last segment.
57665 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57667         Let url use default file modes when copying files
57669         * lisp/url/url-handlers.el (url-copy-file): Use default file
57670         modes when copying files (bug#11400).
57672 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
57674         Doc fix for url-http
57676         * lisp/url/url-http.el (url-http): Document better return values
57677           (bug#13187) (tiny change)
57679 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57681         * eww.el (eww-display-html): Support <button> tags (bug#20485).
57683 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57685         Made ffap-url-p a defun instead of a defsubst
57687         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
57688         since there doesn't seem to be much of a reason for it to be a
57689         defsubst (bug#18203).
57691 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57693         Add a command to view files in the browser to dired
57695         * lisp/dired.el (dired-mode-map): Add the `W' command
57696         (bug#18810).
57698 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57700         Allow http://user:pass@foo/ URLs again
57702         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
57703         user/passwords in URLs (bug#19046).
57705 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57707         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
57709 2015-12-25  Samer Masterson  <samer@samertm.com>
57711         Autoload url-insert-buffer-contents
57713         * lisp/url/url-handlers.el: Add autoload cookie so that
57714         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
57716 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57718         Allow toggling colors in eww
57720         * doc/misc/eww.texi (Basics): Mention "C".
57722         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
57724         * lisp/net/shr.el (shr-use-colors): New variable.
57725         (shr-colorize-region): Use it.
57727 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
57729         Follow meta refresh tags in eww
57731         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
57733 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57735         More eww file name coding fixes
57737         * eww.el (eww-decode-url-file-name): Use the base coding
57738         system to check for encodability.
57740 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57742         Always save eww history
57744         * eww.el (eww-setup-buffer): Always save history, even when
57745         called from outside the eww buffer (bug#19638).
57747 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57749         Default web pages to right-to-left
57751         * eww.el (eww-mode): Most web pages are left-to-right, so make
57752         that the default (bug#19801).
57754         * shr.el (shr-tag-html): Respect "dir" attributes
57755         (left-to-right, right-to-left).
57757 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57759         Make toggling checkboxes work again
57761         * eww.el (eww-update-field): Make toggling checkboxes work
57762         again (bug#21881).
57764 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57766         Don't store cookies with empty names
57768         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
57769         cookies with empty names (bug#21936).
57771 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57773         Stop rendering HTML before specdlr exhaustion
57775         Fixes: 22117
57777         * shr.el (shr-descend): Stop rendering before we run out of
57778         specpdl room (bug#22117).
57780 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57782         Use cl-reduce, not reduce.
57784 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57786         Allow several <tbody> tags in shr
57788         * shr.el (shr-table-body): New function to find the real body
57789         of a table.
57790         (shr-tag-table): Use it to render several <tbody> tags in a
57791         table (bug#22170).
57793 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57795         Make prettier unique file names in eww
57797         (eww-make-unique-file-name): Make unique file names by making
57798         files like foo(2).jpg instead of foo(1)(2).jpg.
57800 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57802         Decode hex-encoded URLs before using them as file names
57804         * eww.el (eww-decode-url-file-name): New function.
57805         (eww-download-callback): Use it to decode file names before
57806         saving them.
57808 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
57810         Add FreeBSD cert bundle
57812         * doc/misc/emacs-gnutls.texi (Help For Users): Document
57813         FreeBSD bundle.
57815         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
57817 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57819         Allow overriding shr functions from eww
57821         * eww.el (eww-display-html): Allow overriding elements in
57822         `shr-external-rendering-functions'.
57824 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57826         Ignore invalid SVG images
57828         * shr.el (shr-tag-svg): Ignore SVG images that have no width
57829         or height, because these can't be displayed by ImageMagick,
57830         anyway.
57832 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
57834         shr table rendering fix
57836         * shr.el (shr-tag-table): Allow rendering body-less tables
57837         that have headers.
57839 2015-12-22  Sam Steingold  <sds@gnu.org>
57841         clipboard should still work even if interprogram-* is disabled
57843         (clipboard-yank): When `interprogram-cut-function' is nil,
57844         bind it to `gui-selection-value' - the default value.
57845         (clipboard-kill-region, clipboard-kill-ring-save): When
57846         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
57847         the default value.
57849 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
57851         Fix bootstrap issue with dired-loaddefs
57853         * lisp/dired.el: Autoloads for secondary files loaded optionally.
57855 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57857         dired generate autoloads to non-versioned file.
57859         * lisp/dired.el: Remove autoloads.
57860         * lisp/Makefile.in: Add dired to autogenel.
57861         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
57862         * test/lisp/dired-tests.el: Add new test.
57864 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57866         eieio generate autoloads to non-versioned file.
57868         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
57869         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
57870           Remove autoloads.
57871         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
57872           lisp/emacs-lisp/eieio-opt.el: Update file local.
57873         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
57875 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57877         htmlfontify generate autoload to non-versioned file.
57879         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
57880         * lisp/hfy-cmap.el: Update file local.
57881         * lisp/htmlfontify.el: Remove autoloads, add require.
57882         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
57884 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57886         ibuffer generate autoloads to non-versioned file.
57888         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
57889         * lisp/ibuf-ext.el: Update file local.
57890         * lisp/ibuffer.el: Remove autoloads and add a require.
57891         * test/lisp/ibuffer-tests.el: Test that autoload is working.
57893 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57895         rmail generate autoloads to non-versioned file.
57897         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
57898         * lisp/mail/rmail.el: Remove autoloads, add require.
57899         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
57900         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
57901         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
57902         * lisp/mail/undigest.el: Update file-local.
57903         * test/lisp/mail/rmail-tests.el:
57905 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57907         Add autoload-force target.
57909         * lisp/Makefile.in (autoload-force): New target.
57911 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57913         ps-print generate autoloads to non versioned file.
57915         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
57916         * lisp/ps-print.el: Remove autoloads.
57917         * lisp/ps-mule.el: Update file-local.
57918         * test/lisp/ps-print-tests.el: Test autoload functionality.
57920 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
57922         reftex generate autoloads to non versioned file.
57924         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
57925         * lisp/textmodes/reftex.el: Remove autoloads.
57926         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
57927         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
57928         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
57929         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
57930         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
57931         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
57932           function.
57934 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
57936         * lisp/calculator.el (calculator-define-key): Undo last change
57938         Make map argument mandatory instead (bug#22106).
57939         (calculator-add-operators): Pass the argument that's not optional any more.
57941 2015-12-03  Glenn Morris  <rgm@gnu.org>
57943         * Makefile.in: Avoid duplication.
57945         (have-tests): New rule.
57946         (check, check-maybe): Use it.
57948 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
57950         make check unconditional, check-maybe top-level.
57952          * Makefile.in: Add check-maybe target.
57953          * test/Makefile.in: Restore unconditional behavior to make check.
57955 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
57957         Tests now support out-of-source-build.
57959          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
57960            about current working directory.
57962 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
57964         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
57966 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
57968         Improve documentation and clean up.
57970          * test/Makefile.in: Improve documentation, use EMACS variable
57971            correctly, and clean up makefile rules.
57973 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
57975         Update file headers for name change.
57977          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
57979 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
57981         Test files renamed to new scheme.
57983          * (finalizer-tests.el): Now renamed alloc-tests.el
57984          * (zlib-tests.el): Now renamed decompress-tests.el.
57986 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
57988         Tests now depend on source files
57990          * test/Makefile.in: Include dependences from tests to source files.
57991          * test/make-test-deps.emacs-lisp: New file
57992          * .gitignore: Ignore generated make include file
57994 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
57996         * lisp/progmodes/which-func.el: Improve disabling the mode
57998         Use lexical-binding.
57999         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
58000         (which-func, which-func-format): Remove redundant :group arg.
58001         (which-func-try-to-enable): New function.
58002         (which-func-ff-hook, which-function-mode): Use it.
58003         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
58004         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
58006 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
58008         * lisp/calculator.el (calculator-define-key): Silence warning
58010         ...about unknown calculator-mode-map.
58012 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58014         * lisp/calculator.el: more improvements and bugfixes.
58016         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
58017           effect anyway.)
58019         - Simplify `calculator-number-to-string' by throwing most of the work
58020           onto `number-to-string', leaving just some tweaks for decimal inputs.
58021           This leads to some minor changes, for example, pasting "1x1" in hex
58022           mode would warn that "x" is ignored and result in "11" (and it wasn't
58023           done in decimal mode), whereas now it just ignores everything from the
58024           "x" and on and result in a "1" just like in decimal input mode.  Also,
58025           overflows are left for `number-to-string' to deal with.
58027         - `calculator-paste' is very simple as a result.
58029         - Extend the simplified `calculator-paste': with a prefix argument it
58030           pastes a string as if the characters were entered.  This can be used
58031           to reduce expressions, but note that it's a simple literal operation,
58032           so precedence can be messed, a number can be paster while entering a
58033           number, spaces and newlines matter, etc.
58035         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
58036           operator.
58038         - Fix a bug in `calculator-put-value': avoid grouping in the display
58039           that is used to construct `calculator-curnum'.  This would trigger
58040           when pasting or getting a value from a register in some radix mode
58041           with a large enough value.  Another fix: make the output radix equal
58042           the input one, otherwise numbers could be converted twice.
58044 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58046         * lisp/calculator.el: Re-do key bindings.
58048         Use a helper function that arranges a parent keymap that binds alternate
58049         case keys so if some letter key is unbound and it's un/shifted version
58050         is, it will get used.  This makes the global-map trickery unnecessary.
58052         Also switch to passing strings that name keys through `kbd'.
58054 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58056         * lisp/calculator.el: improve radix modes
58058         Fix prompt for some input radix with decimal output (eg, "BD" instead of
58059         the incorrect "B="); also, some minor docstring tweaks for these.
58061 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58063         * lisp/calculator.el: better reading of register names
58065         Use `register-read-with-preview' with a dynamically bound
58066         `register-alist' and a proper preview function to read register names.
58068 2015-11-29  Eli Barzilay  <eli@barzilay.org>
58070         * lisp/calculator.el: General improvements
58072         Use things like `when', `unless', and `push'.
58074         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
58075         non-electric mode.
58077 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
58079         Fix a problem with gfilenotify in filenotify-tests.el
58081         * test/lisp/filenotify-tests.el
58082         (file-notify--test-expected-events): Remove.
58083         (file-notify--test-cleanup): Do not set that variable.
58084         (file-notify--test-with-events): EVENTS can also be a list of lists.
58085         (file-notify-test02-events, file-notify-test04-file-validity):
58086         Adapt expected result.
58088 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
58090         * .gitignore: Adjust to changes in 'test' directory structure.
58092 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
58094         Fix test/manual/etags/Makefile
58096         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
58097         changes in 'test' directory structure.
58099 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58101         Exclude resource dirs from search for tests.
58103         * test/Makefile.in: Test file locations are now found with find
58104           rather than using finds native functions.
58106 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58108         Add test targets without directory names.
58110          * (test/Makefile.in): Extend test_template to add two targets for each
58111            file.
58113 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
58115         * lisp/emacs-lisp/package.el: Require url-handlers
58117 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
58119         Move elisp-mode-tests to new function names.
58121          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
58122          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
58124 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
58126         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
58128 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
58130         Merge branch 'feature/standard-test-location'
58132 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58134         * lisp/emacs-lisp/eieio.el: Add some default implementations
58136         (standard-class): Mark it obsolete.
58137         (slot-missing): Give it a default implementation.
58138         (destructor): Simplify and mark it obsolete.
58139         (object-print): Give it a default implementation.
58140         (eieio-change-class): Rename from change-class.
58141         (change-class): Redefine as obsolete alias.
58143 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58145         Mention kqueue in NEWS
58147 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58149         Merge from scratch/kqueue
58151         bec57a4 Some final fixes in file notification before merging with master
58152         0247489 Rework file notifications, kqueue has problems with directory monitors
58153         5154781 Continie with pending events
58154         6b490c0 Improve loops in file-notify-test06-many-events
58155         c8e266f Handle more complex rename operation in kqueue
58156         5044bdf New test with a larger number of events.
58157         65ba5a9 Further fixes for kqueue.
58158         13f3508 Code cleanup of kqueue.c
58159         99aa855 Doc changes for kqueue
58160         8deebe1 Finish implementation in kqueue.c
58161         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
58162         e95b309 More work on kqueue
58163         41d9bd0 Implement directory events
58164         c571fc1 Build fixes for kqueue support.
58165         e0a68f2 Continue kqueue implementation
58166         7543d1c Work on kqueue
58167         e3354e2 Add kqueue support
58168         c6457ce Minor fix to comment indentation and typo in last commit
58169         b92307f linum-mode plays more nicely with other margin-setting extensions
58170         58e6235 * lisp/image-mode.el: Support encrypted file
58171         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
58172         47f83b6 ; ChangeLog.2 fixes
58173         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
58174         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
58175         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
58176         70f1fda ; Auto-commit of ChangeLog files.
58177         ae0653b * CONTRIBUTE: Remove information about feature freeze.
58178         9459456 Merge branch 'release-process-lowercase'
58179         9a4aa0f Document the release process
58180         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
58181         dcd5877 gitmerge: Fix git log command
58182         2ac79ae gitmerge: Try to detect cherry-picks
58183         5f7a2a9 Increment Emacs version on master branch
58184         ed2e7e2 Mention CONTRIBUTE in README
58185         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
58186         138ad3d ; Fix warnings
58187         7126e9a ; Update xref-etags-mode for the latest change
58188         246d660 Use generic dispatch for xref backends
58189         31f6e93 Support rectangular regions for more commands
58190         f103a27 Handle multiple matches on the same line; add highlighting
58191         fe973fc Replace xref-match-bounds with xref-match-length
58192         92a5010 Merge from gnulib
58193         04ac097 Spruce up ftfont.c memory allocation
58194         4c4b520 Port recent XCB changes to 64-bit ‘long int’
58195         4f0ce9c * src/undo.c (run_undoable_change): Now static.
58196         695a6f9 Remove support for ':timeout' from w32 tray notifications
58197         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
58198         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
58199         66b9f7b * src/undo.c: Small fixes for previous change
58200         2fac30e Add a few more variables to redisplay--variables
58201         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
58202         e221d32 Fix point positioning after transposing with negative arg
58203         35f5afb Fix last change in shr.el
58204         508e77b Fix last change
58205         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
58206         805a39b Remove intern calls and XXX comments from Fx_export_frames
58207         9463abf shr: don't invoke unbound function (Bug#21895)
58208         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
58209         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
58210         39dbd1c : Tests for undo-auto functionality.
58211         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
58212         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'.
58213         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
58214         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
58215         1e363a8 Enable sorting of JSON object keys when encoding
58216         9dd7da9 * test/automated/keymap-tests.el: New test file
58217         aa17de9 Speed up x_real_pos_and_offsets using XCB
58218         a838c83 Enable use of XCB for checking window manager state
58219         c7f2b6a Detect XCB and save a connection handle
58220         e1c27db Reduce some data dependencies between X calls
58221         25e32bd Use color cache for creating bitmap
58222         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
58223         055ca3a Sync with soap-client repository, version 3.0.2
58224         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
58225         952395d * lisp/obarray.el: Fix shadowed variables
58226         436d330 Avoid error in submitting a form with EWW
58227         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
58228         51d840a Rename seq-p and map-p to seqp and mapp
58229         23036ba Rename obarray-p to obarrayp
58230         20aea42 Rename obarray-foreach to obarray-map
58231         a3b2101 New file with obarray functions.
58232         9d43941 Implement tray notifications for MS-Windows
58234 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58236         Some final fixes in file notification before merging with master
58238         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
58239         (file-notify-callback): Improve check for `stopped' event.  Call
58240         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
58241         (file-notify-add-watch): In case FILE is not a directory, call the
58242         file monitor for the kqueue backend.  Otherwise, call the
58243         directory monitor for the upper directory.
58245         * src/inotify.c (inotifyevent_to_event): Extract file name from
58246         watch_object if the event doesn't provide it.
58247         (Finotify_add_watch): Add file name to watch_object.
58249         * test/automated/file-notify-tests.el (file-notify--test-timeout):
58250         Use different timeouts for different libraries.
58251         (file-notify--test-with-events): Suppress lock files.  Flush
58252         outstanding events before running the body.
58253         (file-notify-test02-events, file-notify-test04-file-validity): Do
58254         not skip cygwin tests.  Add additional test for file creation.
58255         Adapt expected result for different backends.
58256         (file-notify-test03-autorevert): Some of the tests don't work for
58257         w32notify.
58258         (file-notify-test06-many-events): Rename into both directions.
58260 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58262         Rework file notifications, kqueue has problems with directory monitors
58264         * lisp/filenotify.el (file-notify-add-watch): Call the native
58265         add-watch function on the file, not on the dir.
58267         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
58268         about already deleted entries.
58270         * test/automated/auto-revert-tests.el
58271         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
58272         since this deletes the target file first.
58274         * test/automated/file-notify-tests.el (file-notify--test-event-test):
58275         Make stronger checks.
58276         (file-notify-test01-add-watch, file-notify-test02-events)
58277         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
58278         Rewrite in order to call file monitors but directory monitors.
58279         (file-notify-test06-many-events): Ler rename work in both directions.
58281 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58283         Continie with pending events
58285         * src/kqueue.c (pending_events): Remove global variable.
58286         (kqueue_compare_dir_list): Create `write' event for not used
58287         pending events.
58288         (globals_of_kqueue): Remove initialization of pending_events.
58290 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58292         Improve loops in file-notify-test06-many-events
58294         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58295         Use `read-event' pauses for the `write-file' loops; otherwise
58296         events are lost in inotify and gfilenotify cases.
58298 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58300         Handle more complex rename operation in kqueue
58302         * src/kqueue.c (pending_events): New variable.
58303         (kqueue_compare_dir_list): Handle more complex rename operation.
58304         (globals_of_kqueue): Initialize pending_events.
58306         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58307         Adapt expected events in the `rename-file' case.
58308         (file-notify-test06-many-events-remote): Declare.
58310 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
58312         New test with a larger number of events.
58314         * test/automated/file-notify-tests.el (file-notify--test-with-events):
58315         Make timeout heuristically depend on the number of events.
58317         (file-notify-test06-many-events): Use it for new test.
58319 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58321         Further fixes for kqueue.
58323         * lisp/filenotify.el (file-notify-callback): Raise also event if
58324         directory name matches.
58325         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
58327         * src/kqueue.c (kqueue_generate_event): Use watch_object as
58328         argument instead of ident.  Remove callback argument.  Adapt
58329         callees.  Check actions whether they are monitored flags.
58331         * test/automated/file-notify-tests.el (file-notify--test-library):
58332         New defun.
58333         (file-notify-test00-availability, file-notify-test02-events)
58334         (file-notify-test04-file-validity)
58335         (file-notify-test05-dir-validity): Use it.
58336         (file-notify-test02-events, file-notify-test04-file-validity): Add
58337         `read-event' calls between different file actions, in order to
58338         give the backends a chance to rais an event.  Needed especially
58339         for kqueue.  In case of deleting a directory, there are two
58340         `deleted' events.
58342 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58344         Code cleanup of kqueue.c
58346         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
58347         (kqueue_compare_dir_list): Do not loop when calling
58348         directory_files_internal.  Remove checks for "." and "..", this is
58349         done in kqueue_directory_listing now.
58350         (Fkqueue_add_watch): Check for proper emacs_open flags.
58352 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58354         Doc changes for kqueue
58356         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
58357         Fix some glitches in the example.
58359 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58361         Finish implementation in kqueue.c
58363         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
58364         Simplify access to list.
58365         (kqueue_compare_dir_list): Simplify access to list.  Raise
58366         `delete' event if directory does not exist any longer.  Otherwise,
58367         wait until directory contents has changed.  Fix error in check.
58369 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58371         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
58373 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58375         More work on kqueue
58377         * lisp/filenotify.el (file-notify-callback): Handle also the
58378         `rename' event from kqueue.
58379         (file-notify-add-watch): Do not register an entry twice.
58381         * src/kqueue.c (kqueue_directory_listing): New function.
58382         (kqueue_generate_event): New argument FILE1.  Adapt callees.
58383         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
58385 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58387         Implement directory events
58389         * lisp/filenotify.el (file-notify-handle-event)
58390         (file-notify-callback): Remove traces.
58392         * src/kqueue.c: Include <sys/time.h>.
58393         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
58394         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
58395         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
58396         Compute initial directory listing.  Close file descriptor in case
58397         of errors.
58398         (syms_of_kqueue): Declare Qcreate.
58400 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
58402         Build fixes for kqueue support.
58404         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
58405         flag.
58407         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
58408         kqueue on *BSD.
58410 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58412         Continue kqueue implementation
58414         * lisp/filenotify.el (file-notify-handle-event)
58415         (file-notify-callback): Enable trace messages.
58417         * src/kqueue.c: Include also <sys/types.h>.
58418         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
58419         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
58420         (syms_of_kqueue): Add them.
58422 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58424         Work on kqueue
58426         * lisp/filenotify.el (file-notify--library)
58427         (file-notify-descriptors, file-notify-callback)
58428         (file-notify-add-watch, file-notify-rm-watch)
58429         (file-notify-valid-p): Add kqueue support.
58431         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
58433 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58435         Add kqueue support
58437         * configure.ac (--with-file-notification): Add kqueue.
58438         (top): Remove special test for "${HAVE_NS}" and
58439         ${with_file_notification}, this is handled inside gfilenotify
58440         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
58441         instead of library specific variables.
58443         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
58445         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
58447         * src/kqueue.c: New file.
58449         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
58451 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
58453         Some final fixes in file notification before merging with master
58455         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
58456         (file-notify-callback): Improve check for `stopped' event.  Call
58457         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
58458         (file-notify-add-watch): In case FILE is not a directory, call the
58459         file monitor for the kqueue backend.  Otherwise, call the
58460         directory monitor for the upper directory.
58462         * src/inotify.c (inotifyevent_to_event): Extract file name from
58463         watch_object if the event doesn't provide it.
58464         (Finotify_add_watch): Add file name to watch_object.
58466         * test/automated/file-notify-tests.el (file-notify--test-timeout):
58467         Use different timeouts for different libraries.
58468         (file-notify--test-with-events): Suppress lock files.  Flush
58469         outstanding events before running the body.
58470         (file-notify-test02-events, file-notify-test04-file-validity): Do
58471         not skip cygwin tests.  Add additional test for file creation.
58472         Adapt expected result for different backends.
58473         (file-notify-test03-autorevert): Some of the tests don't work for
58474         w32notify.
58475         (file-notify-test06-many-events): Rename into both directions.
58477 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58479         Update elisp-mode-tests for changed file location.
58481          * test/lisp/progmodes/elisp-mode-tests.el:
58483 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58485         Exclude manual tests from Makefile
58487          * test/Makefile.in:
58489 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58491         Move package test files to new directory.
58493          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
58494          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
58496 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58498         Restore delete Makefiles and fix .gitignore.
58500          * .gitignore: Update Makefiles to changed locations
58501          * test/lisp/progmodes/flymake-resources/Makefile,
58502            test/manual/etags/Makefile,
58503            test/manual/etags/make-src/Makefile,
58504            test/manual/indent/Makefile: Restored and moved to new location.
58506 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58508         Test infrastructure: updates after directory move
58510          * (test/Makefile.in): Support directories several levels deep.
58511          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
58512          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
58514 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
58516         Rename all test files to reflect source layout.
58518         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
58519         test directory moves.
58520         * test/file-organisation.org: New file.
58521         * test/automated/Makefile.in:
58522         * test/automated/data/decompress/foo.gz:
58523         * test/automated/data/epg/pubkey.asc:
58524         * test/automated/data/epg/seckey.asc:
58525         * test/automated/data/files-bug18141.el.gz:
58526         * test/automated/data/flymake/test.c:
58527         * test/automated/data/flymake/test.pl:
58528         * test/automated/data/package/archive-contents:
58529         * test/automated/data/package/key.pub:
58530         * test/automated/data/package/key.sec:
58531         * test/automated/data/package/multi-file-0.2.3.tar:
58532         * test/automated/data/package/multi-file-readme.txt:
58533         * test/automated/data/package/newer-versions/archive-contents:
58534         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
58535         * test/automated/data/package/newer-versions/simple-single-1.4.el:
58536         * test/automated/data/package/package-test-server.py:
58537         * test/automated/data/package/signed/archive-contents:
58538         * test/automated/data/package/signed/archive-contents.sig:
58539         * test/automated/data/package/signed/signed-bad-1.0.el:
58540         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
58541         * test/automated/data/package/signed/signed-good-1.0.el:
58542         * test/automated/data/package/signed/signed-good-1.0.el.sig:
58543         * test/automated/data/package/simple-depend-1.0.el:
58544         * test/automated/data/package/simple-single-1.3.el:
58545         * test/automated/data/package/simple-single-readme.txt:
58546         * test/automated/data/package/simple-two-depend-1.1.el:
58547         * test/automated/abbrev-tests.el:
58548         * test/automated/auto-revert-tests.el:
58549         * test/automated/calc-tests.el:
58550         * test/automated/icalendar-tests.el:
58551         * test/automated/character-fold-tests.el:
58552         * test/automated/comint-testsuite.el:
58553         * test/automated/descr-text-test.el:
58554         * test/automated/electric-tests.el:
58555         * test/automated/cl-generic-tests.el:
58556         * test/automated/cl-lib-tests.el:
58557         * test/automated/eieio-test-methodinvoke.el:
58558         * test/automated/eieio-test-persist.el:
58559         * test/automated/eieio-tests.el:
58560         * test/automated/ert-tests.el:
58561         * test/automated/ert-x-tests.el:
58562         * test/automated/generator-tests.el:
58563         * test/automated/let-alist.el:
58564         * test/automated/map-tests.el:
58565         * test/automated/advice-tests.el:
58566         * test/automated/package-test.el:
58567         * test/automated/pcase-tests.el:
58568         * test/automated/regexp-tests.el:
58569         * test/automated/seq-tests.el:
58570         * test/automated/subr-x-tests.el:
58571         * test/automated/tabulated-list-test.el:
58572         * test/automated/thunk-tests.el:
58573         * test/automated/timer-tests.el:
58574         * test/automated/epg-tests.el:
58575         * test/automated/eshell.el:
58576         * test/automated/faces-tests.el:
58577         * test/automated/file-notify-tests.el:
58578         * test/automated/auth-source-tests.el:
58579         * test/automated/gnus-tests.el:
58580         * test/automated/message-mode-tests.el:
58581         * test/automated/help-fns.el:
58582         * test/automated/imenu-test.el:
58583         * test/automated/info-xref.el:
58584         * test/automated/mule-util.el:
58585         * test/automated/isearch-tests.el:
58586         * test/automated/json-tests.el:
58587         * test/automated/bytecomp-tests.el:
58588         * test/automated/coding-tests.el:
58589         * test/automated/core-elisp-tests.el:
58590         * test/automated/decoder-tests.el:
58591         * test/automated/files.el:
58592         * test/automated/font-parse-tests.el:
58593         * test/automated/lexbind-tests.el:
58594         * test/automated/occur-tests.el:
58595         * test/automated/process-tests.el:
58596         * test/automated/syntax-tests.el:
58597         * test/automated/textprop-tests.el:
58598         * test/automated/undo-tests.el:
58599         * test/automated/man-tests.el:
58600         * test/automated/completion-tests.el:
58601         * test/automated/dbus-tests.el:
58602         * test/automated/newsticker-tests.el:
58603         * test/automated/sasl-scram-rfc-tests.el:
58604         * test/automated/tramp-tests.el:
58605         * test/automated/obarray-tests.el:
58606         * test/automated/compile-tests.el:
58607         * test/automated/elisp-mode-tests.el:
58608         * test/automated/f90.el:
58609         * test/automated/flymake-tests.el:
58610         * test/automated/python-tests.el:
58611         * test/automated/ruby-mode-tests.el:
58612         * test/automated/subword-tests.el:
58613         * test/automated/replace-tests.el:
58614         * test/automated/simple-test.el:
58615         * test/automated/sort-tests.el:
58616         * test/automated/subr-tests.el:
58617         * test/automated/reftex-tests.el:
58618         * test/automated/sgml-mode-tests.el:
58619         * test/automated/tildify-tests.el:
58620         * test/automated/thingatpt.el:
58621         * test/automated/url-future-tests.el:
58622         * test/automated/url-util-tests.el:
58623         * test/automated/add-log-tests.el:
58624         * test/automated/vc-bzr.el:
58625         * test/automated/vc-tests.el:
58626         * test/automated/xml-parse-tests.el:
58627         * test/BidiCharacterTest.txt:
58628         * test/biditest.el:
58629         * test/cedet/cedet-utests.el:
58630         * test/cedet/ede-tests.el:
58631         * test/cedet/semantic-ia-utest.el:
58632         * test/cedet/semantic-tests.el:
58633         * test/cedet/semantic-utest-c.el:
58634         * test/cedet/semantic-utest.el:
58635         * test/cedet/srecode-tests.el:
58636         * test/cedet/tests/test.c:
58637         * test/cedet/tests/test.el:
58638         * test/cedet/tests/test.make:
58639         * test/cedet/tests/testdoublens.cpp:
58640         * test/cedet/tests/testdoublens.hpp:
58641         * test/cedet/tests/testfriends.cpp:
58642         * test/cedet/tests/testjavacomp.java:
58643         * test/cedet/tests/testnsp.cpp:
58644         * test/cedet/tests/testpolymorph.cpp:
58645         * test/cedet/tests/testspp.c:
58646         * test/cedet/tests/testsppcomplete.c:
58647         * test/cedet/tests/testsppreplace.c:
58648         * test/cedet/tests/testsppreplaced.c:
58649         * test/cedet/tests/testsubclass.cpp:
58650         * test/cedet/tests/testsubclass.hh:
58651         * test/cedet/tests/testtypedefs.cpp:
58652         * test/cedet/tests/testvarnames.c:
58653         * test/etags/CTAGS.good:
58654         * test/etags/ETAGS.good_1:
58655         * test/etags/ETAGS.good_2:
58656         * test/etags/ETAGS.good_3:
58657         * test/etags/ETAGS.good_4:
58658         * test/etags/ETAGS.good_5:
58659         * test/etags/ETAGS.good_6:
58660         * test/etags/a-src/empty.zz:
58661         * test/etags/a-src/empty.zz.gz:
58662         * test/etags/ada-src/2ataspri.adb:
58663         * test/etags/ada-src/2ataspri.ads:
58664         * test/etags/ada-src/etags-test-for.ada:
58665         * test/etags/ada-src/waroquiers.ada:
58666         * test/etags/c-src/a/b/b.c:
58667         * test/etags/c-src/abbrev.c:
58668         * test/etags/c-src/c.c:
58669         * test/etags/c-src/dostorture.c:
58670         * test/etags/c-src/emacs/src/gmalloc.c:
58671         * test/etags/c-src/emacs/src/keyboard.c:
58672         * test/etags/c-src/emacs/src/lisp.h:
58673         * test/etags/c-src/emacs/src/regex.h:
58674         * test/etags/c-src/etags.c:
58675         * test/etags/c-src/exit.c:
58676         * test/etags/c-src/exit.strange_suffix:
58677         * test/etags/c-src/fail.c:
58678         * test/etags/c-src/getopt.h:
58679         * test/etags/c-src/h.h:
58680         * test/etags/c-src/machsyscalls.c:
58681         * test/etags/c-src/machsyscalls.h:
58682         * test/etags/c-src/sysdep.h:
58683         * test/etags/c-src/tab.c:
58684         * test/etags/c-src/torture.c:
58685         * test/etags/cp-src/MDiagArray2.h:
58686         * test/etags/cp-src/Range.h:
58687         * test/etags/cp-src/burton.cpp:
58688         * test/etags/cp-src/c.C:
58689         * test/etags/cp-src/clheir.cpp.gz:
58690         * test/etags/cp-src/clheir.hpp:
58691         * test/etags/cp-src/conway.cpp:
58692         * test/etags/cp-src/conway.hpp:
58693         * test/etags/cp-src/fail.C:
58694         * test/etags/cp-src/functions.cpp:
58695         * test/etags/cp-src/screen.cpp:
58696         * test/etags/cp-src/screen.hpp:
58697         * test/etags/cp-src/x.cc:
58698         * test/etags/el-src/TAGTEST.EL:
58699         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
58700         * test/etags/erl-src/gs_dialog.erl:
58701         * test/etags/f-src/entry.for:
58702         * test/etags/f-src/entry.strange.gz:
58703         * test/etags/f-src/entry.strange_suffix:
58704         * test/etags/forth-src/test-forth.fth:
58705         * test/etags/html-src/algrthms.html:
58706         * test/etags/html-src/index.shtml:
58707         * test/etags/html-src/software.html:
58708         * test/etags/html-src/softwarelibero.html:
58709         * test/etags/lua-src/allegro.lua:
58710         * test/etags/objc-src/PackInsp.h:
58711         * test/etags/objc-src/PackInsp.m:
58712         * test/etags/objc-src/Subprocess.h:
58713         * test/etags/objc-src/Subprocess.m:
58714         * test/etags/objcpp-src/SimpleCalc.H:
58715         * test/etags/objcpp-src/SimpleCalc.M:
58716         * test/etags/pas-src/common.pas:
58717         * test/etags/perl-src/htlmify-cystic:
58718         * test/etags/perl-src/kai-test.pl:
58719         * test/etags/perl-src/yagrip.pl:
58720         * test/etags/php-src/lce_functions.php:
58721         * test/etags/php-src/ptest.php:
58722         * test/etags/php-src/sendmail.php:
58723         * test/etags/prol-src/natded.prolog:
58724         * test/etags/prol-src/ordsets.prolog:
58725         * test/etags/ps-src/rfc1245.ps:
58726         * test/etags/pyt-src/server.py:
58727         * test/etags/tex-src/gzip.texi:
58728         * test/etags/tex-src/nonewline.tex:
58729         * test/etags/tex-src/testenv.tex:
58730         * test/etags/tex-src/texinfo.tex:
58731         * test/etags/y-src/atest.y:
58732         * test/etags/y-src/cccp.c:
58733         * test/etags/y-src/cccp.y:
58734         * test/etags/y-src/parse.c:
58735         * test/etags/y-src/parse.y:
58736         * test/indent/css-mode.css:
58737         * test/indent/js-indent-init-dynamic.js:
58738         * test/indent/js-indent-init-t.js:
58739         * test/indent/js-jsx.js:
58740         * test/indent/js.js:
58741         * test/indent/latex-mode.tex:
58742         * test/indent/modula2.mod:
58743         * test/indent/nxml.xml:
58744         * test/indent/octave.m:
58745         * test/indent/pascal.pas:
58746         * test/indent/perl.perl:
58747         * test/indent/prolog.prolog:
58748         * test/indent/ps-mode.ps:
58749         * test/indent/ruby.rb:
58750         * test/indent/scheme.scm:
58751         * test/indent/scss-mode.scss:
58752         * test/indent/sgml-mode-attribute.html:
58753         * test/indent/shell.rc:
58754         * test/indent/shell.sh:
58755         * test/redisplay-testsuite.el:
58756         * test/rmailmm.el:
58757         * test/automated/buffer-tests.el:
58758         * test/automated/cmds-tests.el:
58759         * test/automated/data-tests.el:
58760         * test/automated/finalizer-tests.el:
58761         * test/automated/fns-tests.el:
58762         * test/automated/inotify-test.el:
58763         * test/automated/keymap-tests.el:
58764         * test/automated/print-tests.el:
58765         * test/automated/libxml-tests.el:
58766         * test/automated/zlib-tests.el: Files Moved.
58768 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
58770         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
58772         * lisp/progmodes/verilog-mode.el
58773         (verilog-save-font-no-change-functions): Commentary and fix
58774         pre-Emacs 21 behavior.
58776 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
58778         Rework file notifications, kqueue has problems with directory monitors
58780         * lisp/filenotify.el (file-notify-add-watch): Call the native
58781         add-watch function on the file, not on the dir.
58783         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
58784         about already deleted entries.
58786         * test/automated/auto-revert-tests.el
58787         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
58788         since this deletes the target file first.
58790         * test/automated/file-notify-tests.el (file-notify--test-event-test):
58791         Make stronger checks.
58792         (file-notify-test01-add-watch, file-notify-test02-events)
58793         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
58794         Rewrite in order to call file monitors but directory monitors.
58795         (file-notify-test06-many-events): Ler rename work in both directions.
58797 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
58799         Use obarray functions from obarray.
58801         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
58802           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
58803           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
58804           delegate to obarray.el functions.
58805         * lisp/loadup.el: load obarray before abbrev
58806         * test/automated/abbrev-tests.el: new tests
58808 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
58810         Continie with pending events
58812         * src/kqueue.c (pending_events): Remove global variable.
58813         (kqueue_compare_dir_list): Create `write' event for not used
58814         pending events.
58815         (globals_of_kqueue): Remove initialization of pending_events.
58817 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
58819         Improve loops in file-notify-test06-many-events
58821         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58822         Use `read-event' pauses for the `write-file' loops; otherwise
58823         events are lost in inotify and gfilenotify cases.
58825 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
58827         Handle more complex rename operation in kqueue
58829         * src/kqueue.c (pending_events): New variable.
58830         (kqueue_compare_dir_list): Handle more complex rename operation.
58831         (globals_of_kqueue): Initialize pending_events.
58833         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
58834         Adapt expected events in the `rename-file' case.
58835         (file-notify-test06-many-events-remote): Declare.
58837 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
58839         epa.el: Add option to replace original text
58841         * lisp/epa.el (epa-replace-original-text): New user option.
58842         (Bug#21947)
58844 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
58846         Add interactive seek command.
58848         * lisp/mpc.el (mpc-cmd-seekcur): New function.
58849         (mpc-seek-current): New command.
58850         (mpc-mode-menu): Add entry for mpc-seek-current
58851         (mpc-mode-map): Bind mpc-seek-current to "g"
58853 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
58855         Fix issue where a new tempfile was created every refresh
58857         * lisp/mpc.el (mpc-format): Leave dir as relative path
58859 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
58861         New test with a larger number of events.
58863         * test/automated/file-notify-tests.el (file-notify--test-with-events):
58864         Make timeout heuristically depend on the number of events.
58866         (file-notify-test06-many-events): Use it for new test.
58868 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
58870         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
58872         (c-save-buffer-state): Use with-silent-modifications when available.
58873         (c--macroexpand-all): Check macroexpand-all directly rather than
58874         c--mapcan-status.
58876 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
58878         * lisp/loadup.el: Set max-lisp-eval-depth here
58880         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
58881         (BYTE_COMPILE_FLAGS): Adjust accordingly.
58883 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
58885         Further fixes for kqueue.
58887         * lisp/filenotify.el (file-notify-callback): Raise also event if
58888         directory name matches.
58889         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
58891         * src/kqueue.c (kqueue_generate_event): Use watch_object as
58892         argument instead of ident.  Remove callback argument.  Adapt
58893         callees.  Check actions whether they are monitored flags.
58895         * test/automated/file-notify-tests.el (file-notify--test-library):
58896         New defun.
58897         (file-notify-test00-availability, file-notify-test02-events)
58898         (file-notify-test04-file-validity)
58899         (file-notify-test05-dir-validity): Use it.
58900         (file-notify-test02-events, file-notify-test04-file-validity): Add
58901         `read-event' calls between different file actions, in order to
58902         give the backends a chance to rais an event.  Needed especially
58903         for kqueue.  In case of deleting a directory, there are two
58904         `deleted' events.
58906 2015-11-17  João Távora  <joaotavora@gmail.com>
58908         Minor fix to comment indentation and typo in last commit
58910         * lisp/linum.el (linum-update-window): Fix comment indentation and
58911         a typo.
58913 2015-11-17  João Távora  <joaotavora@gmail.com>
58915         linum-mode plays more nicely with other margin-setting extensions
58917         linum.el will only modify the left margin if it needs to, and will
58918         only reset the it back to 0 if it guesses that no-one has touched that
58919         margin in the meantime.
58921         As such, this is a more of a workaround than an actual fix, but fixes
58922         the problems described in bug#20674 regarding the interaction with
58923         modes such as darkroom-mode and olivetti-mode.
58925         A similar fix was commited to nlinum.el in ELPA.git's
58926         e7f5f549fbfb740b911fb7f33b42381ecece56d8
58928         * lisp/linum.el (linum-delete-overlays): Restore margins more
58929         criteriously.
58930         (linum-update-window): Set margins more criteriously.
58932 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
58934         Code cleanup of kqueue.c
58936         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
58937         (kqueue_compare_dir_list): Do not loop when calling
58938         directory_files_internal.  Remove checks for "." and "..", this is
58939         done in kqueue_directory_listing now.
58940         (Fkqueue_add_watch): Check for proper emacs_open flags.
58942 2015-11-16  Daiki Ueno  <ueno@gnu.org>
58944         * lisp/image-mode.el: Support encrypted file
58946         (image-toggle-display-image): Read content from the buffer instead
58947         of the file, if the buffer holds a decrypted data.  (Bug#21870)
58949 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
58951         Doc changes for kqueue
58953         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
58954         Fix some glitches in the example.
58956 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
58958         Finish implementation in kqueue.c
58960         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
58961         Simplify access to list.
58962         (kqueue_compare_dir_list): Simplify access to list.  Raise
58963         `delete' event if directory does not exist any longer.  Otherwise,
58964         wait until directory contents has changed.  Fix error in check.
58966 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
58968         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
58970 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
58972         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
58974 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
58976         * lisp/emacs-lisp/package.el: Fix a decoding issue
58978         (package--with-response-buffer): Use `url-insert-buffer-contents'.
58979         The previous code had some issues with decoding. Refactoring that
58980         function allows us to use the decoding from url-handlers while still
58981         treating both sync and async requests the same.
58983         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
58984         `url-insert-buffer-contents'.
58985         (url-insert-buffer-contents): New function
58987 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
58989         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
58991         (package--with-work-buffer-async): Reimplement as
58992         `package--with-response-buffer'.
58993         (package--with-work-buffer): Mark obsolete.
58994         (package--with-response-buffer): New macro. This is a more self
58995         contained and less contrived version of
58996         `package--with-work-buffer-async'.  It uses keyword arguments,
58997         doesn't have async on the name, doesn't fallback on
58998         `package--with-work-buffer', and has _much_ simpler error
58999         handling.
59001         (package--check-signature, package--download-one-archive)
59002         (package-install-from-archive, describe-package-1): Use it.
59004         (package--download-and-read-archives): Let
59005         `package--download-one-archive' take care of calling
59006         `package--update-downloads-in-progress'.
59008 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
59010         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
59012         (verilog-save-buffer-state): Use with-silent-modifications when available.
59013         (verilog-save-font-no-change-functions): Don't bind
59014         before/after-change-functions if it's not needed.
59016 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
59018         More work on kqueue
59020         * lisp/filenotify.el (file-notify-callback): Handle also the
59021         `rename' event from kqueue.
59022         (file-notify-add-watch): Do not register an entry twice.
59024         * src/kqueue.c (kqueue_directory_listing): New function.
59025         (kqueue_generate_event): New argument FILE1.  Adapt callees.
59026         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
59028 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59030         * CONTRIBUTE: Remove information about feature freeze.
59032         Merge branch 'release-process-lowercase'
59034 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59036         Document the release process
59038         * admin/notes/versioning: Add information about RC releases.
59039         * admin/release-process: Document the release process.
59040         * admin/authors.el (authors-ignored-files):
59041         * admin/README: Change FOR-RELEASE to release-process.
59042         * CONTRIBUTE:
59043         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
59045 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
59047         * admin/release-process: Rename from admin/FOR-RELEASE.
59049 2015-11-14  David Engster  <deng@randomsample.de>
59051         gitmerge: Fix git log command
59053         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
59054         only want commits from the branch that is to be merged.
59055         (gitmerge-setup-log-buffer): Use the same symmetric range as in
59056         `gitmerge-missing'.
59058 2015-11-14  David Engster  <deng@randomsample.de>
59060         gitmerge: Try to detect cherry-picks
59062         * admin/gitmerge.el (gitmerge-default-branch): Change to
59063         origin/emacs-25.
59064         (gitmerge-missing): Use symmetric difference ('...') between
59065         branch and master so that cherry-picks can be detected.
59067 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
59069         Implement directory events
59071         * lisp/filenotify.el (file-notify-handle-event)
59072         (file-notify-callback): Remove traces.
59074         * src/kqueue.c: Include <sys/time.h>.
59075         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
59076         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
59077         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
59078         Compute initial directory listing.  Close file descriptor in case
59079         of errors.
59080         (syms_of_kqueue): Declare Qcreate.
59082 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
59084         Increment Emacs version on master branch
59086         * lisp/cus-edit.el (customize-changed-options-previous-release):
59087         Increase previous version to 24.5.
59089         * configure.ac:
59090         * msdos/sed2v2.inp: Bump version to 25.1.50.
59092 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
59094         Mention CONTRIBUTE in README
59096         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
59097         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
59098         * README: Mention CONTRIBUTE.
59100 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
59102         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
59104         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
59105         (verilog-modi-cache-results, verilog-save-buffer-state)
59106         (verilog-save-font-no-change-functions): When internally suppressing change
59107         functions, use `inhibit-modification-hooks' and call
59108         `after-change-funtions' to more nicely work with user hooks.  Reported by
59109         Stefan Monnier.
59111         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
59112         Create `verilog-delete-auto-buffer' to avoid double-calling
59113         fontification hooks.
59115         (verilog-restore-buffer-modified-p, verilog-auto)
59116         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
59117         set-buffer-modified-p. Reported by Stefan Monnier.
59119         (verilog-diff-auto, verilog-diff-buffers-p)
59120         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
59122         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
59123         AUTOINST with unpacked dimensional parameters, bug981. Reported by
59124         by Amol Nagapurkar.
59126         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
59127         properties inside internal structures. No functional change
59128         intended.
59130 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
59132         Build fixes for kqueue support.
59134         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
59135         flag.
59137         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
59138         kqueue on *BSD.
59140 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59142         Continue kqueue implementation
59144         * lisp/filenotify.el (file-notify-handle-event)
59145         (file-notify-callback): Enable trace messages.
59147         * src/kqueue.c: Include also <sys/types.h>.
59148         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
59149         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
59150         (syms_of_kqueue): Add them.
59152 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59154         Work on kqueue
59156         * lisp/filenotify.el (file-notify--library)
59157         (file-notify-descriptors, file-notify-callback)
59158         (file-notify-add-watch, file-notify-rm-watch)
59159         (file-notify-valid-p): Add kqueue support.
59161         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
59163 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
59165         Add kqueue support
59167         * configure.ac (--with-file-notification): Add kqueue.
59168         (top): Remove special test for "${HAVE_NS}" and
59169         ${with_file_notification}, this is handled inside gfilenotify
59170         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
59171         instead of library specific variables.
59173         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
59175         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
59177         * src/kqueue.c: New file.
59179         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
59181 This file records repository revisions from
59182 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
59183 commit 80d868ed1cf3fb1bf62c9b53e65d1034f20be227 (inclusive).
59184 See ChangeLog.1 for earlier changes.
59186 ;; Local Variables:
59187 ;; coding: utf-8
59188 ;; End:
59190   Copyright (C) 2015-2018 Free Software Foundation, Inc.
59192   This file is part of GNU Emacs.
59194   GNU Emacs is free software: you can redistribute it and/or modify
59195   it under the terms of the GNU General Public License as published by
59196   the Free Software Foundation, either version 3 of the License, or
59197   (at your option) any later version.
59199   GNU Emacs is distributed in the hope that it will be useful,
59200   but WITHOUT ANY WARRANTY; without even the implied warranty of
59201   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
59202   GNU General Public License for more details.
59204   You should have received a copy of the GNU General Public License
59205   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.