; Merge from origin/emacs-26
[emacs.git] / ChangeLog.3
bloba0a4794b4e03424fc5829fe1e7d558c3a26c35c9
1 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3         * etc/HISTORY: Cite Brinkhoff on early history.
5 2018-07-01  Martin Rudalics  <rudalics@gmx.at>
7         Document internal use of 'above-suspended' z-group frame parameter
9         * src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
10         * src/xterm.c (x_set_z_group): Clarify the internal use of
11         'above-suspended' when setting a frame's 'z-group' parameter.
13 2018-06-30  Gemini Lasswell  <gazally@runbox.com>
15         Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
17         * src/eval.c (call_debugger): Increase the amount of extra Lisp
18         evaluation depth given to the debugger to allow it to call cl-print.
19         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
20         to suggest updating call_debugger when changing print-level.
22 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
24         Improve on last change in replace-buffer-contents
26         * src/editfns.c (Freplace_buffer_contents): Call modification
27         hooks only for the actual region where changes are made.
28         (Bug#31888)
30 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
32         Fix a factual error in Introduction to Emacs Lisp
34         * doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
35         key that exits the splash screen.  (Bug#32019)
37 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
39         Minor improvements in documentation of imenu.el
41         * lisp/imenu.el (imenu-generic-skip-comments-and-strings)
42         (imenu--generic-function): Doc fixes.  (Bug#31962)
44 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
46         Avoid errors with recentering in 'skeleton-insert'
48         * lisp/skeleton.el (skeleton-insert): Don't recenter if we are
49         running in a buffer other than the one displayed in the selected
50         window.  (Bug#31950)
52 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
54         * src/lisp.h: Omit obsolete comment re bytecode stack.
56 2018-06-29  Eli Zaretskii  <eliz@gnu.org>
58         Speed up replace-buffer-contents
60         * src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
61         b_unibyte members.
62         (rbc_quitcounter): New static variable.
63         (Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
64         rbc_quitcounter.  Inhibit modification hooks if they were not
65         already inhibited.  Use rarely_quit to allow user to quit, to
66         avoid calling maybe_quit too frequently (which hurts performance).
67         Remove redundant assertions (which hurt performance too much).
68         Call signal_after_change and update_compositions after all the
69         changes are done.
70         (buffer_chars_equal): Remove redundant assertions (which hurt
71         performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
72         hurts performance by referencing Lisp symbols; instead, use
73         lower-level macros with explicit tests to select which macro to
74         use.  (Bug#31888)
76 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
78         Remove extra process call from vc-git-find-file-hook
80         * lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
82 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
84         Speed up vc-git-dir-status-files
86         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
87         ls-files -u' for the ls-files-conflict stage
88         (https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00885.html).
90 2018-06-27  Eli Zaretskii  <eliz@gnu.org>
92         Avoid compiler warning using coding.h
94         * src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
95         this header now has an extern INLINE function.
97 2018-06-27  Michael Albinus  <michael.albinus@gmx.de>
99         Sync with Tramp 2.3.4.  Do not merge with master
101         * doc/misc/trampver.texi:
102         * lisp/net/trampver.el: Change version to "2.3.4".
104         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
105         Check, that the directory has been removed indeed.
107         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
108         (tramp--test-emacs25-p): New defun.
109         (tramp-test34-vc-registered): Use it.
111 2018-06-27  Martin Rudalics  <rudalics@gmx.at>
113         * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)
115 2018-06-26  Noam Postavsky  <npostavs@gmail.com>
117         Detect a non-list package archive content properly (Bug#22311)
119         * lisp/emacs-lisp/package.el (package--download-one-archive): Use
120         `read' instead of `read-from-string'; the latter always returns a
121         cons, so the `listp' check on its return value doesn't make sense.  It
122         was changed from `read' to `read-from-string' in 2015-04-01 "*
123         emacs-lisp/package.el: Implement asynchronous refreshing", but that
124         change was not needed because `read' works fine on strings as well as
125         buffers.
127 2018-06-25  Christophe Junke  <junke.christophe@gmail.com>  (tiny change)
129         Add ido-fallback special variable (Bug#31707)
131         Before ido.el switch to lexical-binding, it was possible for other
132         packages to modify the 'fallback' variables declared inside
133         'ido-file-internal' and 'ido-buffer-internal'.
134         * lisp/ido.el (ido-fallback): New variable.
135         (ido-buffer-internal, ido-file-internal): Reset ido-fallback to nil
136         before prompting user.  Use ido-fallback when ido-exit is 'fallback'.
137         (ido-fallback-command): Add optional FALLBACK-COMMAND argument.
139 2018-06-25  Karl Fogel  <kfogel@red-bean.com>
141         Tighten a cross-reference in documentation
143         * doc/lispref/internals.texi (Writing Emacs Primitives): Switch to
144           a simple parenthetical cross-reference, following up to my
145           commit 9a53b6d426 of 2018-06-24.
147         See discussion:
149           https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00826.html
150           From: Eli Zaretskii
151           Subject: Re: [Emacs-diffs] \
152                    emacs-26 9a53b6d: Say how to override a primitive interactive spec
153           To: Karl Fogel
154           CC: Stefan Monnier, Emacs Devel
155           Date: Mon, 25 Jun 2018 17:41:53 +0300
156           Message-Id: <83r2kvrkr2.fsf@gnu.org>
158 2018-06-25  Michael Albinus  <michael.albinus@gmx.de>
160         Fix last change in tramp-sh.el
162         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
163         Use "-R" rather than "-r" for recursive copy of directories.
165 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
167         Revert previous patch; comment was OK after all.
169 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
171         Fix lead comment for count_trailing_zero_bits
173         * src/data.c (count_trailing_zero_bits): Fix comment to match code.
175 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
177         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes.
179 2018-06-24  Simen Heggestøyl  <simenheg@gmail.com>
181         Make a minor update to the CSS mode docstring
183         * lisp/textmodes/css-mode.el (css-mode): Mention 'fill-paragraph'.
185 2018-06-24  Karl Fogel  <kfogel@red-bean.com>
187         Say how to override a primitive interactive spec
189         * doc/lispref/internals.texi (Writing Emacs Primitives): Mention that
190           the `interactive-form' property can be used to override a primitive
191           interactive specification, and refer to the detailed documentation
192           for setting that property.
194         From this thread on Emacs Devel:
196           https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00923.html
197           From: Eli Zaretskii
198           To: Karl Fogel
199           CC: Juri Linkov, Emacs Devel
200           Subject: Re: [Emacs-diffs] \
201                    master b88e7c8: Make transpose-regions interactive (Bug#30343)
202           Date: Thu, 29 Mar 2018 14:38:15 +0300
203           Message-Id: <834lkzdsd4.fsf@gnu.org>
205 2018-06-24  Michael Albinus  <michael.albinus@gmx.de>
207         Fix Bug#31941
209         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): In case of
210         FILENAME being a directory, check whether `copy-directory' could
211         be avoided.  Suggested by Stephen Nutt <stnutt@gmail.com>.  (Bug#31941)
212         (tramp-do-copy-or-rename-file-directly): Call "cp" with "-r".
214 2018-06-23  Leo Liu  <sdl.web@gmail.com>
216         Fix previous change in minibuffer-default-add-dired-shell-commands
218         The mailcap minibuffer completion used dynamic binding.  Locally set
219         a dynamic variable.
220         * lisp/dired-aux.el (minibuffer-default-add-dired-shell-commands):
221         Store list of files in 'minibuffer-completion-table'.  (Bug#31794)
223 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
225         * src/editfns.c (Fformat): Make %x easier to spot in doc string.  (Bug#31945)
227 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
229         Improve responsiveness while in 'replace-buffer-contents'
231         * src/editfns.c (buffer_chars_equal): Avoid calling
232         buf_charpos_to_bytepos when the buffer is plain-ASCII.
233         Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
234         Call maybe_quit to improve responsiveness.
235         (Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
236         string that the function could be slow.  (Bug#31888)
238 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
240         Improve documentation of 'server-start' and friends
242         * lisp/server.el (server-start, server-running-p): Document how to
243         reliably check that the current Emacs process started the server.
244         (Bug#31859)
246 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
248         Clarify wording about functions' argument lists
250         * doc/lispref/functions.texi (Argument List): Clarify the
251         wording.  (Bug#31872)
253 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
255         * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
257 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
259         Fix a typo in emacs-lisp-intro.texi
261         * doc/lispintro/emacs-lisp-intro.texi (kill-ring-yank-pointer):
262         Add a missing quote.  Reported by Jean-Christophe Helary
263         <brandelune@gmail.com> in emacs-devel.
265 2018-06-22  Paul Eggert  <eggert@cs.ucla.edu>
267         Fix doc typo: missing double-quote
269 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
271         Avoid segfaults in replace-buffer-contents with large buffers
273         * src/editfns.c (Freplace_buffer_contents): Don't release
274         malloc'ed memory as long as we are using it.  (Bug#31888)
276 2018-06-22  Robert Pluim  <rpluim@gmail.com>
278         Adjust for scaling for mode-line popup menus (Bug#31880)
280         * src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
281         into account when calculating screen size.
283 2018-06-21  Simen Heggestøyl  <simenheg@gmail.com>
285         Change name of `seqp' argument (Bug#26411)
287         * lisp/emacs-lisp/seq.el (seqp): Change argument name.
289         * doc/lispref/sequences.texi: Update the documentation for seqp.
291 2018-06-20  Noam Postavsky  <npostavs@gmail.com>
293         Change index of ";" to better reflect it's usage (Bug#31623)
295         * doc/lispref/objects.texi (Comments): "; for commenting" fits better
296         with the following text about how a semicolon begins a comment.  Also
297         mention that only unescaped semicolons start a comment.
299 2018-06-20  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
301         Fix bug of 'mouse-drag-and-drop-region' to detect edges of region (Bug#31905)
303         * lisp/mouse.el (mouse-drag-and-drop-region): Detect both the
304         beginning and the end of character of region during dragging
305         text.
307 2018-06-19  Noam Postavsky  <npostavs@gmail.com>
309         Fix #'fun handling inside `labels' (Bug#31792)
311         * lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
312         cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
313         last change".
314         * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
315         test.
316         * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
317         link to relevant manual page.
318         * doc/misc/cl.texi (Function Bindings): Don't imply that function
319         cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
320         cl-labels affect references of the form (quote FUNC).
322 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
324         Fix vertical-motion with 'visual' line-number display
326         * src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
327         line-number display from X coordinate adjustments.  (Bug#31875)
329 2018-06-17  Alan Third  <alan@idiocy.org>
331         Handle NSAttributedString inputs (bug#29837)
334         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
336 2018-06-17  Philipp Stephani  <phst@google.com>
338         Allow inserting non-BMP characters
340         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
341         from coding.c and document.
342         (surrogates_to_codepoint): New function.
344         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
346         (cherry picked from commit 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)
348 2018-06-17  Aaron Jensen  <aaronjensen@gmail.com>
350         Prevent errant scroll on mouse click (Bug#31546)
352         * src/nsterm.m (ns_mouse_position): Use correct frame when determining
353           mouse position.
354         * lisp/mouse.el (mouse-drag-track): Only account for mode-line height
355           if `mode-line-format' is non-nil.
357 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
359         Minor documentation fix
361         * doc/lispref/windows.texi (Window Start and End): Improve
362         documentation and indexing of window-end.
364 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
366         * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)
368 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
370         Fix byte compilation of (eq foo 'default)
372         Backport from master.
373         Do not use the symbol ‘default’ as a special marker.
374         Instead, use a value that cannot appear in the program,
375         improving on a patch proposed by Robert Cochran (Bug#31718#14).
376         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
377         New constant.
378         (byte-compile-cond-jump-table-info)
379         (byte-compile-cond-jump-table): Use it instead of 'default.
380         * test/lisp/emacs-lisp/bytecomp-tests.el:
381         (byte-opt-testsuite-arith-data): Add a test for the bug.
383 2018-06-16  Michael Albinus  <michael.albinus@gmx.de>
385         Fix Bug#31846.  Do not merge with master
387         * lisp/net/secrets.el (secrets-search-items)
388         (secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)
390 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
392         Fix documentation of ':propertize' in mode-line-format
394         * doc/lispref/modes.texi (Mode Line Data): Make the description of
395         ':propertize' more accurate.  (Bug#26291)
397 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
399         Reject invalid 5-byte sequences when detecting UTF-8 encoding
401         * src/coding.c (detect_coding_utf_8): Reject multibyte sequences
402         whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
403         (Bug#31829)
404         * src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
405         about the connection between the value of this macro and MAX_CHAR.
407 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
409         Fix 'replace-buffer-contents' in multibyte buffers
411         * src/editfns.c (buffer_chars_equal): Pass a byte position to
412         BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
413         (Bug#31837)
415         * test/src/editfns-tests.el (replace-buffer-contents-bug31837):
416         New test.
418 2018-06-15  Robert Pluim  <rpluim@gmail.com>
420         Update etc/NEWS for mail-source-movemail-program change
422         * etc/NEWS: Describe change in how we search for
423         mail-source-movemail-program.
425 2018-06-15  Robert Pluim  <rpluim@gmail.com>
427         Improve movemail default
429         * lisp/gnus/mail-source.el (mail-source-movemail-program):
430         Change default to "movemail".
431         (mail-source-movemail): Pass just mail-source-movemail-program to
432         call-process instead of fully specifying it relative to
433         exec-directory.  Ensures that we will find Mailutils movemail if
434         it is installed.  (Bug#31737)
436 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
438         Delete description of deleted Customize functions
440         * doc/lispref/customize.texi (Variable Definitions): Remove the
441         description of 'custom-initialize-safe-set' and
442         'custom-initialize-safe-default', which were deleted in Emacs
443         23.2, and replace with the description of
444         'custom-initialize-delay'.
446 2018-06-14  Noam Postavsky  <npostavs@gmail.com>
448         Keep vc-print-log from putting point at buffer end (Bug#31764)
450         * lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
451         `vc-print-log-setup-buttons'.
453 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
455         Don’t set EMACS=t if Bash is 4.4 or newer
457         (Backport from master.)
458         (Thanks to Stefan Monnier for improvements to this patch.)
459         * lisp/term.el (term--bash-needs-EMACS-status): New var.
460         (term--bash-needs-EMACSp): New function.
461         (term-exec-1): Use it instead of always setting EMACS.
463 2018-06-14  Eli Zaretskii  <eliz@gnu.org>
465         Improve commentary in info.el
467         * lisp/info.el: Explain in commentary why some commands start with
468         "info-" and others with "Info-".  See also
469         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.
471 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
473         Fix wording in tramp.texi
475         * doc/misc/tramp.texi (Frequently Asked Questions):
476         Fix wording for abbreviations.
478 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
480         * doc/misc/tramp.texi (Remote shell setup): Fix typo.
482 2018-06-12  Sam Steingold  <sds@gnu.org>
484         Finish the Bug#11728 work: hg & git
486         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
487         Do not set `compilation-error-regexp-alist', this is done in
488         `vc-compilation-mode'.
489         (vc-git-error-regexp-alist): Tweak the regexp.
490         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
491         (vc-hg--pushpull): Accept `post-processing' argument.
492         Call them after the `command'.
493         (vc-hg-pull): Pass the `post-processing' commands that show which
494         are to be modified by the `update', and then run `update'.
496 2018-06-12  Sam Steingold  <sds@gnu.org>
498         Fix Bug#11728: show files updated by git
500         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
501         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
502         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
503         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
505 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
507         Make 'tags' targets respect --with-silent-rules (Bug#31744)
509         * lwlib/Makefile.in (TAGS):
510         * lisp/Makefile.in (TAGS):
511         * src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
512         * src/Makefile.in: Note that TAGS are generated in build dir.
514 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
515             Noam Postavsky  <npostavs@gmail.com>
517         soap-client: Add byte-code compatibility function (Bug#31742)
519         * lisp/net/soap-client.el: Bump version to 3.1.4.
520         (soap-type-of): New function.
521         (soap-resolve-references, soap-decode-type)
522         (soap-encode-attributes, soap-encode-value): Replace aref
523         calls with calls to soap-type-of.
525         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
526         Replace aref calls with calls to soap-type-of.
529         Backport: (cherry picked from commit
530         1feb2e221349f26ec26bc684e0cce2acecbed3ca)
532 2018-06-11  Eli Zaretskii  <eliz@gnu.org>
534         * doc/lispref/files.texi (Unique File Names): Fix a typo.  (Bug#31784)
536 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
538         Fix term.el cursor movement at bottom margin (Bug#31690)
540         * lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
541         cursor to the bottom margin line, rather than stopping one line
542         before.
544 2018-06-10  Reuben Thomas  <rrt@sc3d.org>
546         Call enchant-lsmod correctly when Enchant is installed with a suffix
548         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
549         version suffix on the binary name, so enchant-2 is converted to
550         enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)
552         (cherry picked from commit a402d9aacbecf4bf0b9afde592a3b90c71f96832)
554 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
556         Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
558         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
559         Andy Moreton <andrewjmoreton@gmail.com>.
561 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
563         Update Unicode data files to version 11.0.0 of Unicode
565         * admin/unidata/UnicodeData.txt:
566         * admin/unidata/SpecialCasing.txt:
567         * admin/unidata/NormalizationTest.txt:
568         * admin/unidata/copyright.html:
569         * admin/unidata/BidiMirroring.txt:
570         * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
571         * admin/notes/unicode: Update the URL for OTF script tags.
573         * lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
574         * lisp/international/fontset.el (script-representative-chars): Add
575         hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
576         makasar, and medefaidrin.
577         (otf-script-alist): Add old-hungarian.
578         * lisp/international/characters.el (tbl): Add syntax entries for
579         Supplemental Mathematical Operators, Miscellaneous Symbols and
580         Arrows, and Supplemental Punctuation.
581         Update the list of wide characters.
583         * test/lisp/international/ucs-normalize-tests.el
584         (ucs-normalize-tests--failing-lines-part2): Update to match
585         admin/unidata/NormalizationTest.txt.
587         * doc/lispref/nonascii.texi (Character Properties): Update the
588         reference to the Unicode Standard.
589         * doc/misc/efaq.texi (New in Emacs 26):
590         * etc/NEWS: Mention compatibility with Unicode 11.0.
592 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
594         * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (Bug#31759)
596 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
598         Clarify the documentation of 'dired-recursive-deletes'
600         * doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
601         recursive deletion of non-empty directories.  (Bug#31529)
603 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
605         Clarify doc string of 'update-glyphless-char-display'
607         * lisp/international/characters.el
608         (update-glyphless-char-display): Doc fix.  (Bug#31730)
610 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
612         Clarify subtle issues with 'eq' in byte-compiled code
614         * doc/lispref/objects.texi (Equality Predicates): Explain why
615         byte-compiled code might compare literal objects with identical
616         contents as 'eq'.  (Bug#31688)
618 2018-06-07  Gemini Lasswell  <gazally@runbox.com>
620         Make cl-print respect print-quoted (bug#31649)
622         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
623         print-quoted when printing quote and its relatives.  Add printing of
624         'function' as #'.
626 2018-06-07  Martin Rudalics  <rudalics@gmx.at>
628         Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)
630         * src/window.c (Fset_window_configuration): Prevent that the
631         fix for Bug#12208 affects restoration of window points when
632         using separate minibuffer frames (Bug#31695).
634 2018-06-06  Nicolas Petton  <nicolas@petton.fr>
636         * etc/emacs.appdata.xml: Update Emacs screenshot.
638 2018-06-06  Eli Zaretskii  <eliz@gnu.org>
640         Fix cursor movement by 'next-logical-line' after 'next-line'
642         * src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
643         are being displayed.  Remove unneeded "correction" of TO_X at the
644         goal line.
646         * lisp/simple.el (last--line-number-width): Remove unneeded
647         variable.
648         (line-move-visual): Account for line-number display width by
649         adjusting the pixel X coordinate that gets converted into
650         canonical columns passed to vertical-motion, instead of adjusting
651         temporary-goal-column (which then affects next commands, including
652         next-logical-line).  (Bug#31723)
654 2018-06-05  Allen Li  <darkfeline@felesatra.moe>
656         Fix prompt in bookmark.el (Bug#24726)
658         * lisp/bookmark.el (bookmark-set-internal): Conform to the standard
659         default prompt format (per `minibuffer-electric-default-mode') which
660         does not use a colon.
662 2018-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
664         Improve documentation of 'empty' whitespace-style
666         * doc/emacs/display.texi (Useless Whitespace): Clarify that the
667         'empty' whitespace-style option highlights empty lines only at
668         BOB/EOB, as per the docstring of whitespace-style. (bug#31713)
670 2018-06-05  Paul Eggert  <eggert@cs.ucla.edu>
672         Port FC_COLOR change to older fontconfig
674         Problem reported by John ff in:
675         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
676         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
677         Don’t use FC_COLOR on older fontconfigs that don’t have it.
679 2018-06-05  Robert Pluim  <rpluim@gmail.com>
681         Ignore color fonts when using Xft
683         * src/font.c (syms_of_font): New configuration variable
684         xft-ignore-color-fonts, default t.
685         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
686         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
687         * etc/NEWS: Document xft-ignore-color-fonts.
689 2018-06-04  Noam Postavsky  <npostavs@gmail.com>
691         Fix comint-get-old-input-default for output field case (Bug#25028)
693         * lisp/comint.el (comint-get-old-input-default): Don't return whole
694         field when point was on an output field.
696 2018-06-04  Eli Zaretskii  <eliz@gnu.org>
698         Prevent infloop in 'delete-trailing-whitespace'
700         * lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
701         when some region of trailing whitespace is unmodifiable.
702         (Bug#31557)
704 2018-06-04  Gemini Lasswell  <gazally@runbox.com>
706         Make cl-print respect print-level and print-length (bug#31559)
708         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
709         (cl-print-object) <cons>: Print ellipsis if printing depth greater
710         than 'print-level' or length of list greater than 'print-length'.
711         (cl-print-object) <vector>: Truncate printing with ellipsis if
712         vector is longer than 'print-length'.
713         (cl-print-object) <cl-structure-object>: Truncate printing with
714         ellipsis if structure has more slots than 'print-length'.
715         (cl-print-object) <:around>: Bind 'cl-print--depth'.
716         * test/lisp/emacs-lisp/cl-print-tests.el
717         (cl-print-tests-3, cl-print-tests-4): New tests.
719         (cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)
721 2018-06-03  Phil Sainty  <psainty@orcon.net.nz>
723         Fix remote-host directory tracking for shells in `term' buffers
725         * lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
726         tramp method when constructing the tramp path for a non-local host,
727         as this is now mandatory.  "-" is a pseudo-method for the user's
728         `tramp-default-method'.  (Bug#31355)
730         Specify the remote username explicitly in all cases, as
731         `tramp-default-user' and `tramp-default-user-alist' could cause the
732         previous logic to fail.
734         Minor related improvements to the commentary.
736 2018-06-03  Eli Zaretskii  <eliz@gnu.org>
738         Update doc string of 'rx'
740         * lisp/emacs-lisp/rx.el (rx): Update the description of some
741         character classes.
743 2018-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
745         Fix bug#30846, along with misc cleanups found along the way
747         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
749         * src/buffer.c (swap_out_buffer_local_variables): Remove.
750         Fuse the body of its loop into that of reset_buffer_local_variables.
751         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
752         (reset_buffer_local_variables): Make sure the buffer's local binding
753         is swapped out before removing it from the alist (bug#30846).
754         Call watchers before actually killing the var.
756         * src/data.c (Fmake_local_variable): Simplify.
757         Use swap_in_global_binding to swap out any local binding, instead of
758         a mix of find_symbol_value followed by messing with where&found.
759         Don't call swap_in_symval_forwarding since the currently swapped
760         binding is never one we've modified.
761         (Fkill_local_variable): Use swap_in_global_binding rather than messing
762         with where&found to try and trick find_symbol_value into doing the same.
764         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
766         (cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)
768 2018-06-03  Jay Kamat  <jaygkamat@gmail.com>
770         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
772         Examples of broken behavior:
774             sudo -u root whoami
775             Outputs: -u
776             ls -I '*.txt' /dev/null
777             Errors with: *.txt: No such file or directory
779         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
780         args to eshell--args, as we rely on modifications from
781         eshell--process-option and vice versa.  These modifications were not
782         being propogated in the (if (= ai 0)) case, since popping the first
783         element of a list doesn't destructively modify the underlying list
784         object.
786         (cherry picked from commit 92a8230e49a65be48442ee95cf50c90514e48f99)
788 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
790         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
792         (cherry picked from commit 217202c084232f36d4fa0fead0f3aca21396d074)
794 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
796         Fix cl-print for circular sublists (Bug#31146)
798         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
799         element of list being printed onto cl-print--currently-printing.
800         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
801         test.
803         (cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)
805 2018-06-03  Lars Ingebrigtsen  <larsi@gnus.org>
807         Revert "Make mail-extract-address-components return the user name more"
809         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
811         According to tests in bug#27656 by OGAWA Hirofumi, this patch
812         led to wrong results when binding
814         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
815           (dolist (ignore-single '(t nil))
816             (dolist (ignore-same '(t nil))
817               (let ((mail-extr-ignore-single-names ignore-single)
818                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
819                 (message "%s" (mail-extract-address-components addr))))))
821         in combination.
823         (cherry picked from commit a3a9d5434d56f8736cc47e379a1d011d4c779b7c)
825 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
827         Centralize Bug#30931 fix
829         * src/marker.c (detach_marker): New function.
830         * src/editfns.c (save_restriction_restore):
831         * src/insdel.c (signal_before_change): Use it.
833         (cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)
835 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
837         Fix another case of freed markers in the undo-list (Bug#30931)
839         * src/alloc.c (free_marker): Remove.
840         * src/editfns.c (save_restriction_restore):
841         * src/insdel.c (signal_before_change): Detach the markers from the
842         buffer when we're done with them instead of calling free_marker on
843         them.
844         * test/src/editfns-tests.el (delete-region-undo-markers-1)
845         (delete-region-undo-markers-2): New tests.
847         (cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)
849 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
851         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
853         * src/editfns.c (save_restriction_restore):
854         Wait for the GC to free the temporary markers (Bug#30931).
856         (cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)
858 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
860         Don't wait for visible frames to become visible
862         For discussion, see thread starting at
863         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html.
864         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
865         calling x_wait_for_event.
867         (cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c
868         and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)
870 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
872         query-replace undo: Handle when user edits the replacement string
874         * lisp/replace.el (perform-replace): Update the replacement string
875         after the user edit it (Fix Bug#31538).
877         * test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.
879         Backport: (cherry picked from commits
880         ea133e04f49afa7928e49a3ac4a85b47f6f13f01
881         and
882         7dcfdf5b14325ae7996f272f14c72810d7c84944)
884 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
886         Backport: Fix corner case in query-replace-regexp undo
888         This commit fixes Bug#31492.
889         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
891         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
893         (cherry picked from commit bab73230d1be1fe394b7269c1365ef6fb1a5d9b3)
895 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
897         Backport: Preserve case in query-replace undo
899         If the user query and replaces 'foo' with 'BAR', then
900         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
901         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
902         value during undo/undo-all actions.
903         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
905         (cherry picked from commit 32dc0cb1b5ae895d237c7118ccaeb084715934fd)
907 2018-06-02  Alan Third  <alan@idiocy.org>
909         Set accessibility subroles for child frame (bug#31324)
912         * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
913         frame is a child or not.
915 2018-06-02  Alan Third  <alan@idiocy.org>
917         Fix redefinition of child frames on NS
919         * src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
920         parent frame, remove it.
922 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
924         Improve ELisp documentation of 'clone-indirect-buffer'
926         * doc/lispref/buffers.texi (Indirect Buffers): Be more explicit
927         about the value of DISPLAY-FLAG in interactive usage.  (Bug#31648)
929 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
931         Improve documentation of 'inhibit-message'
933         * src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
934         setting it non-nil globally.  (Bug#31627)
936 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
938         Improve documentation of comment styles
940         * doc/lispref/syntax.texi (Syntax Flags): Define the "a" style.
941         (Bug#31624)
943 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
945         Documentation improvements in newcomment.el
947         * lisp/newcomment.el (uncomment-region)
948         (uncomment-region-default): Doc fixes.  (Bug#31615)
950 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
952         Imp[rove documentation of 'with-silent-modifications'
954         * doc/lispref/buffers.texi (Buffer Modification): Document
955         'with-silent-modifications'.  (Bug#31613)
956         * doc/lispref/text.texi (Changing Properties): Add a
957         cross-reference to "Buffer Modification".  Improve wording.
959 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
961         Fix decoding of directories when "~" includes non-ASCII chars
963         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
964         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
965         have different multibyteness, as this adds bytes to the byte
966         sequence, and in some situations, e.g., when the home directory
967         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
969         * lisp/startup.el (normal-top-level): Make sure default-directory
970         is set to a multibyte string when decoded on MS-Windows.
972         (cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)
974 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
976         Don't remove highlight of misspelled word on pdict save
978         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
979         flyspell-mode, as bug#11963, which this was supposed to fix, is
980         fixed better by ispell-command-loop, when the user types 'i' or
981         'a'.  Restarting Flyspell mode when the personal dictionary is
982         saved caused bug#31372 as side effect.
983         (ispell-command-loop): Test 'flyspell-mode', not whether
984         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
985         mode is turned on in the current buffer.
986         (flyspell-unhighlight-at): Add declare-function form for it.
988         (cherry picked from commit 91e582a31ada28fab5ae55bdbf959a9d30796587)
990 2018-06-02  Ari Roponen  <ari.roponen@gmail.com>
992         Fix some problems in the Cairo build
994         * src/xterm.c (x_begin_cr_clip): Create image surface.
995         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
996         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
997         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
998         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
999         instead of CAIRO for #ifdef's.
1000         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
1001         (Bug#31288)
1003         (cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)
1005 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1007         Avoid infloops in font_open_entity
1009         * src/font.c (font_open_entity): Fail after 15 iterations through
1010         the loop that looks for a font whose average_width and height are
1011         both positive.  This avoids infinite loops for fonts that, e.g.,
1012         report average_width of zero for any possible size we try.
1013         (Bug#31316)
1015         (cherry picked from commit e2879c1f837059335af89022b2a9ac9bc861e96d)
1017 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1019         Fix encoding of characters when using GB18030 fonts
1021         * lisp/international/fontset.el (font-encoding-alist): Fix the
1022         GB18030 entry to encode characters correctly when passing them to
1023         the xfont back-end.  (Bug#31315)  See also
1024         http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
1026         (cherry picked from commit bbe2cadc544e63e9378350621887f8fb9bbcc236)
1028 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1030         Fix C-p and C-n when wrap-prefix is too wide
1032         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
1033         previous/next-line when wrap-prefix is set to a too-wide
1034         stretch of whitespace.  (Bug#30432)
1036         (cherry picked from commit 842b3d7412eaed6b2c9f90c3361abb4932ec0b1d)
1038 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1040         Avoid redisplay problems with too wide wrap-prefix
1042         * src/xdisp.c (display_line): Avoid looping in redisplay when
1043         wrap-prefix is set to a too-wide stretch of whitespace.
1044         (Bug#30432)
1046         (cherry picked from commit 2a1fe08307402d6217d073f8ab7737750d253dd4)
1048 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1050         Fix 'posn-at-point' when line numbers are displayed
1052         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
1053         coordinate due to line-number display.  (Bug#30834)
1055         (cherry picked from commit 4a20174d7949028f66b18a92a75d6b74194242a8)
1057 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1059         Another followup to fixing 'window-text-pixel-width'
1061         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
1062         when we stop one buffer position short of TO.  (Bug#30746)
1064         (cherry picked from commit 33cba5405c724566673cf023513bfb1faa963bea)
1066 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1068         Fix mouse-set-point when line numbers are displayed
1070         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
1071         flag before iterating on a new line.  (Bug#30818)
1073         (cherry picked from commit 5c585b8b994aad4e6844f8eed80bdfbb396e91bf)
1075 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1077         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
1079         (cherry picked from commit 06911714ef66ea81380b1eda75a9f7cfbc9e0b65)
1081 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1083         Fix 'window-text-pixel-size' when display properties are around
1085         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
1086         there's a display property at the  TO position, and the call to
1087         move_it_to overshoots.  (Bug#30746)
1089         (cherry picked from commit 50e2c0fb5180a757d8d533518f68837ffe5909be)
1091 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1093         Fix display of TABs in hscrolled windows with line numbers
1095         * src/dispextern.h (struct it): New members tab_offset and
1096         line_number_produced_p.
1097         * src/xdisp.c (display_line): Don't set row->x to a negative value
1098         if line numbers are being displayed.  (Bug#30582)
1099         Reset the line_number_produced_p flag before laying out the glyph
1100         row.
1101         (x_produce_glyphs): Use the line_number_produced_p flag to decide
1102         whether to offset the X coordinate due to line-number display.
1103         Use the tab_offset member to restore the original TAB width for
1104         alignment purposes.
1105         (move_it_in_display_line_to): Don't produce line numbers when moving
1106         in hscrolled window to the left of first_visible_x.
1107         (maybe_produce_line_number): Set the line_number_produced_p flag.
1108         (Bug#30584)
1109         * src/term.c (produce_glyphs): Correct TAB width only when
1110         line_number_produced_p flag is set.
1112         (cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
1114 2018-06-02  Matthias Dahl  <matthias.dahl@binary-island.eu>
1116         Fix wait_reading_process_output wait_proc hang
1118         * src/process.c (read_process_output): Track bytes read from
1119         a process.
1120         (wait_reading_process_output): If called recursively through
1121         timers and/or process filters via accept-process-output, it is
1122         possible that the output of wait_proc has already been read by
1123         one of those recursive calls, leaving the original call hanging
1124         forever if no further output arrives through that fd and no
1125         timeout has been set.  Fix that by using the process read
1126         accounting to keep track of how many bytes have been read and
1127         use that as a condition to break out of the infinite loop and
1128         return to the caller as well as to calculate the proper return
1129         value (if a wait_proc is given that is).
1131         * src/process.h (struct Lisp_Process): Add nbytes_read to track
1132         bytes read from a process.
1134         (cherry picked from commit 4ba32858d61eee16f17b51aca01c15211a0912f8)
1136 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
1138         Fix posn-at-point in Flycheck buffers
1140         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
1142         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
1143         under truncate-lines if the glyph at TO_CHARPOS was not yet
1144         produced.  This avoids bailing out too early when we are at
1145         TO_CHARPOS, but didn't yet produce glyphs for that buffer
1146         position, because the last call to PRODUCE_GLYPHS at this position
1147         was for an object other than the buffer.  For further details, see
1148         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
1150         (cherry picked from commit c0154ac7c3423f68d8f3a2e85a756c9759219039)
1152 2018-06-02  Martin Rudalics  <rudalics@gmx.at>
1154         * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31650)
1156 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
1158         Update Emacs Lisp Intro to match current behavior
1160         * doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument)
1161         (debug, debug-on-entry, Void Function, Void Variable): Update the
1162         *Backtrace* buffer display to current Emacs.  (Bug#31654)
1164 2018-06-01  Robert Pluim  <rpluim@gmail.com>
1166         Fix previous commit
1168         * doc/emacs/files.texi (Interlocking): Two spaces at end of sentence
1170 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
1172         Fix typos in several manuals (Bug#31610)
1174 2018-06-01  Robert Pluim  <rpluim@gmail.com>
1176         Add detailed documentation about lock files
1178         * doc/emacs/files.texi (Interlocking): Point user at detailed
1179         file locking description in lisp reference manual.  Add index
1180         entry for '.#' to improve disoverability of information about locking.
1182         * doc/lispref/files.texi (File Locks): Describe in detail what
1183         the form of the lock file is.  Add index entry for '.#' to
1184         improve disoverability of information about locking.
1186         * src/filelock.c (create-lockfiles): Add cross reference to
1187         file locking in user manual and to 'lock-buffer'.  Add string
1188         '.#' to help users find the doc string.
1190 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
1192         Add commentary for subtle aspect of frame.el
1194         * lisp/frame.el: Explain why we use symbol-function when adding
1195         watchers for certain variables that need to trigger redisplay.
1197 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
1199         Improve documentation of 'directory-files-and-attributes'
1201         * doc/lispref/files.texi (Contents of Directories): Fix inaccurate
1202         description of the return value of directory-files-and-attributes.
1204         * src/dired.c (Fdirectory_files_and_attributes): Describe the
1205         function's value in more detail.
1207 2018-05-30  Katsumi Yamaoka  <yamaoka@jpl.org>
1209         * lisp/gnus/message.el (message-remove-header): Don't remove things
1210         not looking like header (bug#31651).
1212 2018-05-30  Eli Zaretskii  <eliz@gnu.org>
1214         Adapt hexl-mode to native line-number display
1216         * lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
1217         effect, adjust offsets and columns to account for the line-number
1218         display.  (Bug#31595)
1220 2018-05-30  Michael Albinus  <michael.albinus@gmx.de>
1222         Fix example in Tramp manual
1224         * doc/misc/tramp.texi (Frequently Asked Questions): Fix wording
1225         for the zsh example.
1227 2018-05-29  Robert Pluim  <rpluim@gmail.com>
1229         Handle case where Xft is found but not XRender
1231         * configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
1232         XRender is not found.  (Bug#31634)
1234 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
1236         * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh example.
1238 2018-05-29  Damien Cassou  <damien@cassou.me>
1240         Improve read-multiple-choice docstring (Bug#31628)
1242         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
1244 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
1246         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
1248 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
1250         Fix Bug#31605
1252         * doc/misc/tramp.texi (All): Add @vindex entries for
1253         environment variables.
1254         (Remote shell setup): New items `tramp-terminal-type' and
1255         "Determining a Tramp session".
1256         (Frequently Asked Questions): Adapt zsh example.  (Bug#31605)
1258 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
1260         Sync with Tramp 2.3.4-pre
1262         * doc/misc/trampver.texi: Change version to "2.3.4-pre
1264         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
1265         (tramp-backup-directory-alist, tramp-auto-save-directory)
1266         (tramp-encoding-shell, tramp-encoding-command-switch)
1267         (tramp-encoding-command-interactive, tramp-default-method)
1268         (tramp-default-method-alist, tramp-default-user)
1269         (tramp-default-user-alist, tramp-default-host)
1270         (tramp-default-host-alist, tramp-default-proxies-alist)
1271         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
1272         (tramp-local-end-of-line, tramp-rsh-end-of-line)
1273         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
1274         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
1275         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
1276         (tramp-terminal-prompt-regexp)
1277         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
1278         (tramp-process-alive-regexp, tramp-chunksize)
1279         (tramp-process-connection-type, tramp-connection-timeout)
1280         (tramp-connection-min-time-diff)
1281         (tramp-completion-reread-directory-timeout):
1282         * lisp/net/tramp-adb.el (tramp-adb-program)
1283         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
1284         * lisp/net/tramp-cache.el (tramp-connection-properties)
1285         (tramp-persistency-file-name):
1286         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
1287         (tramp-gvfs-zeroconf-domain, tramp-bluez-discover-devices-timeout):
1288         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
1289         (tramp-copy-size-limit, tramp-terminal-type)
1290         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
1291         (tramp-remote-path, tramp-remote-process-environment)
1292         (tramp-sh-extra-args):
1293         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
1294         (tramp-smb-conf, tramp-smb-winexe-program)
1295         (tramp-smb-winexe-shell-command)
1296         (tramp-smb-winexe-shell-command-switch):
1297         Dont't require 'tramp.  (Bug#31558)
1299         * lisp/net/tramp.el (tramp-accept-process-output):
1300         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
1301         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
1302         (tramp-sh-handle-start-file-process):
1303         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
1304         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
1305         (tramp-smb-handle-set-file-acl)
1306         (tramp-smb-handle-start-file-process): Suppress timers.
1308         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
1309         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
1310         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
1311         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
1312         Write proper message.
1314         * lisp/net/tramp-cmds.el (tramp-change-syntax):
1315         Use `customize-set-variable'.
1317         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1318         Ensure proper EOL handling for Darwin.
1319         (tramp-find-inline-compress): Improve command quoting for w32.
1320         Reported by Chris Zheng <chriszheng99@gmail.com>.
1321         (tramp-open-connection-setup-interactive-shell): Wrap both echo
1322         calls in parentheses, in order to avoid double prompt.
1324         * lisp/net/tramp-smb.el (tramp-smb-errors):
1325         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
1327         * lisp/net/tramp.el (tramp-default-user-alist)
1328         (tramp-default-host-alist): Fix docstring.
1329         (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
1330         (tramp-make-tramp-file-name): Check, that method is
1331         not empty.  (Bug#30038)
1332         (tramp-message-show-message): Change default.
1334         * lisp/net/trampver.el: Change version to "2.3.4-pre".
1336         * test/lisp/net/tramp-tests.el (ert-x): Require it.
1337         (tramp-test10-write-region): Extend test.
1338         (tramp--test-emacs27-p, tramp--test-windows-nt): New defuns.
1339         (tramp-test11-copy-file, tramp-test12-rename-file)
1340         (tramp-test21-file-links, tramp-test24-file-acl)
1341         (tramp-test25-file-selinux, tramp--test-check-files): Use them.
1342         (tramp-test21-file-links): Do not call `make-symbolic-link' on w32.
1343         Fix file name quoting test.
1344         (tramp-test32-environment-variables-and-port-numbers):
1345         Adapt check for systems which do not support "echo -n".  (Bug#29712)
1346         (tramp-test36-find-backup-file-name): Call also
1347         `convert-standard-filename' due to w32.
1348         (tramp-test41-asynchronous-requests):
1349         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
1350         (tramp-test42-auto-load, tramp-test42-delay-load)
1351         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
1352         Quote command due to w32.
1354 2018-05-28  Eli Zaretskii  <eliz@gnu.org>
1356         Bump Emacs version to 26.1.50
1358         * msdos/sed2v2.inp:
1359         * nt/README.W32:
1360         * configure.ac:
1361         * README: Bump Emacs version to 26.1.50.
1363 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
1365         Mention pcase as a fifth conditional form
1367         * doc/lispref/control.texi (Conditionals): ...here,
1368         in first para, w/ xref to "Pattern-Matching Conditional".
1370 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
1372         Overhaul pcase documentation
1374         Suggested by Drew Adams (Bug#31311).
1376         * doc/lispref/control.texi (Control Structures):
1377         Add "Pattern-Matching Conditional" to menu, before "Iteration".
1378         (Conditionals): Delete menu.
1379         (Pattern matching case statement): Delete node/subsection,
1380         by actually moving, renaming, and overhauling it to...
1381         (Pattern-Matching Conditional): ...new node/section.
1382         (pcase Macro): New node/subsection.
1383         (Extending pcase): Likewise.
1384         (Backquote Patterns): Likewise.
1385         * doc/lispref/elisp.texi (Top) In @detailmenu, add
1386         "Pattern-Matching Conditional" under "Control Structures"
1387         section and delete "Conditionals" section.
1388         * lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
1389         (pcase-defmacro \` (qpat) ...): Likewise.
1391 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
1393         Use EXPVAL in docstrings of patterns defined using pcase-defmacro
1395         Suggested by Drew Adams (Bug#31311).
1397         * lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
1398         * lisp/emacs-lisp/eieio.el (eieio): Likewise.
1399         * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
1400         * lisp/emacs-lisp/rx.el (rx): Likewise.
1402 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
1404         Introduce EXPVAL for pcase, pcase-defmacro docstrings
1406         Suggested by Drew Adams (Bug#31311).
1408         * lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
1409         docstring to stand for the result of evaluating EXP.
1410         (pcase-defmacro): Add (fn ...) form in docstring
1411         that includes [DOC], and the EXPVAL convention.
1413 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
1415         Ensure pcase doc shows `QPAT first among extensions
1417         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
1418         Split extensions display into two phases, collection
1419         and display, separated by a reordering step that
1420         ensures backquote is the first.
1422 2018-05-25  Nicolas Petton  <nicolas@petton.fr>
1424         * etc/HISTORY: Update for Emacs 26.1 release.
1426         * etc/AUTHORS: Update.
1428 2018-05-25  Noam Postavsky  <npostavs@gmail.com>
1430         Note caveat for backward regexp searching in docstring (Bug#31584)
1432         * src/search.c (Fre_search_backward): Emphasize that backwards
1433         searches may give shorter than expected matches.
1434         * doc/lispref/searching.texi (Regexp Search): Add an anchor for
1435         re-search-backward to reference.
1437 2018-05-25  Eli Zaretskii  <eliz@gnu.org>
1439         Update backtrace in Emacs Lisp Intro
1441         * doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
1442         backtrace to match Emacs 26.  (Bug#31589)
1444 2018-05-24  Roland Winkler  <winkler@gnu.org>
1446         Move window-point in bibtex-search-entry
1448         * lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
1449         to record found.
1451 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
1453         More fixes of Intro to Emacs Lisp
1455         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
1456         reader how to invoke 'M-.' without a tags table.  Add a
1457         cross-reference to the Emacs manual for when a tags table does
1458         need to be created.
1459         (append save-excursion): Rephrase a confusing sentence.
1460         (Bug#31578)
1462 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
1464         Add a footnote to Emacs Lisp Intro
1466         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
1467         the detailed output of integer value evaluation in a footnote, to
1468         prevent confusion.  (Bug#31579)
1470 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
1472         * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
1474 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
1476         Fix some cross-references in emacs-lisp-intro.texi
1478         * doc/lispintro/emacs-lisp-intro.texi (List Processing)
1479         (Determining the Element, graph-body-print): Fix cross-references
1480         to subsections that don't exist in the printed version of the
1481         manual.  (Bug#31567)
1483 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
1485         Minor copyedits in Emacs manual in macos.texi
1487         * doc/emacs/macos.texi (Mac / GNUstep Basics)
1488         (Mac / GNUstep Events): Fix markup and capitalization.
1489         (Bug#31568)
1491 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
1493         Clarify when to use advice-add vs add-function
1495         * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
1496         advice-add should be used for named functions.
1498 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
1500         Minor formatting tweak in the Emacs manual
1502         * doc/emacs/custom.texi (Directory Variables): Don't have 2
1503         footnotes back to back, it looks bad in HTML.  (Bug#31555)
1505 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
1507         Update comments in Intro to Emacs Lisp
1509         * doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
1510         what are roman page numbers in Preface about.  (Bug#31541)
1512 2018-05-21  Noam Postavsky  <npostavs@gmail.com>
1514         * etc/NEWS: Mention change in `edebug-prin1-to-string'.
1516 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
1518         Another attempt to fix sql.el
1520         * lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
1521         of the SQL buffer name.  (Bug#31446)
1523 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
1525         Update binding of 'M-.' in Intro to Emacs Lisp
1527         * doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
1528         (Finding More, Buffer Related Review, Buffer Exercises)
1529         (Find a File, Conclusion): 'M-.' is now bound to
1530         'xref-find-definitions'.  (Bug#31542)
1532 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
1534         Fix a typo in last change in sql.el
1536         * lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
1537         not 'zerop'.  (Bug#31446)
1539 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
1541         Fix capitalization of mail headers
1543         * doc/emacs/sending.texi (Mail Format, Mail Headers)
1544         (Mail Aliases, Header Editing): Use consistent capitalization of
1545         CC, BCC, and FCC.  (Bug#31532)
1547 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
1549         Fix buffer names in sql.el
1551         * lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
1552         buffer name is determined by prefix arg.  (Bug#31446)
1554 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
1556         Minor fixes in the Emacs manual
1558         * doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
1559         (Single Shell): Rephrase an unclear sentence.  (Bug#31535)
1560         (Remote Host): Use @command where appropriate.  (Bug#31536)
1562 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
1564         Fix a typo in rmail.texi
1566         * doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
1567         (Bug#31533)
1569 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1571         * etc/PROBLEMS: Document Bug#31305.
1573 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
1575         (gnus-blocked-images): Clarify privacy implications
1577         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
1578         implication of altering the value of this variable.
1580         (cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)
1582 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
1584         Fix a typo in describing input methods
1586         * lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)
1588 2018-05-14  Eli Zaretskii  <eliz@gnu.org>
1590         Clarify the mode-line indicators in CC Mode
1592         * doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
1593         CC Mode mode-line.  (Bug31445)
1595 2018-05-12  João Távora  <joaotavora@gmail.com>
1597         Fix filesystem littering by Flymake's legacy backend
1599         The Flymake legacy "proc" backend, which is active by default will try
1600         to syntax-check foo.c/foo.cpp and many other types of files, but on
1601         failing to find a suitable Makefile target, will fail.  There's
1602         nothing wrong with that except that it used to leave behind the
1603         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
1604         the filesystem.
1606         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
1607         Call init-function inside of the unwind-protect.
1609 2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>
1611         * doc/emacs/help.texi: Fix paren typo.
1613 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
1615         More minor changes in shell-related nodes of Emacs manual
1617         * doc/emacs/misc.texi (Interactive Shell): Clarify how the window
1618         that displays "*shell*" is selected.
1619         (Shell Prompts): Fix a typo.  Reported by Jorge
1620         <jorge+list@disroot.org> in emacs-manual-bugs.
1622 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
1624         Fix inaccuracies in "Shell Ring" node of Emacs manual
1626         * doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
1627         insist on Shell history commands being "jsut like" similar
1628         commands that operate on minibuffer history.  Reported by Jorge
1629         <jorge+list@disroot.org> in emacs-manual-bugs.
1631 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
1633         Improve documentation of kmacro commands and variables.
1635         * lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
1636         (kmacro-counter, kmacro-set-format, kmacro-set-counter)
1637         (kmacro-add-counter, kmacro-counter-format)
1638         (kmacro-insert-counter): Clarify and improve the doc strings.
1639         (Bug#31243)
1641 2018-05-11  Noam Postavsky  <npostavs@gmail.com>
1643         * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
1645 2018-05-08  Noam Postavsky  <npostavs@gmail.com>
1647         Don't check non-X frames for z order (Bug#31373)
1649         * src/xfns.c (x_frame_list_z_order): Only use frames with
1650         `output_method' set to `output_x_window'.
1652 2018-05-07  Alan Third  <alan@idiocy.org>
1654         Check NSWindow is actually a frame
1656         * src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
1657         of EmacsView before treating it as one.
1659 2018-05-06  Xu Chunyang  <mail@xuchunyang.me>
1661         Fix gud-statement for pdb
1663         * lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
1664         (Bug#31363)
1666 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
1668         Document 'custom-group'
1670         * doc/lispref/customize.texi (Group Definitions): Document the
1671         'custom-group' property.
1673 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
1675         A minor addition to etc/DEBUG
1677         * etc/DEBUG: Add a note for macOS users who get error messages
1678         when trying to run GDB.
1680 2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
1682         Avoid errors in ispell.el when Enchant returns empty extra chars
1684         * lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
1685         Handle the case of empty extra characters returned by the
1686         Enchant '-lsmod' command. (Bug#31344)
1688 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
1690         Make 'ispell-initialize-spellchecker-hook' work again
1692         * lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
1693         Defvar it to allow dynamic binding.  (Bug#31341)
1695 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
1697         Handle selected_window change in prepare_menu_bars (Bug#31312)
1699         * src/xdisp.c (redisplay_internal): Check selected_window after
1700         calling prepare_menu_bars, since it can call lisp hooks.
1702 2018-05-03  Eli Zaretskii  <eliz@gnu.org>
1704         Fix report-emacs-bug via mailclient on MS-Windows
1706         * lisp/net/browse-url.el (browse-url-default-windows-browser):
1707         On MS-Windows, call url-unhex-string only for file:// URLs.
1708         (Bug#31351)
1710 2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>
1712         Port collation tests to glibc 2.27
1714         * test/src/fns-tests.el (fns-tests-collate-strings)
1715         (fns-tests-collate-sort): Don’t make unportable assumptions
1716         about how en_US.UTF-8 collation works.  These assumptions
1717         are not true on Fedora 28, which ships with glibc 2.27.
1719 2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>
1721         Port --enable-gcc-warnings to GCC 8
1723         Backport from master.
1724         * lib-src/emacsclient.c (fail):
1725         Do not dereference a null pointer.
1726         * src/frame.c (delete_frame):
1727         Add a decl with UNINIT to work around GCC bug 85563.
1728         * src/menu.h (finish_menu_items):
1729         Do not use attribute const.
1730         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
1732 2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>
1734         Advise CFLAGS= operand, not in environment, when configuring
1736         Backport from master.
1738 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
1740         Update the Emacs FAQ
1742         * doc/misc/efaq.texi (Latest version of Emacs): Update versions.
1743         (New in Emacs 26): New node.
1745         * admin/release-process: Mention the FAQ update as part of the
1746         release.
1748 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
1750         * etc/DEBUG: Minor copyedits.
1752 2018-04-26  Alan Third  <alan@idiocy.org>
1754         Clarify wording of NS drag n drop documentation
1756         * doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
1757         ns-drag-n-drop description.
1759 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
1761         Improve kill-related documentation (bug#31209)
1763         * doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
1764         current-kill.  Mention interprogram-paste-function under kill-new
1765         and kill-append.
1766         * lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
1767         (kill-append-merge-undo, kill-append): Touch-up docstrings.
1769 2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1771         * lisp/simple.el (region-extract-function): Don't hide the 'nil' case.
1773 2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)
1775         Fix pre- and post-command-hook errors in term.el
1777         Before this patch, after the terminal process dies the command
1778         hooks added in term-mode's char mode would produce errors.
1779         This fix removes these hooks when the process dies.
1780         * lisp/term.el (term-handle-exit): Remove pre-command-hook and
1781         post-command-hook because the process is dead.  (Bug#31236)
1783 2018-04-22  Charles A. Roelli  <charles@aurox.ch>
1785         * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
1787 2018-04-21  Alan Third  <alan@idiocy.org>
1789         Fix macOS drag n drop event documentation
1791         * doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
1792         references to color panel.
1793         (Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.
1795 2018-04-20  Eli Zaretskii  <eliz@gnu.org>
1797         Update the documentation of 'perform-replace'
1799         * doc/lispref/searching.texi (Search and Replace): Update the
1800         documentation of 'perform-replace'.
1802 2018-04-20  Martin Rudalics  <rudalics@gmx.at>
1804         * etc/NEWS: Another fix for the last change (noted by Juri Linkov)
1806 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
1808         Fix use of @key in Texinfo manuals
1810         * doc/misc/efaq-w32.texi (Location of init file):
1811         * doc/misc/org.texi (Editing source code, Export settings)
1812         (Closing items, Drawers, Structure editing):
1813         * doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
1814         * doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
1815         (Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
1816         (Symbolic Mode):
1817         * doc/misc/sc.texi (Electric References):
1818         * doc/misc/info.texi (Help-^L):
1819         * doc/misc/reftex.texi (Reference Styles):
1820         * doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
1821         (Lesson III---User Catalog, Using the Shell):
1822         * doc/misc/eshell.texi (Bugs and ideas):
1823         * doc/misc/ada-mode.texi (Automatic Casing):
1824         * doc/misc/ediff.texi (Selective Browsing):
1825         * doc/misc/vip.texi (Customizing Constants):
1826         * doc/misc/pcl-cvs.texi (Selected files):
1827         * doc/misc/efaq.texi (Replying to the sender of a message)
1828         (Basic keys, No Meta key, Matching parentheses)
1829         (Origin of the term Emacs, Installing Texinfo documentation)
1830         (Learning how to do something, Emacs manual, Extended commands):
1831         * doc/misc/viper.texi (Rudimentary Changes):
1832         * doc/misc/tramp.texi (Frequently Asked Questions):
1833         * doc/emacs/kmacro.texi (Basic Keyboard Macro):
1834         * doc/emacs/frames.texi (Frame Commands):
1835         * doc/emacs/msdos.texi (Windows Keyboard):
1836         * doc/emacs/search.texi (Query Replace):
1837         * doc/lispintro/emacs-lisp-intro.texi (Keybindings)
1838         (Note for Novices):
1839         * doc/lispref/tips.texi (Key Binding Conventions): Fix use of
1840         @key.  For the details, see
1841         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.
1843 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
1845         Improve documentation of actual arglist
1847         * doc/lispref/functions.texi (Function Documentation): Advise
1848         against using '(fn ARGLIST)' method of advertising a calling
1849         convention when the old calling convention is deprecated.
1850         (Bug#31191)
1852 2018-04-18  Noam Postavsky  <npostavs@gmail.com>
1854         Don't assume term-current-row cache is valid (Bug#31193)
1856         * lisp/term.el (term-down): Call `term-current-row' instead of
1857         directly accessing the variable `term-current-row.  Following a resize
1858         of the terminal's window, `term-current-row' is reset to nil, so it is
1859         not safe to assume it is a number.
1861 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
1863         Fix flyspell-auto-correct-previous-word broken by recent change
1865         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
1866         flyspell-auto-correct-region also when repeatedly invoking
1867         flyspell-auto-correct-previous-word.  (Bug#31188)
1869 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
1871         * test/src/lread-tests.el (lread-test-bug-31186): New test.
1873 2018-04-17  Andreas Schwab  <schwab@suse.de>
1875         Fix undefined behaviour while looking for lexical-binding file variable (bug 31186)
1877         * src/lread.c (lisp_file_lexically_bound_p): Reset
1878         beg_end_state before reading variable or value.
1880 2018-04-15  Eli Zaretskii  <eliz@gnu.org>
1882         Minor wording improvement in "Bookmarks"
1884         * doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
1885         "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.
1887 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
1889         Fix building etc/DOC in the MSDOS port
1891         * msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.
1893 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
1895         * lisp/select.el (gui-get-selection): Doc fix.
1897 2018-04-13  Alan Mackenzie  <acm@muc.de>
1899         Complete documentation of syntax flags by adding `c'
1901         * doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
1902         as `(1 lsh 23)'.
1904 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
1906         Fix typos and minor wording issues in ELisp manual
1908         * doc/lispref/internals.texi (Writing Emacs Primitives):
1909         * doc/lispref/display.texi (Temporary Displays): Fix typos.
1910         * doc/lispref/text.texi (Filling, Changing Properties)
1911         (Transposition): Clarify and fix typos.
1912         * doc/lispref/positions.texi (Screen Lines): Improve wording.
1913         * doc/lispref/modes.texi (Minor Mode Conventions)
1914         (Font Lock Multiline): Fix typos.
1915         * doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
1916         cross-reference.  Fix a typo.
1917         * doc/lispref/sequences.texi (Sequence Functions): Fix typos.
1918         (Bug#31143)
1920 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
1922         Avoid segfault in processes of type 'pipe'
1924         * src/process.c (Fmake_pipe_process): Set up the decoding and
1925         encoding buffers.  For the details, see
1926         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
1928 2018-04-13  Robert Pluim  <rpluim@gmail.com>
1930         Remove repetitions in documentation strings
1932         * lisp/bindings.el (right-word): Remove repetition
1933         (left-word): Likewise.
1935         * lisp/image-mode.el (image-mode-as-hex): Likewise.
1937         * lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.
1939         * lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise
1941 2018-04-12  Eli Zaretskii  <eliz@gnu.org>
1943         * lisp/image.el (image-load-path): Doc fix.
1945 2018-04-09  Nicolas Petton  <nicolas@petton.fr>
1947         * etc/AUTHORS: Regenerate.
1949 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
1951         * lisp/files.el (kept-new-versions): Improve documentation string.
1953 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
1955         Fix a minor mistake in the ELisp manual
1957         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
1958         mistake.  (Bug#31107)
1960 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
1962         * lisp/files.el (find-file-literally): Doc fix.
1964 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
1966         Fix typos in doc strings
1968         * lisp/simple.el (undo-auto--boundary-timer)
1969         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
1971 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
1973         Bump Emacs version to 26.1
1975         * README:
1976         * configure.ac:
1977         * msdos/sed2v2.inp:
1978         * nt/README.W32: Bump Emacs version to 26.1.
1980 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
1982         * lisp/emacs-lisp/inline.el: Clarify apparent typos
1984 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
1986         Allow sexp customization type in auth-sources
1988         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
1989         Update the :version tag.
1991         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
1993 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
1995         * etc/NEWS: Remove temporary markup.
1997         * etc/AUTHORS: Update.
1999         * ChangeLog.3: Update.
2001 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
2003         Fix Bug#31022
2005         * lisp/cus-start.el (temporary-file-directory): Suppress file name
2006         handlers when calling `shell-command-to-string'.  (Bug#31022)
2008 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
2010         Update "Calendrical Calculations" cites
2012         * lisp/calendar/calendar.el: Update citations to the book
2013         "Calendrical Calculations" and its predecessors.
2015 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
2017         Fix term.el rendering following a window resize (Bug#30544)
2019         * lisp/term.el (term-reset-size): Reset cached row and column values
2020         before changing point.
2022 2018-04-02  Philipp Stephani  <phst@google.com>
2024         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
2026 2018-04-01  Philipp Stephani  <phst@google.com>
2028         Quote a few backticks in docstrings.
2030         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
2031         (macroexp-if): Quote backtick in docstrings.
2033 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
2035         Minor copyedits of completion-at-point-functions documentation
2037         * lisp/minibuffer.el (completion-at-point-functions):
2038         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
2039         and filling.
2041         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
2043 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2045         (completion-at-point-functions): Improve doc
2047         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
2049 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
2051         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
2053 2018-03-31  Hong Xu  <hong@topbug.net>
2055         Mention `key-description' as inverse of `kbd' (Bug#30942)
2057         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
2058         doc.
2060 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
2062         Document return value of pcase (Bug#30425)
2064         * doc/lispref/control.texi (Pattern matching case statement):
2065         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
2066         patterns match.
2067         (pcase-exhaustive): State that an error is signaled if no patterns
2068         match.
2070 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
2072         * doc/emacs/macos.texi: Tweak grammar and capitalization.
2074 2018-03-31  Richard Stallman  <rms@gnu.org>
2076         Distinguish free from non-free OSes
2078 2018-03-28  Glenn Morris  <rgm@gnu.org>
2080         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
2082 2018-03-28  Glenn Morris  <rgm@gnu.org>
2084         Fix xrefs in pdf Emacs manual
2086         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
2087         (Fortran Columns):
2088         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
2089         Fix recent changes that neglected the splitting of the pdf manuals.
2091 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
2093         * doc/misc/org.texi (Installation): Fix clone commands.
2095 2018-03-27  Rasmus  <rasmus@gmx.us>
2097         Update Org to v9.1.9
2099         Please note this is a bugfix release. See etc/ORG-NEWS for details.
2101 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
2103         De-obsolete `if-let' and `when-let'
2105         For the following release it is planned to make `if-let*' and
2106         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
2107         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
2109         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
2110         refer to those of `if-let' and `when-let'.
2111         (if-let, when-let): De-obsolete.  Rewrite documentation.
2113 2018-03-26  Glenn Morris  <rgm@gnu.org>
2115         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
2117 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
2119         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
2121 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
2123         Fix crash after frame is freed on macOS (bug#30800)
2125         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
2126         (bug#30800)
2128 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
2130         More manual editing
2132         * doc/emacs/basic.texi:
2133         * doc/emacs/calendar.texi:
2134         * doc/emacs/display.texi:
2135         * doc/emacs/mini.texi:
2136         * doc/emacs/misc.texi:
2137         * doc/emacs/picture-xtra.texi:
2138         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
2139         <next> and <prior>.  Add missing @kindex entries.
2141         * doc/emacs/custom.texi (Function Keys): Fix and add missing
2142         key symbols.
2144 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
2146         Minor manual changes changes
2148         * doc/emacs/misc.texi (FFAP): Complete commands.
2149         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
2151 2018-03-24  Glenn Morris  <rgm@gnu.org>
2153         * lisp/calculator.el (calculator-paste-decimals): Add version.
2155 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
2157         More proofreading of the Emacs manual
2159         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
2160         (Screen Garbled): Mention the command name.
2161         (Bug Criteria): Mention that problems in packages should first be
2162         reported to the respective maintainers.
2163         (Checklist): Fix wording.
2164         (Contributing, Copyright Assignment): Minor copyedits.
2165         * doc/emacs/misc.texi (Amusements): Remove Landmark.
2166         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
2167         (Rectangles in Picture): Add a cross-reference to "Registers".
2168         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
2169         Mention command names in parentheses.
2170         (Gnus Summary Buffer): Document "M-r".
2171         (Network Security): Document that current NSM works with TLS
2172         encryption.  Fix markup.
2173         (Document View): Improve wording and fix a typo.
2174         (DocView Conversion): Rephrase description of
2175         doc-view-cache-directory.
2176         (Single Shell): Mention variables that control when shell output
2177         appears in the echo area.
2178         (Shell Mode): Improve wording.
2179         (Shell Prompts): Fix a typo.
2180         (Shell Ring, Term Mode): Mention command names.
2181         (History References): Add a cross-reference to "Rebinding".
2182         (Remote Host): Mention SSH.
2183         (TCP Emacs server): Improve wording.
2184         (emacsclient Options): Minor improvements.
2185         (PostScript): Fix wording.
2186         (PostScript Variables): Mention that ps-font-size could be a cons.
2187         (Sorting): Minor improvements.  Suggested by Michael Albinus
2188         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
2190 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
2192         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
2194         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
2196 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
2198         Explain more about (defvar foo) form (Bug#18059)
2200         * doc/lispref/variables.texi (Defining Variables)
2201         (Using Lexical Binding):
2202         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
2203         VALUE for `defvar' marks the variable special only locally.
2204         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
2205         using `defvar' without VALUE.
2207 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
2209         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
2211         * doc/lispref/anti.texi (Antinews): Fix grammar.
2213 2018-03-22  Glenn Morris  <rgm@gnu.org>
2215         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
2217         Avoids type mismatch when relevant library is not present/loaded.
2219 2018-03-22  Glenn Morris  <rgm@gnu.org>
2221         sql.el defcustom fixes
2223         * lisp/progmodes/sql.el (sql-login-params): Update.
2224         Avoids type mismatch with postgres and sqlite login params.
2225         (sql-postgres-login-params): Bump version.
2227 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
2229         Document DEFUN attributes
2231         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
2232         specification of function attributes in DEFUN.
2234 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
2236         * etc/NEWS: Add an entry for auth-source-pass.
2238 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
2240         Fix the MSDOS build
2242         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
2244 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
2246         Improve warning and error messages
2248         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
2249           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
2250           went wrong.
2252 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
2254         Adjust eieio persistence tests for expected failure
2256         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
2257          (eieio-test-persist-hash-and-vector,
2258           eieio-test-persist-interior-lists): Persistence does not currently
2259          handle deeply-nested objects. Expect current failures, and mark for
2260          future fixes.
2262 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
2264         Let eieio-persistent-read read what object-write has written
2266         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
2267           `object-write' may quote lists inside hash tables and vectors, so
2268           unquote those lists here.
2270         This patch allows the eieio-persistent write/restore process to
2271         perform a clean round trip. It only handles a very specific and
2272         limited range of object structures, but at least the write and read
2273         procedures match.
2275 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
2277         Handle possible classtype values in eieio-persistent-read
2279         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
2280           The function `eieio-persistent-slot-type-is-class-p' could return
2281           either a single class, or a list of classes.
2283 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
2285         Add new tests for eieio persistence
2287         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
2288           (hash-equal): New comparison test for hash-tables.
2289           (persist-test-save-and-compare): Use test for hash-tables.
2290           (eieio-test-persist-hash-and-vector,
2291           eieio-test-persist-interior-lists): New tests.
2293 2018-03-22  Glenn Morris  <rgm@gnu.org>
2295         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
2297         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
2299 2018-03-21  Glenn Morris  <rgm@gnu.org>
2301         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
2303 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
2305         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
2307 2018-03-21  Alan Mackenzie  <acm@muc.de>
2309         Firm up documentation of generalized variables
2311         * doc/lispref/variables.texi (Generalized Variables)
2312         (Setting Generalized Variables): Define a generalized variable as something
2313         setf can write to.  Remove the insinuation that hackers have poor memories.
2314         State explicitly that the list of GVs given is complete.  Remove the
2315         suggestion that `setf' has superseded, or is in the process of superseding,
2316         `setq'.  Make minor corrections to the English.
2318 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
2320         Improve documentation of Auto-Revert mode
2322         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
2323         applies to Dired buffers as well.  Suggested by Michael Albinus
2324         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2326 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
2328         Improvements in dired.texi
2330         * doc/emacs/dired.texi (Dired): Mention that Dired works with
2331         remote directories.
2332         (Dired Enter): ls-lisp is used on some remote systems as well.
2333         (Dired Navigation): Mention and index the command names.
2334         (Dired Deletion): Document the 'always' value of
2335         dired-recursive-deletes.  Mention the alternative deletion method.
2336         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
2337         marking does on a subdirectory header line.
2338         (Operating on Files): Document that 'Z' uses gzip or compress.
2339         (Comparison in Dired): Mention ediff-files.
2340         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
2341         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2343 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
2345         Revert "Support all perl variable declarators and prefixes"
2347         It highlights normal variable names in perl programs (Bug#30812).
2348         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
2349         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
2351         Don't merge to master, we will fix Bug#27613 properly there (it's too
2352         close to release to do that on emacs-26).
2354 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2356         Port to 32-bit sparc64
2358         Backport from master.
2359         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
2360         and Andreas Schwab (Bug#30855).
2361         * src/alloc.c (mark_memory): Call mark_maybe_object only on
2362         pointers that are properly aligned for Lisp_Object.
2364 2018-03-20  Robert Pluim  <rpluim@gmail.com>
2366         Correct Info link markup
2368         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
2369         Correct markup for Info link.
2370         * src/minibuf.c (Fcompleting_read): Likewise.
2372 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
2374         Improve documentation of 'with-help-window'
2376         * doc/lispref/help.texi (Help Functions): Change variable name
2377         to 'buffer-or-name'.
2379         * lisp/help.el (with-help-window): Change variable name to
2380         'buffer-or-name' and rewrite the doc string, adding reference
2381         to 'help-window-setup'.  (Bug#30792)
2383 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
2385         Minor improvements in building.texi
2387         * doc/emacs/building.texi (Compilation Shell): Mention that this
2388         section is for local compilation buffers.
2389         (Compilation, Compilation Mode): Mention that 'g' is bound to
2390         'recompile' in compilation buffers.
2391         (Grep Searching): Add a cross-reference to "Compilation Mode".
2392         Suggested by Michael Albinus <michael.albinus@gmx.de> in
2393         emacs-manual-bugs@gnu.org.
2395 2018-03-20  Alex Branham  <branham@utexas.edu>
2397         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
2399 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
2401         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
2403 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
2405         Yet more proofreading of the Emacs manual
2407         * doc/emacs/building.texi (Compilation, Grep Searching)
2408         (Debuggers, GUD Customization, Source Buffers)
2409         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
2410         Suggested by Michael Albinus <michael.albinus@gmx.de> in
2411         emacs-manual-bugs@gnu.org.
2413 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2415         * doc/emacs/rmail.texi: Fix broken link.
2417 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2419         Fix recently-added POP doc glitch
2421         * doc/emacs/rmail.texi (Remote Mailboxes):
2422         POP3 → POP, when talking about POP in general.
2424 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
2426         More proofreading of the Emacs manual
2428         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
2429         indexing.
2430         (Mac / GNUstep Basics, Mac / GNUstep Customization)
2431         (Mac / GNUstep Events): Improve indexing.
2433         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
2434         (Rmail Basics, Rmail Scrolling): Improve cross-references and
2435         indexing.
2436         (Rmail Motion): Minor improvements.
2437         (Rmail Inbox): Remove outdated text about Babyl format.
2438         (Rmail Files): Formatting changes.  Comment out
2439         set-rmail-inbox-list in the table of commands, as it is commented
2440         out in the text that follows.
2441         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
2442         Minor copyedits.
2443         (Rmail Summary Edit): Document
2444         rmail-summary-scroll-between-messages.
2445         (Rmail Editing): Improve indexing.
2446         (Movemail): Fix typos.
2447         (Remote Mailboxes): Use "POP3" rather than "POP".
2449 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
2451         Fix typo in the Emacs manual's VC chapter
2453         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
2455 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
2457         Pass json-readtable-error data as a list (bug#30489)
2459         * lisp/json.el (json-readtable-dispatch): Fix error data.
2460         * test/lisp/json-tests.el (test-json-read): Check error data is a
2461         list.
2463 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
2465         Improve word motion docs (Bug#30815)
2467         * doc/lispref/positions.texi (Word Motion): Fix reference to
2468         `char-script-table'.
2469         * lisp/simple.el (backward-word):
2470         * src/syntax.c (forward-word): Mention `char-script-table' and add
2471         link to the 'Word Motion' manual section.
2473 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
2475         Replace "carriage-return" by "carriage return" in manuals
2477         * doc/emacs/msdos.texi:
2478         * doc/emacs/mule.texi:
2479         * doc/emacs/screen.texi:
2480         * doc/lispref/nonascii.texi:
2481         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
2482         return".  Suggested by Richard Stallman <rms@gnu.org> in
2483         emacs-manual-bugs@gnu.org.
2485 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
2487         Minor copyedits in mule.texi
2489         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
2490         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
2491         emacs-manual-bugs@gnu.org.
2493 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
2495         Fix problems caused by fontconfig-2.13.0
2497         * src/xterm.c (x_term_init): Call fixup_locale after
2498         xg_initialize, to countermand the call to setlocale in some
2499         versions of fontconfig.  (Bug#30788)
2501 2018-03-13  Glenn Morris  <rgm@gnu.org>
2503         Fix some allout.el aliases
2505         * lisp/allout.el (allout-passphrase-verifier-string)
2506         (allout-passphrase-hint-string): Fix alias.
2508 2018-03-13  Glenn Morris  <rgm@gnu.org>
2510         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
2512 2018-03-13  Glenn Morris  <rgm@gnu.org>
2514         Doc fixes re obsolete items
2516         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
2517         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
2519 2018-03-13  Glenn Morris  <rgm@gnu.org>
2521         Replace an obsolete alias in tpu-mapper
2523         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
2524         Replace obsolete alias.
2526 2018-03-13  Glenn Morris  <rgm@gnu.org>
2528         Doc fixes re obsolete items
2530         * doc/emacs/maintaining.texi (VC Undo):
2531         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
2532         * doc/misc/url.texi (Customization):
2533         Don't mention url-temporary-directory, it essentially does nothing.
2534         * lisp/hilit-chg.el
2535         (highlight-changes-global-changes-existing-buffers): Doc fix.
2537 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
2539         Minor changes in mule.texi
2541         * doc/emacs/mule.texi (International, Coding Systems)
2542         (Bidirectional Editing): Minor wording changes and typo fixes.
2543         Suggested by Michael Albinus <michael.albinus@gmx.de> in
2544         emacs-manual-bugs@gnu.org.
2546 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
2548         Avoid assertion violation under visual-order-cursor-movement
2550         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
2551         BEGV..ZV range.  Signal Beginning of buffer error when there's a
2552         before-string at BEGV.  (Bug#30787)
2554 2018-03-13  Glenn Morris  <rgm@gnu.org>
2556         Stop mentioning options.el in doc
2558         * doc/misc/calc.texi (Customizing Embedded Mode):
2559         Remove mentions of the obsolete (since 22.1) options.el.
2560         * lisp/progmodes/meta-mode.el: Comment fix.
2562 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
2564         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
2566 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
2568         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
2570 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
2572         Fix last change in Xref documentation
2574         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
2575         accurate wording for the description of xref-etags-mode.
2577 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
2579         More changes in the Emacs manual
2581         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
2582         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
2583         emacs-manual-bugs@gnu.org.
2585         * doc/emacs/msdos.texi (Windows Keyboard):
2586         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
2587         * doc/emacs/macos.texi (Mac / GNUstep Basics):
2588         * doc/emacs/glossary.texi (Glossary):
2589         * doc/emacs/custom.texi (Function Keys, Init Syntax):
2590         * doc/emacs/commands.texi (User Input):
2591         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
2592         * doc/emacs/msdos.texi (Windows Keyboard):
2593         * doc/emacs/dired.texi (Dired Updating):
2594         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
2595         Suggested by Richard Stallman <rms@gnu.org>.
2597 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
2599         Improve documentation of Xref
2601         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
2602         xref-etags-mode.
2604 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
2606         Fix create_process bug breaking eudc-expand-inline
2608         Problem reported by Thomas Fitzsimmons (Bug#30762).
2609         * src/process.c (create_process) [HAVE_PTYS]:
2610         Call setsid even if !PTY_FLAG.
2612 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
2614         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
2616         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
2617         => (ATOM) short form is only for non-nil ATOMs.
2619 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
2621         Improve SVG documentation
2623         * doc/lispref/display.texi (ImageMagick Images): Remove an
2624         outdated comment that references a fixed bug.
2625         (SVG Images): Fix grammar, and call functions functions (there are
2626         no commands in lisp/svg.el).
2628 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
2630         Document the "URL" keyword in library headers
2632         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
2633         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
2634         (Bug#30571)
2636 2018-03-09  Glenn Morris  <rgm@gnu.org>
2638         * test/lisp/international/mule-tests.el:
2639         Avoid local variables confusion.
2641 2018-03-09  Bill Wohler  <wohler@newt.com>
2643         Add missing findex entries for recently removed kindex entries
2645         * doc/misc/mh-e.texi:
2647         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
2649 2018-03-09  Glenn Morris  <rgm@gnu.org>
2651         Replace the obsolete process-kill-without-query in documentation
2653         * lisp/comint.el (comint-exec-hook):
2654         * lisp/term.el (term-exec-hook):
2655         * lisp/eshell/esh-proc.el (eshell-exec-hook):
2656         Doc fixes re the obsolete process-kill-without-query.
2658 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
2660         Minor change in the manual
2662         * doc/emacs/display.texi (Useless Whitespace):
2663         Don't upcase "TAB" and "SPC" when alluding to characters.
2665 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
2667         More minor changes in the manual
2669         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
2670         and "SPC" when alluding to characters.  Suggested by Richard
2671         Stallman <rms@gnu.org>.
2673         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
2674         means for buffers.
2675         (Buffers): Define and describe "buffer contents".  Suggested by
2676         Richard Stallman <rms@gnu.org>.  (Bug#30685)
2678 2018-03-07  Glenn Morris  <rgm@gnu.org>
2680         Replace some obsolete aliases in code
2682         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
2683         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
2684         Replace obsolete aliases.
2686 2018-03-07  Glenn Morris  <rgm@gnu.org>
2688         Replace some obsolete aliases in documentation
2690         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
2691         * doc/misc/speedbar.texi (Major Display Modes):
2692         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
2693         Doc fixes re obsolete aliases.
2695 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
2697         Minor improvements in manuals
2699         * doc/lispref/variables.texi (Local Variables): Make more clear
2700         that local bindings of 'let' are in effect only within the body.
2701         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
2702         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
2703         for the details.
2705         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
2706         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
2707         Improve indexing.
2709 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
2711         Minor copyedits in display.texi
2713         * doc/emacs/display.texi (Highlight Interactively)
2714         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
2715         changes of wording and typo corrections.  Suggested by Michael
2716         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2718 2018-03-07  Glenn Morris  <rgm@gnu.org>
2720         Remove some unused spam.el variables
2722         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
2723         (spam-bogofilter-path, spam-bsfilter-path)
2724         (spam-spamassassin-path, spam-sa-learn-path):
2725         Remove variables that are described as obsolete, but are
2726         really completely unused, and have been for years.
2728 2018-03-07  Glenn Morris  <rgm@gnu.org>
2730         Replace some obsolete aliases in code
2732         * lisp/emulation/viper.el (viper-set-hooks):
2733         * lisp/epa-hook.el (auto-encryption-mode):
2734         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
2735         * lisp/net/quickurl.el (quickurl--assoc-function): New.
2736         (quickurl-assoc-function): Use it.
2738 2018-03-07  Glenn Morris  <rgm@gnu.org>
2740         Replace some obsolete aliases in documentation
2742         * doc/emacs/text.texi (Nroff Mode):
2743         * doc/misc/efaq.texi (How to add fonts):
2744         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
2745         * lisp/progmodes/pascal.el (pascal-outline-mode):
2746         Doc fixes re obsolete aliases.
2748 2018-03-06  Glenn Morris  <rgm@gnu.org>
2750         Obsolete eshell-cmpl-suffix-list
2752         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
2753         Make obsolete, to match pcomplete-suffix-list.
2755 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
2757         More minor changes in the Glossary of the Emacs manual
2759         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
2760         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
2761         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
2763 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
2765         Revert last commit
2767         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
2768         too late for this to be in the release.
2770 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
2772         Define if-let* and derivatives as aliases for if-let etc
2774         This commit reverts declaring `if-let' and `when-let' obsolete in
2775         favor of the new `if-let*' and `when-let*' versions because of the
2776         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
2777         for foo-let.  The old single-tuple variable spec case is still
2778         supported for backward compatibility.
2779         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
2780         obsolete.  Tweak edebug specs.
2781         (and-let): Renamed from `and-let*' for compatibility with the names
2782         `if-let' and `when-let'.
2783         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
2784         `when-let' and `and-let'.
2785         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
2786         (when-let-single-tuple-case-test): New tests for the single-binding
2787         tuple case.
2788         In the whole file, prefer the names without "*".
2790 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
2792         Minor fix in Emacs manual's Glossary
2794         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
2795         primary selection.  Reported by Gijs Hillenius
2796         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
2798 2018-03-03  Juri Linkov  <juri@linkov.net>
2800         * lisp/progmodes/grep.el (zrgrep):
2802         Let-bind grep-use-null-filename-separator to nil (bug#30559).
2804 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
2806         Minor copyedits in doc/emacs/text.texi
2808         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
2809         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
2811 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
2813         Remove outdated comment in syntax.el
2815         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
2816         outdated comment.  (Bug#30617)
2818 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
2820         Prevent Flyspell from changing unrelated words
2822         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
2823         using stale cached data from previous invocations of this command.
2824         (Bug#30462)
2826 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
2828         Avoid errors in flymake in builds --without-x
2830         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
2832 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
2834         More improvements of the Emacs manual
2836         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
2837         wording.  Suggested by Daniel Chakraborty
2838         <danielmchakraborty@gmail.com>.
2840         * doc/emacs/glossary.texi (Glossary): Add cross-references.
2841         Improve and clarify wording.  Suggested by Gijs Hillenius
2842         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
2844         * doc/emacs/text.texi (Org Authoring): Add more supported formats
2845         to the list.
2846         (TeX Print): Improve wording.  Slightly rearrange stuff.
2847         (TeX Misc): Mention doctex-mode-hook.
2848         (Two-Column): Minor rearrangement of text.  Suggested by Michael
2849         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2851         * doc/emacs/misc.texi (Saving Emacs Sessions):
2852         * doc/emacs/programs.texi (Program Modes): Remove redundant text
2853         and index entries.
2855 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
2857         Backport: xref--next-error-function: Move xref's window point
2859         * lisp/progmodes/xref.el (xref--next-error-function): Move
2860         xref's window point if it's visible.  When we don't do that,
2861         navigation can start looping after a while.
2863         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
2865 2018-03-02  Glenn Morris  <rgm@gnu.org>
2867         mwheel minor consistency fix
2869         * lisp/mwheel.el (mwheel-scroll-left-function)
2870         (mwheel-scroll-right-function):
2871         Change from defcustom to defvar, for consistency with pre-existing.
2873 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
2875         * src/window.c (Frecenter): Improve commentary.
2877 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
2879         Fix downloading non-text files in EWW
2881         * lisp/net/eww.el (eww-download-callback): Bind
2882         coding-system-for-read to 'no-conversion', to avoid any code- or
2883         EOL-conversions in downloaded files.  (Bug#30664)
2885 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
2887         Rename some mwheel options, for consistency
2889         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
2890         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
2891         mwheel-flip-direction.
2892         (mwheel-scroll): Update for option renaming.
2893         * doc/emacs/frames.texi (Mouse Commands):
2894         Update for option renaming.
2896 2018-03-01  Glenn Morris  <rgm@gnu.org>
2898         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
2900 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
2902         Improve the Emacs manual
2904         * doc/emacs/xresources.texi (Table of Resources): Mention that
2905         some resources are ignored by toolkit builds.
2906         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
2907         (Bug#30530)
2909 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
2911         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
2913 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
2915         Further improvements on manuals
2917         * doc/emacs/xresources.texi:
2918         * doc/lispref/display.texi:
2919         * doc/lispref/keymaps.texi:
2920         * doc/misc/dbus.texi:
2921         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
2923         * doc/emacs/xresources.texi (Resources): Mention several use
2924         of "-xrm".
2925         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
2927 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
2929         Require a larger stack size for threads on macOS (bug#30364)
2931         * src/systhread.c (sys_thread_create)
2932         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
2933         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
2934         Do not merge to master.
2936 2018-02-28  Glenn Morris  <rgm@gnu.org>
2938         * doc/lispref/streams.texi (Output Variables): Fix previous.
2940 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
2942         Use "GTK+" where applicable in the manual
2944         * doc/emacs/display.texi (Standard Faces, Standard Faces):
2945         * doc/emacs/emacs.texi (Top):
2946         * doc/emacs/files.texi (Visiting):
2947         * doc/emacs/frames.texi (Scroll Bars):
2948         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
2950 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
2952         Document print-escape-control-characters
2954         * doc/lispref/streams.texi, etc/NEWS: Add doc.
2956 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
2958         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
2960 2018-02-27  Glenn Morris  <rgm@gnu.org>
2962         * lisp/emulation/viper.el: Unbreak it.
2964         Since 2017-03-19, M-x viper failed with function void cl-member-if.
2965         Perhaps it isn't used much.
2967 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
2969         More fixes in the Emacs manual
2971         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
2972         Sort the resources.
2973         (Lucid Resources): Add cross-references.
2974         (GTK Resource Basics): Fix wording.
2975         (GTK styles): Add empty lines in a @table.  Suggested by Michael
2976         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
2978 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
2980         Avoid aborts in 'md5'
2982         * src/fns.c (extract_data_from_object): Don't crash if called with
2983         an invalid object.  (Bug#30627)
2985 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
2987         Mark keys consistently in manuals
2989         * doc/emacs/killing.texi:
2990         * doc/lispintro/emacs-lisp-intro.texi:
2991         * doc/misc/calc.texi:
2992         * doc/misc/cc-mode.texi:
2993         * doc/misc/dired-x.texi:
2994         * doc/misc/ede.texi:
2995         * doc/misc/edt.texi:
2996         * doc/misc/efaq.texi:
2997         * doc/misc/erc.texi:
2998         * doc/misc/eshell.texi:
2999         * doc/misc/gnus-faq.texi:
3000         * doc/misc/gnus-news.texi:
3001         * doc/misc/idlwave.texi:
3002         * doc/misc/ido.texi:
3003         * doc/misc/mairix-el.texi:
3004         * doc/misc/message.texi:
3005         * doc/misc/mh-e.texi:
3006         * doc/misc/newsticker.texi:
3007         * doc/misc/org.texi:
3008         * doc/misc/pcl-cvs.texi:
3009         * doc/misc/ses.texi:
3010         * doc/misc/sieve.texi:
3011         * doc/misc/smtpmail.texi:
3012         * doc/misc/speedbar.texi:
3013         * doc/misc/srecode.texi:
3014         * doc/misc/vhdl-mode.texi:
3015         * doc/misc/vip.texi:
3016         * doc/misc/viper.texi: Mark keys consistently.
3018 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
3020         Remove @key{} markups from @kindex entries in manuals
3022         * doc/emacs/basic.texi:
3023         * doc/emacs/buffers.texi:
3024         * doc/emacs/building.texi:
3025         * doc/emacs/calendar.texi:
3026         * doc/emacs/custom.texi:
3027         * doc/emacs/dired.texi:
3028         * doc/emacs/display.texi:
3029         * doc/emacs/files.texi:
3030         * doc/emacs/frames.texi:
3031         * doc/emacs/help.texi:
3032         * doc/emacs/indent.texi:
3033         * doc/emacs/killing.texi:
3034         * doc/emacs/kmacro.texi:
3035         * doc/emacs/mark.texi:
3036         * doc/emacs/mini.texi:
3037         * doc/emacs/misc.texi:
3038         * doc/emacs/modes.texi:
3039         * doc/emacs/msdos-xtra.texi:
3040         * doc/emacs/msdos.texi:
3041         * doc/emacs/mule.texi:
3042         * doc/emacs/picture-xtra.texi:
3043         * doc/emacs/programs.texi:
3044         * doc/emacs/regs.texi:
3045         * doc/emacs/rmail.texi:
3046         * doc/emacs/screen.texi:
3047         * doc/emacs/search.texi:
3048         * doc/emacs/sending.texi:
3049         * doc/emacs/text.texi:
3050         * doc/emacs/trouble.texi:
3051         * doc/misc/calc.texi:
3052         * doc/misc/cc-mode.texi:
3053         * doc/misc/ediff.texi:
3054         * doc/misc/ert.texi:
3055         * doc/misc/eww.texi:
3056         * doc/misc/forms.texi:
3057         * doc/misc/gnus.texi:
3058         * doc/misc/idlwave.texi:
3059         * doc/misc/info.texi:
3060         * doc/misc/message.texi:
3061         * doc/misc/mh-e.texi:
3062         * doc/misc/newsticker.texi:
3063         * doc/misc/org.texi:
3064         * doc/misc/pcl-cvs.texi:
3065         * doc/misc/rcirc.texi:
3066         * doc/misc/reftex.texi:
3067         * doc/misc/sc.texi:
3068         * doc/misc/sieve.texi:
3069         * doc/misc/vhdl-mode.texi:
3070         * doc/misc/vip.texi:
3071         * doc/misc/viper.texi:
3072         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
3074 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
3076         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
3078 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
3080         Fix @kindex entries in manuals
3082         * doc/emacs/basic.texi:
3083         * doc/emacs/buffers.texi:
3084         * doc/emacs/building.texi:
3085         * doc/emacs/calendar.texi:
3086         * doc/emacs/custom.texi:
3087         * doc/emacs/dired.texi:
3088         * doc/emacs/display.texi:
3089         * doc/emacs/files.texi:
3090         * doc/emacs/frames.texi:
3091         * doc/emacs/help.texi:
3092         * doc/emacs/indent.texi:
3093         * doc/emacs/killing.texi:
3094         * doc/emacs/kmacro.texi:
3095         * doc/emacs/mark.texi:
3096         * doc/emacs/mini.texi:
3097         * doc/emacs/misc.texi:
3098         * doc/emacs/modes.texi:
3099         * doc/emacs/msdos-xtra.texi:
3100         * doc/emacs/msdos.texi:
3101         * doc/emacs/mule.texi:
3102         * doc/emacs/picture-xtra.texi:
3103         * doc/emacs/programs.texi:
3104         * doc/emacs/regs.texi:
3105         * doc/emacs/rmail.texi:
3106         * doc/emacs/screen.texi:
3107         * doc/emacs/search.texi:
3108         * doc/emacs/sending.texi:
3109         * doc/emacs/text.texi:
3110         * doc/emacs/trouble.texi:
3111         * doc/lispref/files.texi:
3112         * doc/misc/calc.texi:
3113         * doc/misc/cc-mode.texi:
3114         * doc/misc/ediff.texi:
3115         * doc/misc/epa.texi:
3116         * doc/misc/ert.texi:
3117         * doc/misc/eww.texi:
3118         * doc/misc/forms.texi:
3119         * doc/misc/gnus.texi:
3120         * doc/misc/info.texi:
3121         * doc/misc/mairix-el.texi:
3122         * doc/misc/message.texi:
3123         * doc/misc/mh-e.texi:
3124         * doc/misc/newsticker.texi:
3125         * doc/misc/org.texi:
3126         * doc/misc/pcl-cvs.texi:
3127         * doc/misc/rcirc.texi:
3128         * doc/misc/sc.texi:
3129         * doc/misc/sieve.texi:
3130         * doc/misc/vhdl-mode.texi:
3131         * doc/misc/vip.texi:
3132         * doc/misc/viper.texi:
3133         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
3135 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
3137         Fix @cindex entries in manuals
3139         * doc/emacs/custom.texi:
3140         * doc/emacs/dired.texi:
3141         * doc/emacs/display.texi:
3142         * doc/emacs/files.texi:
3143         * doc/emacs/frames.texi:
3144         * doc/emacs/killing.texi:
3145         * doc/emacs/maintaining.texi:
3146         * doc/emacs/misc.texi:
3147         * doc/emacs/msdos-xtra.texi:
3148         * doc/emacs/msdos.texi:
3149         * doc/emacs/search.texi:
3150         * doc/emacs/text.texi:
3151         * doc/emacs/trouble.texi:
3152         * doc/lispintro/emacs-lisp-intro.texi:
3153         * doc/lispref/strings.texi:
3154         * doc/lispref/text.texi:
3155         * doc/misc/cc-mode.texi:
3156         * doc/misc/efaq.texi:
3157         * doc/misc/eieio.texi:
3158         * doc/misc/emacs-mime.texi:
3159         * doc/misc/gnus.texi:
3160         * doc/misc/htmlfontify.texi:
3161         * doc/misc/idlwave.texi:
3162         * doc/misc/message.texi:
3163         * doc/misc/mh-e.texi:
3164         * doc/misc/sem-user.texi:
3165         * doc/misc/ses.texi:
3166         * doc/misc/tramp.texi:
3167         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
3169 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
3171         Fix @cindex entries in org.texi
3173         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
3174         @code{} for keywords.
3176 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
3178         Document reserved keys
3180         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
3181         users.  (Bug#30530)
3183 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
3185         * doc/misc/ebrowse.texi: Use @key{} for keys.
3187 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
3189         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
3191 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
3193         Improve documentation of X resources
3195         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
3196         resources.  Add cross-references to "GTK Resources".
3198 2018-02-23  Glenn Morris  <rgm@gnu.org>
3200         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
3202         Since multi-tty, this is always set.
3204 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3206         Minor doc fixes, mostly for timestamp issues
3208 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
3210         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
3212 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
3214         Fix @findex and @vindex entries in manuals
3216         * doc/emacs/building.texi:
3217         * doc/emacs/calendar.texi:
3218         * doc/emacs/cmdargs.texi:
3219         * doc/emacs/mini.texi:
3220         * doc/emacs/misc.texi:
3221         * doc/emacs/trouble.texi:
3222         * doc/emacs/windows.texi:
3223         * doc/lispintro/emacs-lisp-intro.texi:
3224         * doc/lispref/edebug.texi:
3225         * doc/lispref/frames.texi:
3226         * doc/lispref/os.texi:
3227         * doc/lispref/windows.texi:
3228         * doc/misc/cc-mode.texi:
3229         * doc/misc/dired-x.texi:
3230         * doc/misc/ediff.texi:
3231         * doc/misc/mh-e.texi:
3232         * doc/misc/pcl-cvs.texi:
3233         * doc/misc/reftex.texi:
3234         * doc/misc/sc.texi:
3235         * doc/misc/vhdl-mode.texi:
3236         * doc/misc/viper.texi: Fix @findex and @vindex entries.
3238 2018-02-22  Alan Mackenzie  <acm@muc.de>
3240         Document, in the Elisp manual, how to get a character's raw syntax descriptor
3242         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
3243         to get a character's raw syntax descriptor.
3245 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
3247         Improvements in the Emacs manual
3249         * doc/emacs/custom.texi (Customization Groups)
3250         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
3251         markup of keys.
3252         (Changing a Variable, Saving Customizations): Update the
3253         description of buttons in the Custom buffer.
3254         (Face Customization): More accurate description.
3255         (Specific Customization, Examining, Locals): Add blank lines in
3256         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
3257         in emacs-manual-bugs@gnu.org.
3259 2018-02-22  Glenn Morris  <rgm@gnu.org>
3261         Tiny doc/misc markup fixes
3263         * doc/misc/ediff.texi (Patch and Diff Programs):
3264         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
3266 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
3268         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
3270         * src/xdisp.c (note_mouse_highlight): Skip check whether
3271         mouse-face highlighting overlay overlaps other mouse-face
3272         overlays when mouse-face highlighting is hidden (Bug#30519).
3274 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
3276         Fix capitalization of "Mail-Followup-To"
3278         * doc/emacs/sending.texi (Header Editing, Mail Headers):
3279         Standardize on "Mail-Followup-To" as the capitalization.
3281 2018-02-21  Juri Linkov  <juri@linkov.net>
3283         * lisp/progmodes/grep.el (grep-compute-defaults):
3285         Add grep-use-null-filename-separator to grep-host-defaults-alist.
3286         (Bug#30559)
3288 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
3290         Semantic manual fixes
3292         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
3293         remove a reference to "document-vars.el" which, in the Emacs
3294         repository, is part of lisp/cedet/srecode/document.el.
3296 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
3298         More improvements in the Emacs manual
3300         * doc/emacs/help.texi (Misc Help):
3301         * doc/emacs/m-x.texi (M-x):
3302         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
3303         breaking of command sequences between lines.  Reported by Wojciech
3304         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
3306         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
3308 2018-02-21  tino calancha  <tino.calancha@gmail.com>
3310         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
3312 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
3314         Fix documentation of 'x-underline-at-descent-line'
3316         * doc/emacs/display.texi (Display Custom):
3317         * src/nsterm.m (syms_of_nsterm):
3318         * src/xterm.c (syms_of_xterm):
3319         * src/w32term.c (syms_of_w32term): Mention the effect of
3320         'line-spacing' on the underline position.  (Bug#30553)
3322 2018-02-21  Glenn Morris  <rgm@gnu.org>
3324         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
3326 2018-02-20  Robert Pluim  <rpluim@gmail.com>
3328         Correct variable markup in manuals
3330         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
3331         * doc/lispref/text.texi (Filling): Likewise.
3332         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
3333         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
3334         (Encrypting/decrypting gpg files): Likewise.
3335         * doc/misc/tramp.texi (External methods): Likewise.
3336         (Default Method): Likewise.
3337         * doc/misc/viper.texi (Editing in Insert State): Likewise.
3338         (File and Buffer Handling): Likewise.
3339         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
3340         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
3341         status of url-temporary-directory.
3343 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
3345         Improve the "Sending Mail" chapter of Emacs manual
3347         * doc/emacs/sending.texi (Mail Format, Header Editing)
3348         (Mail Aliases): Fix capitalization of mail headers.
3349         (Mail Aliases): Use ~/.mailrc consistently.
3350         (Mail Misc): More accurate description of disposition.  Suggested
3351         by Michael Albinus <michael.albinus@gmx.de> in
3352         emacs-manual-bugs@gnu.org.
3354 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
3356         Fix documentation of 'flyspell-auto-correct-word'
3358         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
3359         doc string on how the function looks for the word to spell-check.
3360         (flyspell-word, flyspell-auto-correct-word): Refer to
3361         'flyspell-get-word' for details about finding the word.
3362         (Bug#30462)
3364 2018-02-19  Robert Pluim  <rpluim@gmail.com>
3366         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
3368 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
3370         More changes in the Emacs manuals
3372         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
3373         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
3374         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
3375         Fix punctuation.  Suggested by Stefan Kamphausen
3376         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
3378         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
3379         commands between lines.  Reported by Wojciech Politarczyk
3380         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
3382         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
3383         rebinding keys from "Init File".  (Bug#30528)
3385 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
3387         More fixes in the Emacs manual
3389         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
3390         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
3391         @item's.
3392         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
3393         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
3394         in emacs-manual-bugs@gnu.org.
3396 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
3398         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
3400 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
3402         Minor edit in tramp.texi
3404         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
3405         Improve @cindex entries.
3407 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
3409         More improvements in the Emacs manual
3411         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
3412         (List Identifiers): Insert blank lines between @item's in a
3413         @table.
3414         (Etags Regexps): More accurate description of escape sequences.
3415         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
3416         Suggested by Michael Albinus <michael.albinus@gmx.de> in
3417         emacs-manual-bugs@gnu.org.
3419 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
3421         Improve documentation of 'electric-pair-mode'
3423         * lisp/elec-pair.el (electric-pair-mode):
3424         * doc/emacs/programs.texi (Matching): Document the operation of
3425         electric-pair-mode when there's an active region.  (Bug#30502)
3427 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
3429         lisp/vc/: documentation fixes
3431         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
3432         * lisp/vc/add-log.el (change-log-get-method-definition):
3433         Indent documentation.
3435 2018-02-17  Robert Pluim  <rpluim@gmail.com>
3437         Document 'desktop-files-not-to-save'
3439         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
3440         of 'desktop-files-not-to-save'.
3442         * lisp/desktop.el (desktop-files-not-to-save): Explain that
3443         the default value excludes buffers visiting remote files.
3445 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
3447         Improve documentation of Profiling features
3449         * doc/lispref/debugging.texi (Profiling): Improve the description
3450         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
3452         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
3453         interactive invocation work.  Doc fix.
3455 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
3457         Improve indexing of "performance" in ELisp manual
3459         * doc/lispref/debugging.texi (Profiling):
3460         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
3461         features useful for performance analysis.  (Bug#30490)
3463 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
3465         Minor change in Emacs manual's VC chapter
3467         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
3468         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
3469         emacs-manual-bugs@gnu.org.
3471 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
3473         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
3475         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
3476         signal an error *before* growing the specpdl array.  Therefore, when
3477         handling the signal, specpdl_ptr points past the end of the specpdl
3478         array and any further use of of specpdl before unwinding (e.g., if
3479         edebug binds signal-hook-function) will cause memory corruption.
3480         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
3481         the specpdl_ptr is already past the end of the specpdl array.
3482         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
3483         (eval-exceed-specbind-with-signal-hook): New test & helper function.
3485 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
3487         Document comment-fill-column in the manual (Bug#11636)
3489         * doc/emacs/programs.texi (Comment Commands)
3490         (Options for Comments): Mention comment-fill-column.
3492 2018-02-17  Glenn Morris  <rgm@gnu.org>
3494         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
3496 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
3498         More fixes for the Emacs manual
3500         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
3501         backends.
3502         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
3503         list of VCS.  Remove the description of vc-state-refresh.
3504         (Version Control Systems): Update the description of CVS.
3505         (VC Change Log): Amend the list of VCS that don't support
3506         vc0print-root-log.
3507         (VCS Changesets, VCS Repositories, Advanced C-x v v)
3508         (VC Change Log): Mention SRC with RCS where appropriate.
3509         (VC Directory Commands): More accurate description of
3510         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
3511         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
3513 2018-02-16  Robert Cochran  <robert@cochranmail.com>
3515         Make 'byte-compile-error-on-warn' a safe file variable
3517         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
3518         as a safe local variable for boolean values.
3520 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
3522         Fix the doc string of flyspell-auto-correct-word
3524         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
3525         fix.  (Bug#30462)
3527 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
3529         Improve the MS-Windows appendix of the Emacs manual
3531         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
3532         shortcuts for starting Emacs.
3533         (Text and Binary): Minor wording changes.
3534         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
3535         (ls in Lisp): Update the list of supported 'ls' switches.
3536         Document 'ls-lisp-use-string-collate' and
3537         'ls-lisp-UCA-like-collation'.
3538         (Windows HOME): Mention warnings displayed at startup when
3539         deprecated locations of HOME and/or deprecated names for init
3540         files are used.
3541         (Windows Keyboard): Mention delete-selection-mode.
3543 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
3545         Fix 'vc-git--program-version'
3547         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
3548         work with Git for Windows.
3550 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
3552         Fix typos and wording in the Emacs manual
3554         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
3555         * doc/emacs/maintaining.texi (Tag Syntax):
3556         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
3557         (Lisp Libraries):
3558         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
3559         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
3560         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
3561         emacs-manual-bugs@gnu.org.
3563 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
3565         * doc/emacs/programs.texi (Semantic): Order programming languages.
3567 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
3569         More improvements for the Emacs manual
3571         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
3572         typos.
3573         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
3574         typos.
3575         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
3576         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
3577         emacs-manual-bugs@gnu.org.
3579         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
3580         (ForIndent Commands, Fortran Columns): Add empty lines between
3581         @items in a @table.
3582         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
3583         'column-number-indicator-zero-based'.
3584         (ForIndent Vars): Fix a typo.
3585         (Fortran Comments): Fix punctuation.
3586         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
3587         * doc/emacs/programs.texi (Comments): Fix a typo.
3588         (Comment Commands): More accurate description of the commands.
3589         (Options for Comments): Don't mention "hook".
3590         (Man Page): Prefer "M-x man" if available.
3591         (Hideshow): Fix the command key sequence.
3592         (Semantic): Update supported languages.
3593         (Semantic, Hungry Delete, Other C Commands): Fix markup of
3594         commands.
3595         (Misc for Programs): Fix a typo.
3596         (Electric C, Hungry Delete): More accurate description of
3597         mode-line lighters of CC submodes.
3598         (Asm Mode): Add empty lines between @items in a @table.
3599         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
3600         Reported by Michael Albinus <michael.albinus@gmx.de> in
3601         emacs-manual-bugs@gnu.org.
3603         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
3604         Suggested by Isaac Carter <icarter1391@gmail.com> in
3605         emacs-manual-bugs@gnu.org.
3607 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
3609         Minor wording change in Emacs manual
3611         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
3612         Reported by lyr3 <lyr3@protonmail.com> in
3613         emacs-manual-bugs@gnu.org.
3615 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
3617         Another set of changes for the manual
3619         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
3620         to elisp's description of 'pp'.
3621         (Program Modes): Add a few more programming modes.  Add index
3622         entries.
3623         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
3624         (Manipulating Comments): Fix markup of keyboard commands.
3625         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
3626         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
3627         in emacs-manual-bugs@gnu.org.
3629         * doc/lispref/display.texi (Display Tables): Fix the description
3630         of the 5th extra slot of the display table.  (Bug#13473)
3632         * doc/emacs/regs.texi (Registers): Simplify wording.
3634         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
3635         about perils of encoded keyboard input.
3637 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
3639         Improvements on tramp.texi
3641         * doc/misc/tramp.texi: Use Tramp version in title.  Further
3642         improvements on user option indexing.  Finish command examples
3643         with @key{RET} where appropriate.
3644         (Remote processes): Use 'M-&' for invocation of async shell.
3645         (Frequently Asked Questions): Add example with simplified syntax.
3647 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
3649         Tramp minor doc fixes
3651         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
3652         wording improvement.
3654 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
3656         More changes in the Emacs manual
3658         * doc/emacs/search.texi (Regexp Backslash): Say that
3659         symbol-constituent characters are determined by the syntax table.
3660         (Lax Search): Fix example of case-insensitive search.  Fix a
3661         typo.
3662         (Unconditional Replace): Improve wording.
3663         (Regexp Replace): More consistent wording.  Reported by Michael
3664         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
3666         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
3667         Windows versions.  Reported by Isaac Carter
3668         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
3670 2018-02-13  Andreas Schwab  <schwab@suse.de>
3672         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
3674 2018-02-13  Andreas Schwab  <schwab@suse.de>
3676         Don't signal error in vc-deduce-backend
3678         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
3679         vc-responsible-backend signals an error.
3681 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
3683         * doc/misc/tramp.texi: Index more user options.
3685 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
3687         Minor change in the Emacs manual
3689         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
3690         load-path is not a good idea.  Suggested by James Yoo
3691         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
3693 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
3695         NEWS update about 'string-trim'
3697         * etc/NEWS: Mention changes in string-trim family of functions.
3698         (Bug#30442)
3700 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
3702         Clarify TRAMP process-environment interaction (Bug#30419)
3704         * doc/misc/tramp.texi (Remote processes): Index the
3705         tramp-remote-process-environment description.  Clarify the effects of
3706         let-binding process-environment and the motivation for that behavior.
3708 2018-02-12  Juri Linkov  <juri@linkov.net>
3710         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
3712         (grep-mode-line-matches): New defconst.
3713         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
3714         to include the number of matches found.
3715         (grep-process-setup): Set grep-num-matches-found to 0.
3716         (grep-exit-message): New function with body moved from lambda
3717         in grep-process-setup.  Use grep-num-matches-found to return
3718         the number of matches found.
3719         (grep-filter): Increment grep-num-matches-found.
3720         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
3721         (Bug#30397, bug#14017)
3723 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
3725         Avoid aborts in cm.c due to too small TTY frame
3727         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
3728         minimum height large enough to allow for a menu bar, the mode
3729         line, one text line and one echo-area line.  This avoids aborts in
3730         cm.c:cmcheckmagic.  (Bug#30320)
3732 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
3734         Another set of improvements in the Emacs manual
3736         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
3737         * doc/emacs/msdos.texi (Windows Keyboard):
3738         * doc/emacs/mark.texi (Using Region):
3739         * doc/emacs/frames.texi (Menu Mouse Clicks):
3740         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
3741         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
3742         emacs-manual-bugs@gnu.org.
3744         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
3745         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
3746         Various minor wording improvements.  Suggested by Toon Claes
3747         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
3748         More minor changes.  Suggested by Michael Albinus
3749         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
3751         * doc/emacs/cmdargs.texi (Title X): Improve wording.
3753         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
3754         passive tense.
3756         * doc/emacs/basic.texi (Moving Point): Move the description of the
3757         bidi-related effects of the arrow keys from here ...
3758         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
3759         Explain the behavior of arrow keys between paragraphs.
3761 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
3763         Fix help in mode-line-mode-menu
3765         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
3766         Fix help string.
3768 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
3770         Improve documentation of desktop restoring
3772         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
3773         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
3774         how to restore desktop in daemon mode.  (Bug#30421)
3776 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
3778         Improve the Emacs manual's chapter "Frames"
3780         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
3781         to where frame visibility is described.
3782         (Word and Line Mouse): Clarify wording.
3783         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
3784         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
3786 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
3788         Fix unbound mm-uu-entry in mm-uu
3790         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
3792 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
3794         Improve Emacs user manual in fixit.texi
3796         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
3797         repeated undo.
3798         (Transpose): Describe explicitly what happens at EOL.
3799         (Spelling): Use "spell-checking" consistently.  Clarify wording.
3800         Suggested by Toon Claes <toon@iotcl.com> in
3801         emacs-manual-bugs@gnu.org.
3803 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
3805         Another minor change in the manual
3807         * doc/emacs/glossary.texi (Glossary): Add popular Latin
3808         abbreviations, such as "e.g.".
3810 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
3812         More minor changes in the Emacs manual
3814         * doc/emacs/xresources.texi (GTK resources):
3815         * doc/emacs/trouble.texi (Contributing):
3816         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
3818         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
3819         based on reports in emacs-manual-bugs@gnu.org about incorrect
3820         hyphenation.
3822 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
3824         Avoid printing garbled error message from image.el
3826         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
3827         apostrophe in the error message, as that message is shown from a
3828         unibyte buffer, and will run afoul of the default style of showing
3829         quote characters.  (Bug#30405)
3831 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
3833         Doc string fix in latin-alt.el
3835         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
3836         Robert Pluim <rpluim@gmail.com>.
3838 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
3840         Minor improvements in package.texi
3842         * doc/emacs/package.texi (Package Menu): Minor wording change.
3843         (Package Installation): Use HTTPS.  A better @xref to GnuPG
3844         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
3845         emacs-manual-bugs@gnu.org.
3847 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
3849         Minor improvement in Emacs user manual
3851         * doc/emacs/files.texi (Directories): Document that
3852         'directory-free-space-program' and 'directory-free-space-args' are
3853         only for local filesystems.  Suggested by Michael Albinus
3854         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
3856 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
3858         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
3860 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
3862         Improve documentation of mini-window resizing
3864         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
3865         'message-truncate-lines' for preventing resizing of minibuffer
3866         windows.  (Bug#19045)
3867         (Minibuffer Misc): Remove redundant description of
3868         'max-mini-window-height'.
3869         * doc/lispref/display.texi (Echo Area Customization): Adjust
3870         cross-reference.
3872 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
3874         More changes in the Emacs manual
3876         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
3877         (Fixing Case): Fix punctuation.
3878         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
3879         in emacs-manual-bugs@gnu.org.
3881         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
3882         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
3883         in emacs-manual-bugs@gnu.org.
3885         * doc/emacs/indent.texi (Just Spaces): Yet another minor
3886         rewording.
3888         * doc/emacs/building.texi (Watch Expressions): Improve wording.
3889         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
3890         by Alberto Sartori <alberto.sartori@sissa.it> in
3891         emacs-manual-bugs@gnu.org.
3892         (Grep Searching): Mention the effect of
3893         'compilation-mode-line-errors'.  (Bug#30397)
3895         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
3896         rewording of what <LEFT> and <RIGHT> do.
3898 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
3900         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
3902         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
3903         manual display is unaffected.
3905 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
3907         Mention that shell quoting of % on w32 may fail (Bug#19350)
3909         * doc/lispref/os.texi (Security Considerations): Mention that quoting
3910         of '%' assumes no '^' in variable names.
3911         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
3912         demonstrating what doesn't work.
3914 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
3916         Fix --no-build-details for w32 and macOS
3918         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
3919         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
3920         to `x-open-connection'.
3922 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3924         * doc/lispref/anti.texi (Antinews): Add some more antinews.
3926 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3928         Fix crashes when run with --no-build-details
3930         * src/xrdb.c (get_environ_db):
3931         * src/xterm.c (same_x_server, x_term_init):
3932         Don’t assume Fsystem_name returns a string.
3934 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
3936         More changes for the manual
3938         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
3939         Reported by Michael Albinus <michael.albinus@gmx.de> in
3940         emacs-manual-bugs@gnu.org.
3942         * doc/emacs/custom.texi (Function Keys): Improve wording.
3943         Suggested by clemens.radermacher@posteo.de in
3944         emacs-manual-bugs@gnu.org.
3946         * doc/emacs/misc.texi (History References): Improve punctuation.
3947         (Terminal emulator): Fix a typo.
3948         (Term Mode): Remove redundant repeated text.
3949         (Invoking emacsclient): Improve wording.  Suggested by Alberto
3950         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
3952         * doc/emacs/files.texi (Visiting): Fix last change.
3954 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
3956         Doc fixes for process functions (Bug#30349)
3958         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
3959         the 'stopped' state means for a pipe process.
3960         * src/process.c (Fmake_process, Fmake_pipe_process)
3961         (Fmake_serial_process, Fmake_network_process):
3962         * lisp/subr.el (start-process):
3963         * lisp/net/tls.el (open-tls-stream):
3964         * lisp/net/starttls.el (starttls-open-stream):
3965         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
3966         "specify an output stream" phrase from docstring.
3968 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
3970         Fix shr and CSS 4 color maps
3972         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
3973         Add RebeccaPurple.
3974         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
3975         and aqua-cyan aliases.
3976         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
3977         Bump color count.
3979 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
3981         Yet another round of improvements in the manual
3983         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
3984         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
3986         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
3987         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
3989         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
3990         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
3992         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
3993         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
3994         emacs-manual-bugs@gnu.org.
3996         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
3997         regarding registry keys.
3999         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
4000         Reported by Cena Mayo <cenazoic@gmail.com> in
4001         emacs-manual-bugs@gnu.org.
4003         * doc/emacs/screen.texi (Screen): More accurate wording.
4004         Suggested by Miloš Polakovič <milos@alphamail.org> in
4005         emacs-manual-bugs@gnu.org.
4007         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
4008         Suggested by David Bonnafous <dbonnafo@gmail.com> in
4009         emacs-manual-bugs@gnu.org.
4011         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
4012         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
4013         emacs-manual-bugs@gnu.org.
4015         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
4017         * doc/emacs/display.texi (Highlight Interactively): Fill text.
4018         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
4019         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
4021         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
4023         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
4024         (Remote Files, File Names, Visiting, Backup Deletion)
4025         (Customize Save, Interlocking): Improve wording and accuracy of
4026         the text.
4027         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
4028         "his".
4029         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
4030         wording changes.
4031         (Supporting additional buffers): Moved to ...
4032         * doc/lispref/backups.texi (Reverting): ... here.
4033         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
4034         buffers" from master menu.
4035         * doc/emacs/files.texi (Reverting): Mention use of file
4036         notifications.  Suggested by Michael Albinus
4037         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
4039         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
4040         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
4041         emacs-manual-bugs@gnu.org.
4043         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
4044         (Action Arguments): Fix a typo.
4045         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
4046         Justin Heyes-Jones <justinhj@gmail.com> in
4047         emacs-manual-bugs@gnu.org.
4049         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
4050         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
4052         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
4053         Minor wording changes.
4055 2018-02-04  Juri Linkov  <juri@linkov.net>
4057         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
4059         when vc-git-print-log-follow is non-nil (bug#19045).
4060         (vc-git-print-log-follow): Doc fix.
4062         * etc/NEWS: Mention 'vc-git-print-log-follow'.
4064 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
4066         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
4068         for hints how to type remote file names effectively.
4070 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
4072         Yet another round of fixing the Emacs manual
4074         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
4075         describing what happens when Emacs is invoked with several file
4076         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
4077         emacs-manual-bugs@gnu.org.
4079         * doc/emacs/xresources.texi (GTK styles):
4080         * doc/emacs/mini.texi (Passwords):
4081         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
4082         "can not".
4084         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
4085         of ns-right-alternate-modifier when its value is 'none'.
4086         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
4087         emacs-manual-bugs@gnu.org.
4089         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
4090         sub-sections of Diary.
4091         * doc/emacs/emacs.texi (Top):
4092         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
4093         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
4094         emacs-manual-bugs@gnu.org.
4096         * doc/emacs/anti.texi (Antinews): Fix grammar.
4098 2018-02-04  Alan Mackenzie  <acm@muc.de>
4100         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
4102 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
4104         Two minor fixes in Antinews
4106         * doc/emacs/anti.texi (Antinews): Two minor fixes.
4108 2018-02-03  Juri Linkov  <juri@linkov.net>
4110         * etc/NEWS: Rename image-dired-thumb-job-limit
4112         to image-dired-queue-active-limit (bug#30279)
4114 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
4116         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
4118 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
4120         Fix deferred display of async shell-command buffers
4122         * lisp/simple.el (shell-command): Display async shell buffer on
4123         process output for every, not just first, command invocation.  Check
4124         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
4126 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
4128         Mention remote file name completion in Emacs manual
4130         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
4131         "//" with remote file names.  (Bug#29149)
4133 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
4135         Yest another round of manual copyedits
4137         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
4138         changes.  Suggested by myq larson <myqlarson@gmail.com> in
4139         emacs-manual-bugs@gnu.org.
4141         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
4142         relevant Org features.  Suggested by Alex Branham
4143         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
4145         * doc/emacs/dired.texi (Operating on Files)
4146         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
4147         Suggested by Francis Wright <f.j.wright@live.co.uk> in
4148         emacs-manual-bugs@gnu.org.
4150         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
4151         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
4152         emacs-manual-bugs@gnu.org.
4154 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
4156         Update xdisp.c commentary
4158         * src/xdisp.c: Update commentary regarding "asynchronous" entry
4159         into redisplay.  (Bug#30182)
4161 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
4163         Fix Bug#30324
4165         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
4166         Adapt to changed remote file name syntax.  (Bug#30324)
4168 2018-02-03  Glenn Morris  <rgm@gnu.org>
4170         Recognize Org as builtin package (bug#30310)
4172         * lisp/org/org.el: Add Version header so detected as builtin package.
4173         * test/lisp/org/org-tests.el: New file.
4175 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
4177         Another round of manual fixups
4179         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
4180         Reported by David Bonnafous <dbonnafo@gmail.com> in
4181         emacs-manual-bugs@gnu.org.
4183         * doc/emacs/windows.texi (Other Window): Improve wording.
4184         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
4185         emacs-manual-bugs@gnu.org.
4187         * doc/emacs/display.texi (Display Custom): Mention that line
4188         numbers are not displayed in the minibuffer and tooltips.
4190         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
4191         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
4192         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
4193         emacs-manual-bugs@gnu.org.
4195         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
4196         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
4198         * doc/emacs/display.texi (Scrolling): Fix grammar.
4199         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
4200         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
4201         in emacs-manual-bugs@gnu.org.
4203         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
4204         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
4205         Remove redundant commas.  Suggested by oldgaro
4206         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
4208         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
4209         Suggested by clemens.radermacher@posteo.de in
4210         emacs-manual-bugs@gnu.org.
4212         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
4213         wording.  Suggested by drone <yoorobot@gmail.com> in
4214         emacs-manual-bugs@gnu.org.
4216         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
4217         (Dired Deletion): Fix a typo.
4218         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
4219         character.  Fix typos.
4220         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
4221         (Arguments): Some additional information about keys.  Reported by
4222         Francis Wright <f.j.wright@live.co.uk> in
4223         emacs-manual-bugs@gnu.org.
4225 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
4227         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
4230         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
4232 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
4234         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
4236 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
4238         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
4240         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
4242 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
4244         Fix last change of @key markup
4246         * doc/lispref/display.texi (Specified Space):
4247         * doc/emacs/programs.texi (C Modes):
4248         * doc/emacs/killing.texi (Rectangles):
4249         * doc/emacs/emacs.texi (Top):
4250         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
4251         markup for characters and commands, only for keys.
4253 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
4255         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
4257 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
4259         Revert a1bbc49015 (Bug#30243), do not merge
4261         * lisp/files.el:
4262         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
4264 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
4266         Use @key{} where it is missing in the manuals
4268 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
4270         Another round of manual fixes from proofreading
4272         * doc/emacs/search.texi (Incremental Search)
4273         (Nonincremental Search): Mention the menu bar and fix typos.
4274         Reported by David Bonnafous <dbonnafo@gmail.com> in
4275         emacs-manual-bugs@gnu.org.
4276         * doc/emacs/building.texi (Compilation): Improve wording.
4277         Suggested by drone <yoorobot@gmail.com> in
4278         emacs-manual-bugs@gnu.org.
4279         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
4280         Suggested by Robert Pluim <rpluim@gmail.com> in
4281         emacs-manual-bugs@gnu.org.
4282         * doc/emacs/display.texi (Highlight Interactively, Fringes):
4283         Improve wording.  Suggested by Justin Heyes-Jones
4284         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
4285         * doc/emacs/commands.texi (User Input, Commands): Add missing
4286         commas.
4287         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
4288         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
4289         emacs-manual-bugs@gnu.org.
4290         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
4291         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
4292         emacs-manual-bugs@gnu.org.
4293         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
4294         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
4295         emacs-manual-bugs@gnu.org.
4296         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
4297         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
4298         * doc/emacs/maintaining.texi (Introduction to VC)
4299         (Why Version Control?, VCS Merging): Fix typos and section
4300         capitalization.  Suggested by "R. P. Dillon"
4301         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
4302         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
4303         Reported by clemens.radermacher@posteo.de in
4304         emacs-manual-bugs@gnu.org.
4306 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
4308         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
4310 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
4312         Document 'window-at-side-p' in the Elisp manual
4314         * doc/lispref/windows.texi (Windows and Frames): Document
4315         'window-at-side-p'.
4317 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4319         Document external-debugging-output in the Elisp Manual (Bug#24051)
4321         * doc/lispref/streams.texi (Output Streams): List
4322         external-debugging-output.
4323         * src/print.c (Fexternal_debugging_output): Quote `print' in
4324         docstring.
4326 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4328         Fix scroll-margin docstring (Bug#13791)
4330         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
4331         the margin may trigger any sort of auto scrolling, not recentering
4332         specifically.
4334 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4336         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
4338         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
4340 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4342         Update manual description of locate-file (Bug#23650)
4344         * doc/lispref/files.texi (Locating Files): Add example of predicate
4345         when searching for a directory.
4347 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4349         Clarify effect of print-gensym (Bug#27776)
4351         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
4352         and #N= constructs depends on the value of `print-circle'.
4354 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4356         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
4358 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4360         Define cl-type-definition button type as needed (Bug#28899)
4362         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
4363         `cl-extra' before using the `cl-type-definition' button type.
4365 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
4367         Emphasize that GPG passphrase caching is temporary (Bug#29907)
4369         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
4370         temporary.
4371         (GnuPG version compatibility): Fix typo.
4373 2018-01-30  Alan Mackenzie  <acm@muc.de>
4375         Fix @examples in cc-mode.info, where lines were getting glued together.
4377         This happened because of false @c's in macro lines.
4379         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
4380         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
4382 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4384         Minor change in "Mode Line" section of Emacs manual
4386         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
4387         hovering the mouse over the mode line.  Suggested by Eduardo
4388         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
4390 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4392         More fixes in the Emacs manual
4394         * doc/emacs/screen.texi (Mode Line): Fix markup and
4395         cross-references.
4396         (Menu Bar): Correct inaccurate description.
4397         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
4398         * doc/emacs/frames.texi (Scroll Bars):
4399         * doc/emacs/emacs.texi (Top):
4400         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
4401         * doc/emacs/misc.texi (Invoking emacsclient)
4402         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
4403         Michael Albinus <michael.albinus@gmx.de> in
4404         emacs-manual-bugs@gnu.org.
4406 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4408         Minor copyedits in "Distribution" chapter of the Emacs manual
4410         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
4411         Suggested by oldgaro <oldgaro@protonmail.com> in
4412         emacs-manual-bugs@gnu.org.
4414 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4416         Minor copyedits in "Entering" chapter of Emacs manual.
4418         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
4419         to MS-Windows startup procedures.  Clarify wording.  Suggested by
4420         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
4422 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4424         Minor wording change in the Emacs manual
4426         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
4427         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
4429 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4431         Fix a typo in the Emacs manual
4433         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
4434         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
4435         emacs-manual-bugs@gnu.org.
4437 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4439         Improve the "Basic" chapter of the Emacs manual
4441         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
4442         (Position Info): Add a cross-reference to where
4443         display-line-numbers-mode is described.  Reported by Joshua
4444         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
4446 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
4448         Resurrect lost text in lispref
4450         * doc/lispref/files.texi (File Attributes): Resurrect
4451         inadvertently lost text.
4453 2018-01-30  Philipp Stephani  <phst@google.com>
4455         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
4457 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
4459         Proofread os.texi and files.texi
4461 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
4463         Minor improvements in the "International" chapter of Emacs manual
4465         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
4466         versions of MS-Windows.
4467         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
4468         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
4469         emacs-manual-bugs@gnu.org.
4471 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
4473         Minor improvement in "Text" chapter of Emacs manual
4475         * doc/emacs/text.texi (Words): Improve wording.  Reported by
4476         Marcin Borkowski <mbork@mbork.pl> in
4477         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
4479 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
4481         Fix some issues in the emacs/lispref manuals
4483         * doc/emacs/basic.texi (Continuation Lines):
4484         * doc/emacs/building.texi (GDB User Interface Layout):
4485         * doc/emacs/dired.texi (Misc Dired Features):
4486         * doc/emacs/maintaining.texi (Identifier Search):
4487         * doc/emacs/mark.texi (Using Region):
4488         * doc/emacs/misc.texi (Document View, DocView Conversion):
4489         * doc/emacs/modes.texi (Major Modes):
4490         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
4491         * doc/emacs/sending.texi (Mail Methods): Replace @code by
4492         @kbd.
4493         * doc/emacs/frames.texi (Text-Only Mouse):
4494         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
4495         @key.
4496         * doc/lispref/compile.texi (Compiler Errors): Write
4497         non-@code{nil} instead of non-nil.
4498         * doc/lispref/debugging.texi (Internals of Debugger):
4499         'backtrace' is not a command.  'debugger-stack-frame-as-list'
4500         is an option.
4501         * doc/lispref/display.texi (Size of Displayed Text):
4502         'window-lines-pixel-dimensions' has a last argument 'left'.
4503         * doc/lispref/display.texi (Attribute Functions):
4504         'set-face-underline' and 'set-face-inverse-video' are
4505         commands.
4506         (Tooltips): 'tooltip-frame-parameters' is an option.
4507         (Bidirectional Display): 'bidi-paragraph-direction' is an
4508         option.
4509         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
4510         is an option.
4511         (Input Focus): Argument FRAME of 'x-focus-frame' is not
4512         optional.
4513         (Child Frames): Both arguments of 'frame-ancestor-p' are
4514         non-optional.  'iconify-child-frame' is an option.
4515         * doc/lispref/os.texi (Killing Emacs):
4516         'kill-emacs-query-functions' is an option.
4517         * doc/lispref/windows.texi (Mouse Window Auto-selection):
4518         'mouse-autoselect-window' is an option.
4520 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
4522         Fix multiple spaces in Emacs manual
4524         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
4525         spaces in printed manual.
4527 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
4529         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
4531 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
4533         Adjudicate comments to "International" chapter of Emacs manual
4535         * doc/emacs/mule.texi (International Chars)
4536         (Language Environments, Input Methods, Defining Fontsets)
4537         (Modifying Fontsets): Minor wording changes and typo fixes.
4538         Reported by Francis Wright <f.j.wright@live.co.uk> in
4539         emacs-manual-bugs@gnu.org.
4541 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
4543         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
4545         That commit did not make the corresponding change to printing, thus
4546         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
4547         symbols.  It's too late in the release cycle to change printing
4548         behavior, therefore revert the reader change.
4550         Don't merge to master, the print function will be updated there (see
4551         "Fix round tripping of read->print for symbols with strange quotes").
4553 2018-01-27  Alan Mackenzie  <acm@muc.de>
4555         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
4557         This fixes bug #30186.  The with-silent-modifications was there to prevent
4558         records of text property manipulations being put into buffer-undo-list.  These
4559         had been causing a significant slowdown in CC Mode with C-_ after a large
4560         C-y.  This CC Mode problem has since been solved by a different workaround.
4562         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
4563         with-silent-modifications around the text property manipulations.
4565 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
4567         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
4569 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
4571         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
4573 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
4575         Minor changes in the Emacs manual
4577         * doc/emacs/search.texi (Search Customizations): Minor wording
4578         change.
4579         * doc/emacs/files.texi (Customize Save): Add a cross-reference
4580         for batch mode.
4582 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
4584         Improve the "Files" chapter of the Emacs manual
4586         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
4587         the notion of shadowing before describing the commands.  Suggested
4588         by Will Korteland <emacs-devel@korte.land> in
4589         emacs-manual-bugs@gnu.org.
4591 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
4593         Improve the "Search" chapter of the Emacs manual
4595         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
4596         clarify wording.
4597         (Search Customizations): Fix a typo.  Reported by Will Korteland
4598         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
4600 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
4602         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
4604 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
4606         Improve documentation of 'edebug-defun'
4608         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
4609         for a failure to instrument due to unknown macros.  (Bug#30243)
4610         (Bug#10577)
4612 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
4614         Mention crashes due to Noto Serif Kannada fonts
4616         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
4617         and the respective workarounds.  (Bug#30193)
4619 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
4621         * doc/lispref/searching.texi: Document regexp repetition limit.
4623         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
4625 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
4627         Load mm-util as needed for url-file and url-data (Bug#30258)
4629         * lisp/url/url-file.el (url-file):
4630         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
4631         `mm-disable-multibyte'.
4632         * test/lisp/url/url-file-resources/file.txt:
4633         * test/lisp/url/url-file-tests.el:
4634         * test/lisp/url/url-misc-tests.el: New tests.
4636 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
4638         Another minor copyedit in the manual's "Scroll Bars"
4640         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
4641         left/right buttons may be absent from the toolkit scroll bars.
4642         Reported by Robert Pluim <rpluim@gmail.com> in
4643         emacs-manual-bugs@gnu.org.
4645 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
4647         Minor fix in documentation of 'equal'
4649         * doc/lispref/objects.texi (Equality Predicates): Correct the
4650         conditions for equality of unibyte and multibyte strings.
4651         (Bug#30218)
4653 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
4655         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
4657 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
4659         Minor rewording in Emacs manual's "Help Mode" node
4661         * doc/emacs/help.texi (Help Mode): Minor rewording of description
4662         of 'help-follow-symbol'.  Suggested by Richard Stallman
4663         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
4665 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
4667         Fixes for Emacs manual in frames.texi
4669         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
4670         (Window Dividers): Minor clarifications and spelling/markup
4671         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
4672         emacs-manual-bugs@gnu.org.
4674 2018-01-24  Glenn Morris  <rgm@gnu.org>
4676         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
4678 2018-01-24  Robert Pluim  <rpluim@gmail.com>
4680         Fix a few issues with latest GTK scaling changes
4682         * src/xfns.c (Fx_display_monitor_attributes_list): Call
4683         gdk_screen_get_monitor_scale_factor only for GTK versions
4684         3.10..3.21.
4685         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
4687 2018-01-24  Robert Pluim  <rpluim@gmail.com>
4689         Use scaled coordinates when calling into GTK
4691         This is part two of a two part fix for the GTK scaling
4692         problems.  See the thread starting at
4693         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
4694         for an explanation of why it has been added to Emacs 26.
4696         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
4697         pass to gtk_window_move and to gtk_window_parse_geometry.
4698         * src/xterm.c (x_set_offset): Likewise.
4700 2018-01-24  Robert Pluim  <rpluim@gmail.com>
4702         Scale monitor dimensions obtained from GTK
4704         This is part one of a two part fix for the GTK scaling
4705         problems.  See the thread starting at
4706         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
4707         for an explanation of why it has been added to Emacs 26.
4709         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
4710         into account when using GTK to query the monitor dimensions, which
4711         allows frameset-restore to position frames correctly.
4713 2018-01-22  Rasmus  <rasmus@gmx.us>
4715         Update Org to v9.1.6
4717         Please note this is a bugfix release. See etc/ORG-NEWS for details.
4719 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
4721         Use text-pixels values only when saving framesets (Bug#30141)
4723         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
4724         that text-pixels values are by default only saved by framesets
4725         so the parameter is not set when restoring (Bug#30141).
4727 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
4729         Minor improvement in section "Pages" of the usere manual
4731         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
4732         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
4734 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
4736         Minor improvements in user manual
4738         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
4739         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
4740         in emacs-manual-bugs@gnu.org
4742 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
4744         Improve the "Mark" chapter of the user manual
4746         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
4747         clarify wording.  Suggested by John Cummings <john@rootabega.net>
4748         in emacs-manual-bugs@gnu.org.
4750 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
4752         Improve the "Buffers" chapter of the user manual
4754         * doc/emacs/buffers.texi (Several Buffers): Correct description of
4755         prefix arguments.  Clarify "bury".
4756         (Buffer Menus): Clarify wording.  Reported by John Cummings
4757         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
4759 2018-01-21  tino calancha  <tino.calancha@gmail.com>
4761         * lisp/term.el (term-send-input): Fix text duplication in docstring
4763 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
4765         Improve "Buffers" in the user manual
4767         Suggested by John Cummings <john@rootabega.net> in
4768         emacs-manual-bugs@gnu.org:
4769         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
4770         "Windows" and "Frames".
4771         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
4772         that accept buffer names.
4773         (Select Buffer): Improve description of "M-g M-g".  Improve
4774         wording.
4775         (Misc Buffer, Kill Buffer): Improve wording.
4776         (Kill Buffer): Fix the response required by kill-some-buffers.
4777         Mention customizable options that control what clean-buffer-list
4778         does.
4779         (Several Buffers): More detail about
4780         'Buffer-menu-unmark-all-buffers'.
4782 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
4784         Don't mention 'vc-stay-local' in the user manual
4786         * doc/emacs/vc1-xtra.texi (CVS Options):
4787         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
4788         references to 'vc-stay-local', which no longer exists.
4789         (Bug#30138)
4791 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
4793         Fix a typo in calendar.texi
4795         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
4796         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
4797         in emacs-manual-bugs@gnu.org.
4799 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
4801         Minor improvement in wording of the Emacs manual
4803         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
4804         Suggested by Will Korteland <emacs-devel@korte.land> in
4805         emacs-manual-bugs@gnu.org.
4807 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
4809         Revert "Fix tempfile creation when byte compiling"
4811         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
4812         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
4813         Put tempfile next to the target file, as was the original intent.
4815 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
4817         Fix tempfile creation when byte compiling
4819         This improves on the recent fix for master failing to build
4820         on FreeBSD.  Suggested by Stefan Monnier in:
4821         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
4822         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
4823         Put tempfile next to the target file, as was the original intent.
4825 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
4827         Improve the Emacs manual as suggested in emacs-manual-bugs
4829         * doc/emacs/killing.texi (Deletion and Killing): Add
4830         cross-reference to "Kill Ring".
4831         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
4832         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
4833         emacs-manual-bugs@gnu.org.
4835 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4837         * lisp/emacs-lisp/bytecomp.el: Tweak last change
4839         (byte-compile-file): Move comment closer to the code it describes.
4841 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
4843         Unbreak building Emacs on FreeBSD
4845         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
4846         the temporary file under temporary-file-directory if the file
4847         being compiled is specified by an absolute file name.  This avoids
4848         problems with ACL copying from temporary-file-directory on
4849         FreeBSD.  For the details, see
4850         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
4852 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
4854         Don't unnecessarily use non-ASCII characters in C sources
4856         * src/xwidget.c (webkit_javascript_finished_cb):
4857         * src/gtkutil.c (xg_check_special_colors):
4858         * src/emacs-module.c (module_make_string):
4859         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
4860         characters.
4862 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
4864         Portability fixes in emacs-module-tests
4866         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
4867         CPPFLAGS.
4868         * test/data/emacs-module/mod-test.c: Include <limits.h>.
4869         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
4870         don't support %td and %zu format specs.
4871         (emacs_module_init): Use compatibility macros to make the error
4872         messages print meaningful values (and avoid compiler warnings).
4874 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
4876         Add tests for term.el
4878         * lisp/term.el (term-mode): Add `name' attribute to
4879         window-adjust-process-window-size-function value, so that it can be
4880         removed easily by tests.
4881         * test/lisp/term-tests.el: New tests.
4883 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
4885         Handle split AnSiT messages for term.el (Bug#17231)
4887         Check to see if there is an incomplete command at the end of
4888         term-emulate-terminal's input string, and, if so, save it so the whole
4889         command can be processed when the next string arrives.
4890         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
4891         (term-mode): Make it buffer local.
4892         (term-handle-ansi-terminal-messages): Prepend it to the received
4893         message, and set it if a partial message was received.
4896         Do not merge to master, it will be solved differently there, see
4897         "Switch term.el to lexical binding, and clean up code a bit".
4899 2018-01-19  Glenn Morris  <rgm@gnu.org>
4901         * configure.ac (emacs_config_features): Add threads.
4903 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
4905         Handle case-insensitive filenames for load-path shadows (Bug#5845)
4907         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
4908         shadowing with case-insensitive matching for files of case-insensitive
4909         directories (as determined by `file-name-case-insensitive-p').
4910         * test/lisp/emacs-lisp/shadow-tests.el: New test.
4911         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
4912         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
4914 2018-01-18  Alan Mackenzie  <acm@muc.de>
4916         CC Mode: stop distinguishing brace blocks from defun blocks by content.
4918         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
4919         essentially a reversion of the patch from 2017-11-10 which attempted to handle
4920         C99's compound literals.
4922         The bug here was triggered when a defun block contained a declaration ending
4923         in a comma, yet without a semicolon.
4925         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
4926         remove from the `or' form the test of a block's contents.
4928 2018-01-17  Philipp Stephani  <phst@google.com>
4930         Use recommended long options syntax in man page
4932         * doc/man/emacs.1.in: Specify equals sign for long options, as
4933         recommended in the manual.
4935 2018-01-17  Glenn Morris  <rgm@gnu.org>
4937         An overdue update of GNUstep emacs.tiff
4939         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
4940         Update to the Emacs 25 icon.
4941         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
4942         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
4944 2018-01-17  Glenn Morris  <rgm@gnu.org>
4946         Add some test skip conditions
4948         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
4949         (vc-bzr-test-bug9781): Skip if bzr is faulty.
4950         * test/src/thread-tests.el: Skip if not compiled with threads.
4952 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
4954         Add documentation to ecomplete.el
4956         * lisp/ecomplete.el: Add doc strings and document the format.
4958 2018-01-17  Glenn Morris  <rgm@gnu.org>
4960         * admin/authors.el (authors-aliases): Tighten more entries.
4962 2018-01-17  Glenn Morris  <rgm@gnu.org>
4964         Small startup fix for current-load-list
4966         * lisp/startup.el (command-line):
4967         Avoid current-load-list being non-nil after startup ends.
4969 2018-01-17  Glenn Morris  <rgm@gnu.org>
4971         authors-aliases is based on regexps, not literals
4973         * admin/authors.el (authors-aliases): Replace overly-broad entries.
4975 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
4977         Remove incorrect documentation in comint.el
4979         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
4980         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
4981         documentation.  (Bug#30079)
4983 2018-01-15  Glenn Morris  <rgm@gnu.org>
4985         An overdue update of src/emacs-icon.h
4987         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
4988         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
4990 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
4992         Minor copyedit in ELisp manual
4994         * doc/lispref/variables.texi (File Local Variables): Improve
4995         wording of last change.
4997 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
4999         Fix Bug#29149 in dired-aux.el
5001         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
5002         commands on w32 properly.  (Bug#29149)
5004 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
5006         Fix Bug#29149 in shell.el
5008         * lisp/shell.el (shell): Change order of `file-local-name' and
5009         `expand-file-name' calls.  Otherwise, the local file name
5010         would be extended by a drive letter, even when it is a remote
5011         file, seen from w32.  (Bug#29149)
5013 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5015         * doc/lispref/variables.texi (File Local Variables): Fix last change
5017 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
5019         * ChangeLog.3: Update
5021         Update etc/AUTHORS
5023 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
5025         Fix an entry in authors-aliases
5027         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
5028         is too broad, to an email address ("mu@magi.net.ru").
5030 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
5032         Mention trace.el facilities in the ELisp manual
5034         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
5035         library.
5037 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
5039         Improve documentation of safe values of variables
5041         * doc/lispref/variables.texi (File Local Variables): Mention the
5042         autoload cookie as a means of defining safe values for variables.
5043         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
5044         for the details.
5045         * doc/lispref/compile.texi (Compiler Errors): Document
5046         'byte-compile-error-on-warn'.
5048 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
5050         Improve the Emacs manual's "Misc" node
5052         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
5053         (Invoking emacsclient): Mention how to avoid errors when there's
5054         no Emacs server.
5055         (EWW, Embedded WebKit Widgets): Now subsections under
5056         "Hyperlinking and Web Navigation Features".
5057         (Amusements): Add "games" to the section name.  Suggested by Alex
5058         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
5060         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
5061         above changes.
5063         * doc/lispref/os.texi (Security Considerations): Fix typos.
5065 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
5067         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
5069         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
5070         of FRAME_X_P (Bug#30019).
5072 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
5074         Bump Emacs version to 26.0.91
5076         * README:
5077         * configure.ac:
5078         * msdos/sed2v2.inp:
5079         * nt/README.W32: Bump Emacs version.
5081 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
5083         * ChangeLog.3: Update
5085 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
5087         Update authors
5089         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
5090         * etc/AUTHORS: Update AUTHORS file.
5092 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
5094         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
5095         adding extra citation mark (bug#29767, but it is a different bug).
5097 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
5099         Improve documentation of etags
5101         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
5102         Improve documentation of etags options and of source language
5103         detection.
5105 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
5107         Teach etags new interpreters for some languages
5109         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
5110         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
5111         static variables.
5112         (lang_names): Use them to set interpreters for Erlang, Lua,
5113         Prolog, Python, and Ruby.
5114         (find_entries): Support "/usr/bin/env FOO" form of specifying an
5115         interpreter.
5117         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
5118         line to test the "env FOO" interpreter spec.  (Bug#30075)
5119         * test/manual/etags/ETAGS.good_1:
5120         * test/manual/etags/ETAGS.good_2:
5121         * test/manual/etags/ETAGS.good_3:
5122         * test/manual/etags/ETAGS.good_4:
5123         * test/manual/etags/ETAGS.good_5:
5124         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
5125         files.
5127 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5129         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
5131         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
5133 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
5135         Improve documentation of fill-separate-heterogeneous-words-with-space
5137         * lisp/textmodes/fill.el
5138         (fill-separate-heterogeneous-words-with-space): Fix grammar.
5140 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
5142         Fix documentation of some x-* functions
5144         * lisp/term/pc-win.el (x-display-pixel-width)
5145         (x-display-pixel-height, x-display-planes)
5146         (x-display-color-cells, x-server-max-request-size)
5147         (x-server-vendor, x-server-version, x-display-screens)
5148         (x-display-mm-height, x-display-mm-width)
5149         (x-display-backing-store, x-display-visual-class): Provide doc
5150         strings, so that 'makedoc' produces non-empty documentation in
5151         etc/DOC for these functions.  (Bug#30068)
5153 2018-01-10  Philipp Stephani  <phst@google.com>
5155         Inherit query-on-exit flag to stderr process (Bug#30031)
5157         * src/process.c (Fmake_process): Have the pipe process honor the
5158         parent's query-on-exit flag.
5160         * test/src/process-tests.el (make-process/noquery-stderr): New test.
5162 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
5164         Fix Bug#30057
5166         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
5167         (file-notify--test-cleanup, file-notify--test-make-temp-name)
5168         (file-notify-test01-add-watch, file-notify-test03-events)
5169         (file-notify-test05-file-validity)
5170         (file-notify-test09-watched-file-in-watched-dir)
5171         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
5173 2018-01-10  Glenn Morris  <rgm@gnu.org>
5175         Tag some unstable tests, and skip by default (bug#24503)
5177         * Makefile.in (check-all): New phony target.
5178         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
5179         Also skip unstable tests.
5180         (SELECTOR_ALL): New variable.
5181         (check-all): New phony target.
5182         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
5183         (eieio-test-method-order-list-6):
5184         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
5185         (eieio-test-37-obsolete-name-in-constructor):
5186         Mark as unstable rather than skipping on hydra.nixos.org.
5188 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
5190         Merge from Gnulib
5192         This incorporates:
5193         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
5194         2018-01-04 update-copyright: Handle use of ©
5195         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
5196         2018-01-02 stat-time: silence -Wunused-parameter regression
5197         * build-aux/config.guess, build-aux/config.sub:
5198         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
5199         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
5200         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
5201         * lib/stat-time.h: Copy from Gnulib, or regenerate.
5203 2018-01-09  Glenn Morris  <rgm@gnu.org>
5205         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
5207 2018-01-09  Glenn Morris  <rgm@gnu.org>
5209         Small fix for erc-logging-enabled
5211         * lisp/erc/erc-log.el (erc-logging-enabled):
5212         Respect buffer-locality of erc-enable-logging variable.
5214 2018-01-09  Glenn Morris  <rgm@gnu.org>
5216         Quieten semantic normal usage
5218         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
5219         compile time in the normal way, not at run-time.  (Bug#30035)
5221 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
5223         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
5225         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
5227 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
5229         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
5231 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
5233         Query background for gnome terminal version 3.22 (Bug#29716)
5235         * lisp/term/xterm.el (xterm--version-handler): Use
5236         xterm--report-background-handler for terminals reporting minor version
5237         4000 and above.
5239 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
5241         Make pixel-wise scrolling less laggy
5243         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
5244         New variables.
5245         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
5246         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
5248 2018-01-07  Alan Third  <alan@idiocy.org>
5250         Fix child frame placement issues (bug#29953)
5252         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
5253         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
5254         struct as invisible child windows are detached from their parents in
5255         NS.
5256         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
5257         value, so handle that gracefully.  Child frames with negative left and
5258         top should be positioned relative to the bottom right of the parent
5259         frame.
5261 2018-01-06  Alan Mackenzie  <acm@muc.de>
5263         Describe the precise interaction of complex primitives with the change hooks
5265         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
5266         primitives call before- and after-change-functions in balanced pairs, but that
5267         some complex primitives call b-c-f once, and a-c-f zero, one, or several
5268         times.
5270 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
5272         Fix valgrind report in call-interactively
5274         * src/callint.c (Fcall_interactively): Don't try to access more
5275         bytes than are available in the interactive spec.  (Bug#30004)
5277 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
5279         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
5281 2018-01-06  Alan Mackenzie  <acm@muc.de>
5283         Fix mark-defun when there's no spaces between successive defuns.
5285         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
5286         argument to detect non-syntactic WS.  This fails on a "}", which does not
5287         begin a sexp.
5289         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
5290         handle BOL being in a string.
5291         (beginning-of-defun-comments): Call the above function in place of the call
5292         to parse-partial-sexp.
5294 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
5296         Fix Dired display and operations on file names with raw bytes
5298         * src/coding.c (decode_coding): When flushing remaining raw bytes
5299         from multibyte text, copy 2-byte forms of eight-bit-*
5300         characters as single characters, not as 2 raw bytes.  (Bug#29189)
5302 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
5304         Improve documentation of 'gdb-many-windows'
5306         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
5307         for using a separate frame for 'gdb-many-windows'.
5309 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
5311         Fix failures in smerge-mode on MS-Windows
5313         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
5314         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
5315         convention explicit.
5316         (smerge-refine-regions): Use utf-8-emacs instead of
5317         emacs-internal, to allow decoding of non-Unix EOL conventions.
5318         (Bug#29916)
5320 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
5322         Fix description of 'struct' generic function specializer
5323         Backport:
5325         * doc/lispref/functions.texi (Generic Functions): Fix description of
5326         'struct' specializer; it must be the named struct or a child, not a
5327         parent.
5329         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
5331 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
5333         * etc/DEBUG (Getting control to the debugger): Fix grammar.
5335 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
5337         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
5339 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
5341         Don't bind dframe events on load (Bug#29599)
5343         * lisp/dframe.el (dframe-setup-hook): New hook.
5344         (dframe-set-special-events): New function, containing previous
5345         top-level key binding code.
5346         (top-level): Add it to dframe-setup-hook.
5347         (dframe-frame-mode): Run the hook.
5349 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
5351         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
5353         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
5355 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
5357         Fix description of 'emacs-internal'
5359         * doc/lispref/nonascii.texi (Coding System Basics): Correct
5360         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
5362 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
5364         Update PROBLEMS with selection-related issues
5366         * etc/PROBLEMS: Update the entry about large selections and
5367         klipper.  (Bug#29661)
5369 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
5371         New customization variable for python-mode indentation (Bug#28475)
5373         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
5374         (python-indent--calculate-indentation): Let it control how many indent
5375         levels are inserted for multi-line function signatures.
5377 2018-01-01  Alan Third  <alan@idiocy.org>
5379         Fix menu keyboard shortcuts on macOS (Bug#29595)
5381         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
5382         macOS 10.13 no longer ignores long modifier strings, so explicitly use
5383         an empty string.
5385 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
5387         Fix copyright years by hand
5389         These are dates that admin/update-copyright did not update, or
5390         updated incorrectly.
5392 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
5394         Update copyright year to 2018
5396         Run admin/update-copyright.
5398 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
5400         Merge from Gnulib
5402         This incorporates:
5403         2018-01-01 maint: Run 'make update-copyright'
5404         2017-12-29 Add cross-compilation results for GNU/Hurd.
5405         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
5407 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
5409         Don't add empty keyboard macro to macro ring (Bug#24992)
5411         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
5412         macro if it is empty.
5414         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
5415         Remove expected failure tag.
5417 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
5419         Allow customization of decoding of "man" command
5421         * lisp/man.el (Man-coding-system): New defcustom.
5422         (Man-start-calling): Use it, and also pay attention to user
5423         overriding coding-system-for-read.  (Bug#29872)
5425 2017-12-31  Daiki Ueno  <ueno@gnu.org>
5427         * etc/NEWS: Add security consideration note on passphrase input
5429 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
5431         Fix subtle problem with scroll-down when scroll-margin is nonzero
5433         * src/window.c (window_scroll_pixel_based): Account for
5434         scroll-margin when scrolling down, i.e. moving window-start
5435         towards the beginning of the buffer.  Reported by zhang cc
5436         <ccsmile2008@outlook.com> in
5437         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
5439 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
5441         Fix problems with indexing in User manual
5443         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
5444         (Moving Point):
5445         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
5446         * doc/emacs/trouble.texi (Quitting):
5447         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
5448         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
5449         (Creating Custom Themes):
5450         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
5451         (Basic Indent, Info Lookup, Symbol Completion):
5452         * doc/emacs/screen.texi (Echo Area):
5453         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
5454         * doc/emacs/display.texi (Line Truncation, Cursor Display):
5455         * doc/emacs/files.texi (File Names, Backup, File Archives):
5456         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
5457         * doc/emacs/commands.texi (User Input):
5458         * doc/emacs/mule.texi (International, Unibyte Mode)
5459         (International Chars):
5460         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
5461         (CVS Options):
5462         * doc/emacs/modes.texi (Major Modes, Minor Modes):
5463         * doc/emacs/indent.texi (Just Spaces):
5464         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
5465         (Frame Commands):
5466         * doc/emacs/cmdargs.texi (Initial Options):
5467         * doc/emacs/abbrevs.texi (Dabbrev Customization):
5468         * doc/emacs/mini.texi (Completion Example, Completion Commands):
5469         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
5470         (From Other Calendar):
5471         * doc/emacs/regs.texi (Text Registers, Bookmarks):
5472         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
5473         * doc/emacs/maintaining.texi (Xref Commands):
5474         * doc/emacs/windows.texi (Pop Up Window):
5475         * doc/emacs/text.texi (Text, Org Mode):
5476         * doc/emacs/killing.texi (Other Kill Commands):
5477         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
5478         (Gnus Summary Buffer, Shell Mode):
5479         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
5480         redundant identical index entries.
5481         * doc/emacs/custom.texi (Mouse Buttons)
5482         * doc/emacs/files.texi (Reverting): Fix hyphenation.
5483         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
5484         * doc/emacs/files.texi (File Conveniences):
5485         * doc/emacs/programs.texi (MixedCase Words): Make entries that
5486         belong to Concept Index be indexed with @cindex.  (Bug#29888)
5488 2017-12-29  Alan Mackenzie  <acm@muc.de>
5490         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
5492 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
5494         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
5496         Don't mess with the lock file when inhibit_modification_hooks is set,
5497         just like we do in prepare_to_modify_buffer_1.
5499 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
5501         Improve documentation of 'inhibit-modification-hooks' and friends
5503         * src/buffer.c (Fset_buffer_modified_p)
5504         (Frestore_buffer_modified_p): Doc fixes.
5505         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
5506         Document in the doc string that this variable also inhibits file
5507         locks and active region handling.  (Bug#29846)
5509 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
5511         Fix doc string of 'enable-recursive-minibuffers'
5513         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
5514         Doc fix.  (Bug#29873)
5516 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
5518         Fix documentation of delsel and of killing text
5520         * doc/emacs/killing.texi (Appending Kills): Make sure the text
5521         with 2 spaces is not broken between 2 lines.
5522         * doc/emacs/mark.texi (Using Region): Remove the sentence about
5523         delsel mode that describes behavior which exists even without
5524         delsel mode turned on.  Suggested by Petteri Hintsanen
5525         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
5527         * lisp/delsel.el (delete-selection-mode): Doc fix.
5529 2017-12-27  Glenn Morris  <rgm@gnu.org>
5531         * doc/lispref/strings.texi (Case Conversion):
5532         Use a TeX font that support ligatures.
5534 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
5536         * doc/misc/speedbar.texi (Top): Fix grammar.
5538         * lisp/subr.el (with-silent-modifications): Doc fixes.
5540 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
5542         Fix curved quotes in printed manual
5544         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
5545         characters in the printed version of the manual.
5547 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5549         Say that "gnus-cloud" is a parody name
5551 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
5553         More improvements for text.texi
5555         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
5556         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
5557         emacs-manual-bugs@gnu.org.
5559 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
5561         Adjudicate review comments for the "Text" chapter of user manual
5563         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
5564         cross-reference to the Org manual.  Make the cross-reference to
5565         Outline Mode appear in online manuals as well (the conditional was
5566         a forgotten remnant from time immemoriam).
5567         (Paragraphs): Add a note that 'paragraph-start' and
5568         'paragraph-separate' should not be anchored.
5569         (Auto Fill): Remove redundant text.  Suggested by Petteri
5570         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
5572 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
5574         * lisp/url/url-http.el
5575         (url-http-wait-for-headers-change-function): Change message to
5576         url-http-debug.
5578 2017-12-24  Alan Mackenzie  <acm@muc.de>
5580         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
5582         , and instruct her to hold the mouse button to display its documentation.
5584         * lisp/help.el (help-downify-mouse-event-type): New function.
5585         (help-read-key-sequence, describe-key): handle double-click-time being nil or
5586         t.
5587         (describe-key): Print out instructions for displaying documentation of
5588         matching mouse down key sequence command when such exists.
5590 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
5592         * net/eww.el (eww): Handle URLs without host part.
5594 2017-12-23  Alan Mackenzie  <acm@muc.de>
5596         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
5598         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
5599         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
5600         event of a sequence which is bound.
5602         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
5603         a list.  Return the latest one which has a binding.
5605 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
5607         Avoid crashes when ':eval' deletes our frame
5609         * src/xdisp.c (display_mode_element): Signal an error if
5610         ':eval' somehow deletes the frame whose window we are
5611         redisplaying. (Bug#29726)
5613 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
5615         Fix scrolling up in pixel-scroll.el
5617         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
5618         down when EOB is shown at the top.  This function is reverted to
5619         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
5621 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
5623         Fix problems with ligatures in PDF version of ELisp manual
5625         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
5626         ligatures in printed versions of the manual.  (Bug#29818)
5628 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
5630         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
5632         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
5633         Don't burp if the source-buffer has been killed.
5635 2017-12-22  Glenn Morris  <rgm@gnu.org>
5637         Avoid some overfull lines in PDF lispref
5639         * doc/lispref/commands.texi (Reading One Event):
5640         * doc/lispref/display.texi (SVG Images):
5641         * doc/lispref/frames.texi (Size Parameters):
5642         * doc/lispref/syntax.texi (Categories):
5643         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
5644         Avoid overfull lines.
5646 2017-12-22  Glenn Morris  <rgm@gnu.org>
5648         Avoid some overfull lines in PDF manual
5650         * doc/emacs/display.texi (Display Custom):
5651         * doc/emacs/search.texi (Other Repeating Search):
5652         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
5654 2017-12-22  Glenn Morris  <rgm@gnu.org>
5656         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
5657         Fix ref.
5659 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5661         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
5663 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5665         Fix doc string of 'footnote-style-alist'
5667         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
5668         to non-existing files from doc string.  (Bug#29759)
5670 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5672         Improve documentation of selecting windows
5674         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
5675         Clarify what selecting a window means for keyboard input, and that
5676         input focus may need to be considered when selecting windows on
5677         other frames.  See
5678         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
5679         for more details.
5681 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5683         Improve documentation of records
5685         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
5686         * doc/lispref/records.texi (Records): Recommend that record type
5687         names use package-naming conventions.
5689         * etc/NEWS: Add the naming convention recommendation for record
5690         types.
5692 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5694         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
5696 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5698         Fix interactive spec of 'semantic-ia-show-variants'
5700         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
5701         interactive spec to match the function's expectations.  (Bug#29770)
5703 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5705         Fix documentation of 'mouse-drag-and-drop-region' and friends
5707         * doc/emacs/frames.texi (Drag and Drop): Index
5708         'mouse-drag-and-drop-region-cut-when-buffers-differ',
5709         'mouse-drag-and-drop-region-show-tooltip', and
5710         'mouse-drag-and-drop-region-show-cursor'.
5712         * etc/NEWS: Fix the format of the related entries.
5714 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
5716         Improve detection of speller version in ispell.el
5718         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
5719         general forms of version numbers for Aspell, Hunspell, and
5720         Enchant, to include various beta and prereleases.  (Bug#29801)
5722 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
5724         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
5726         * doc/emacs/frames.texi (Drag and Drop):
5727         * etc/NEWS (times): Document options for
5728         'mouse-drag-and-drop-region' and mention them in NEWS.
5730 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
5732         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
5734         * doc/emacs/building.texi (Grep Searching): Fix doc of
5735         'grep-save-buffers'.
5736         (Drag and Drop): Reorder paragraphs.  Fix doc of
5737         'mouse-drag-and-drop-region'.
5738         * doc/emacs/frames.texi (Word and Line Mouse):
5739         * doc/emacs/search.texi (Other Repeating Search):
5740         * doc/lispref/compile.texi (Compilation Functions):
5741         * doc/lispref/files.texi (Directory Names):
5742         * doc/lispref/functions.texi (Advising Named Functions):
5743         * doc/lispref/keymaps.texi (Controlling Active Maps):
5744         * doc/lispref/lists.texi (Association Lists):
5745         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
5746         'non-nil' and 'nil'.
5748 2017-12-21  Philipp Stephani  <phst@google.com>
5750         Document that mode commands should be idempotent.
5752         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
5753         Conventions): Document that the mode commands should be idempotent.
5755 2017-12-21  Alan Mackenzie  <acm@muc.de>
5757         Fontify a CPP construct correctly when a comment follows without spaces
5759         Do this by removing a broken optimization in the state cache which put
5760         category text properties on a character between the end of the CPP construct
5761         and the beginning of the comment.  This can't work when there's no such
5762         character.
5764         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
5765         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
5766         (c-with-all-but-one-cpps-commented-out): Remove.
5768         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
5769         start position rather than one character before it.
5770         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
5771         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
5773         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
5774         c-neutralize-syntax-in-CPP and remove the bits which applied category
5775         properties.
5777         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
5778         new name of the function c-neutralize-syntax-in-CPP.
5780 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
5782         Prevent infloop in redisplay on TTY frames
5784         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
5785         filling up display margins with the default face's background.
5786         (Bug#29789)
5788 2017-12-21  Alan Mackenzie  <acm@muc.de>
5790         Fix loss of documentation face in certain CC Mode doc comment situations
5792         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
5793         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
5794         "/**" (etc.) being itself inside a literal, rather than just depending on the
5795         face of the previous character.
5797 2017-12-21  Daiki Ueno  <ueno@gnu.org>
5799         Remove pinentry.el
5801         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
5802         * lisp/net/pinentry.el: Remove (bug#27445).
5804 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
5806         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
5808         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
5809         (Fgnutls_available_p): Use it.
5811 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
5813         Work around GnuTLS version issues with %DUMBFW (tiny change)
5815         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
5816         (init_gnutls_functions): Use it.
5817         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
5819 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
5821         Merge branch 'widen-less' into emacs-26
5823 2017-12-20  Glenn Morris  <rgm@gnu.org>
5825         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
5827 2017-12-20  Glenn Morris  <rgm@gnu.org>
5829         Fix some more aliases to user options
5831         * lisp/cus-edit.el (custom-mode-hook):
5832         * lisp/erc/erc.el (erc-default-coding-system):
5833         * lisp/progmodes/python.el (python-indent, python-guess-indent)
5834         (python-shell-virtualenv-path)
5835         (python-shell-completion-module-string-code)
5836         (python-shell-completion-pdb-string-code, python-use-skeletons):
5837         Define aliases to user options before the options are defined.
5839 2017-12-20  Glenn Morris  <rgm@gnu.org>
5841         Fix some flymake aliases
5843         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
5844         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
5845         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
5846         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
5847         Define aliases to user options before the options are defined.
5849 2017-12-20  Glenn Morris  <rgm@gnu.org>
5851         Unbreak a fileio test on non-Mac OS X systems
5853         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
5854         Don't use an undefined coding system.
5856 2017-12-20  Robert Pluim  <rpluim@gmail.com>
5858         Fix updating scrollbar sizes when scaling is in effect
5860         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
5861         scrollbar when scaling is in effect.
5862         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
5863         when scaling is in effect.
5865 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
5867         Widen in indent-for-tab-command in the normal case, too
5869         Fixing this obvious omission.
5870         * lisp/indent.el (indent--funcall-widened): New function.
5871         (indent-for-tab-command): Use it.
5873 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
5875         Collect GnuTLS extensions and use them to set %DUMBFW if supported
5877         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
5878         only when it's supported as "ClientHello Padding" (Bug#25061).
5880         * src/gnutls.c (Fgnutls_available_p): Get extension names and
5881         put them in the GnuTLS capabilities, using a hard-coded limit
5882         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
5884 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
5886         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
5888 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
5890         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
5892         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
5893         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
5894         rather than forms (bug#29679).
5896 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
5898         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
5899         not position (bug#29734).
5901 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
5903         Replace the mention of c-indent-defun with js-indent-line
5905         * doc/lispref/text.texi (Mode-Specific Indent):
5906         Avoid mentioning c-indent-defun in the context of multi-mode
5907         indentation.
5909 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
5911         python.el doc fixes
5913         * lisp/progmodes/python.el (python-shell-accept-process-output):
5914         (python-shell-comint-end-of-output-p):
5915         (python-shell-first-prompt-hook):
5916         (python-info-beginning-of-backslash): Doc fixes.
5918 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
5920         Make 'mouse-drag-and-drop-region' more robust and customizable
5922         * lisp/mouse.el
5923         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
5924         to permit 'mouse-drag-and-drop-region' to cut text also when source
5925         and destination buffers differ.
5926         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
5927         display of tooltip during mouse dragging on graphic displays.
5928         (mouse-drag-and-drop-region-show-cursor): New option to toggle
5929         moving point with mouse cursor during mouse dragging of region.
5930         (mouse-drag-and-drop-region): New face to highlight original
5931         text while dragging.
5932         (mouse-drag-and-drop-region): Make use of new options and face.
5933         Ignore errors during tracking.
5935 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
5937         Backport: Don't compare arguments that can be nil (Bug#28039)
5939         copy-region-as-kill can be called passing nil as `beg' and
5940         `end'. Magit does that, which caused an error when this advice was in
5941         effect.
5943         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
5944           unless `beg' and `end' are non-nil.
5946 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
5948         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
5950         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
5951         similar may update the syntax-ppss cache if
5952         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
5953         any of these functions with a different than normal syntax-table, the
5954         cache must be cleaned afterwards.
5955         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
5956         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
5958 2017-12-17  Glenn Morris  <rgm@gnu.org>
5960         * etc/emacs.appdata.xml: Update file format.
5962 2017-12-16  Alan Third  <alan@idiocy.org>
5964         Use utf-8-hfs-unix on macOS (Bug#29712)
5966         This is a quick fix for the Emacs 26 release. Do not merge to master.
5968         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
5969         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
5971 2017-12-16  Alan Mackenzie  <acm@muc.de>
5973         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
5975 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
5977         Improve fix for Bug#29712
5979         * test/lisp/net/tramp-tests.el
5980         (tramp-test32-environment-variables-and-port-numbers):
5981         Adapt check for systems which do not support "echo -n".  (Bug#29712)
5983 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
5985         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
5987 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
5989         Avoid reordering of output in 'shr-insert-document'
5991         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
5992         shr-pixel-column invocations.  (Bug#29734)
5994 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
5996         Improve documentation of 'invisible-p'
5998         * doc/lispref/display.texi (Invisible Text): Document the return
5999         value of 'invisible-p'.
6001         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
6002         (Bug#29721)
6004 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
6006         Remove one more check that Vframe_list is non-nil
6008         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
6009         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
6010         assumes that.
6012 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
6014         Fix off-by-one error in 'css--hex-color'
6016         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
6018         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
6019         for 'css--hex-color'.
6021 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
6023         Save and restore text-pixel height and width of frames (Bug#28442)
6025         * lisp/frameset.el (frameset--record-relationships): Record
6026         text-pixel-height and text-pixel-width of frame.
6027         (frameset--restore-frame): Restore text-pixel-height and
6028         text-pixel-width of frame if available.  (Bug#28442)
6030 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
6032         Partially revert "Mention new strictness for &optional, &rest..."
6034         The changes to cl argument parsing are not backwards compatible, and
6035         cause inconvenience when writing macros (e.g., instead of doing '&aux
6036         ,@auxargs', some more complicated conditionals would be required).
6037         The `cl-defstruct' macro makes use of this convenience when defining
6038         empty structs (Bug#29728).
6039         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
6040         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
6041         and &aux.
6042         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
6043         test.
6045 2017-12-15  Glenn Morris  <rgm@gnu.org>
6047         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
6049         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
6051 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6053         FOR_EACH_FRAME no longer assumes frame-list
6055         This cleans up a recent fix related to Bug#29661.
6056         Suggested by Stefan Monnier in:
6057         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
6058         * src/frame.c (next_frame, prev_frame, delete_frame):
6059         Restore debugging checks that Vframe_list is non-nil,
6060         as FOR_EACH_FRAME no longer has these checks.
6061         (delete_frame): Remove no-longer-needed checks that Vframe_list is
6062         non-nil, as FOR_EACH_FRAME no longer assumes that.
6063         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
6065 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
6067         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
6069 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
6071         Modernise message.el face spec syntax
6073         * lisp/gnus/message.el (message-header-to, message-header-cc)
6074         (message-header-subject, message-header-newsgroups)
6075         (message-header-other, message-header-name, message-header-xheader)
6076         (message-separator, message-cited-text, message-mml):
6077         Use (DISPLAY . PLIST) face spec syntax as recommended in
6078         `(elisp) Defining Faces'.  (Bug#29405)
6080 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
6082         Update message.el obsolete face aliases
6084         * lisp/gnus/message.el: (message-header-to, message-header-cc)
6085         (message-header-subject, message-header-newsgroups)
6086         (message-header-other, message-header-name, message-header-xheader)
6087         (message-separator, message-cited-text, message-mml):
6088         Use define-obsolete-face-alias.  (Bug#29405)
6090 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
6092         Improve documentation of TERM environment variable
6094         * doc/emacs/trouble.texi (Checklist):
6095         * doc/emacs/building.texi (Compilation Shell):
6096         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
6097         * doc/emacs/building.texi (Compilation Shell): Mention
6098         'comint-terminfo-terminal' in conjunction with the TERM value.
6100 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
6102         Add option to configure comint TERM
6104         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
6105         (comint-term-environment): New function for setting terminal options
6106         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
6107         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
6109         * etc/NEWS:
6110         * doc/emacs/misc.texi (Shell Options): Document the new option.
6112 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
6114         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
6116         * lisp/international/mule.el (sgml-xml-auto-coding-function):
6117         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
6118         obey the buffer's encoding if it is one of these variants, instead
6119         of re-encoding in UTF-8 proper.  (Bug#20623)
6121 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
6123         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
6125 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
6127         Fix Bug#29712 in tramp-tests.el
6129         * test/lisp/net/tramp-tests.el
6130         (tramp-test32-environment-variables-and-port-numbers):
6131         Skip for macOS.  (Bug#29712)
6133 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
6135         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
6137         This does not fix Bug#29961 but avoids that Emacs segfaults when
6138         trying to shut down because it lost connection to the X server.
6140         * src/dispnew.c (check_glyph_memory):
6141         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
6142         there's no frame left (Bug#29961).
6144 2017-12-15  Glenn Morris  <rgm@gnu.org>
6146         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
6148 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
6150         Remember password change for IMAP in Gnus (Bug#29692)
6152         Reported by Trey Jackson <trey_jackson@mentor.com>.
6154         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
6155         `mail-source-password-cache' for password.
6157 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
6159         Add %DUMBFW to the default GnuTLS priority strings
6161         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
6162         the default priority strings (Bug#25061).
6164         * etc/NEWS: Mention it.
6166         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
6167         GnuTLS priority string documentation URL.
6169 2017-12-15  Glenn Morris  <rgm@gnu.org>
6171         Small fixes prompted by make check-declare
6173         * lisp/frame.el (x-focus-frame): Update declaration.
6174         (ns-mouse-absolute-pixel-position): Fix declaration.
6175         * lisp/vc/diff-mode.el (diff-refine-hunk):
6176         Use smerge-refine-regions rather than obsolete alias.
6177         (smerge-refine-subst): Remove declaration, no longer relevant.
6179 2017-12-15  Glenn Morris  <rgm@gnu.org>
6181         Fix some custom groups
6183         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
6184         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
6186 2017-12-14  Alan Mackenzie  <acm@muc.de>
6188         Fix fontification of first declaration within a C++ lambda form.
6190         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
6191         spuriously recognizing the braces of a lambda form as a brace list when there
6192         is an "=" preceding the introductory brackets.
6194 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
6196         * src/data.c (Fadd_variable_watcher): Doc fix.
6198 2017-12-14  Alan Mackenzie  <acm@muc.de>
6200         Fix misfontification of C++ member initialization list after "throw"
6202         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
6203         starting with "throw", by using c-opt-type-modifier-prefix-key.
6205         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
6206         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
6207         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
6208         any keyword in the previous lang const.
6210 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
6212         Consolidate 'widen' calls
6214         * lisp/progmodes/prog-mode.el (prog-indentation-context):
6215         Un-document all elements but the first.
6216         (prog-widen): Remove.
6217         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
6219         * doc/lispref/text.texi (Mode-Specific Indent): Update.
6221         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
6222         Don't call widen.
6224         * lisp/progmodes/python.el
6225         (python-indent-guess-indent-offset)
6226         (python-info-current-defun): Replace prog-widen with widen;
6227         these functions are not called during indentation.
6228         (python-indent-context)
6229         (python-indent--calculate-indentation)
6230         (python-info-dedenter-opening-block-message)
6231         (python-info-line-ends-backslash-p)
6232         (python-info-beginning-of-backslash)
6233         (python-info-continuation-line-p)
6234         (python-info-current-defun): Remove 'widen' calls.
6236         * lisp/indent.el (indent-according-to-mode)
6237         (indent-for-tab-command, indent-region): Move them here.
6239         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
6240         Bind prog-indentation-context to one-element list.
6242 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
6244         Fix doc-string of Fbuffer_list
6246         * src/buffer.c (Fbuffer_list): Fix doc-string.
6248 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
6250         Don't raise an extraneous frame (bug#29696)
6252         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
6253         summary buffer keys from article buffer without affecting window
6254         configuration (bug#29696).
6256 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
6258         Mention new strictness for &optional, &rest in arglists (Bug#29165)
6260         * etc/NEWS: Explain that '&optional' not followed by a variable is now
6261         an error.
6262         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
6263         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
6264         followed by a variable for consistency.
6265         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
6266         test.
6268 2017-12-13  Alan Mackenzie  <acm@muc.de>
6270         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
6272         Also recognize and handle function names introduced by "extern" inside a
6273         function.
6275         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
6276         the result list which is t when our declaration is, or is to be treated as,
6277         being at top level.
6279         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
6280         inside a C++ uniform initialization and return (not-decl nil) for this case.
6281         (c-font-lock-declarations): Use the new element 4 of the result of
6282         c-forward-decl-or-cast-1.
6284         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
6285         New lang consts/vars.
6287 2017-12-13  Glenn Morris  <rgm@gnu.org>
6289         Fixes for defcustoms, prompted by cus-test-opts
6291         * lisp/files.el (save-some-buffers-default-predicate):
6292         * lisp/time.el (display-time-world-list):
6293         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
6294         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
6295         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
6296         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
6297         (less-css-output-file-name, less-css-input-file-name):
6298         * lisp/vc/emerge.el (emerge-metachars):
6299         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
6300         Fix :types.
6301         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
6303 2017-12-13  Glenn Morris  <rgm@gnu.org>
6305         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
6306         Update.
6308         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
6310 2017-12-13  Glenn Morris  <rgm@gnu.org>
6312         Add missing :version tags revealed by cusver-check
6314         * lisp/comint.el (comint-move-point-for-matching-input):
6315         * lisp/epa.el (epa-replace-original-text):
6316         * lisp/image-dired.el (image-dired-cmd-optipng-program)
6317         (image-dired-cmd-optipng-options):
6318         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
6319         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
6320         (gnus-cloud-interactive):
6321         * lisp/net/mailcap.el (mailcap-user-mime-data):
6322         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
6323         (c-noise-macro-names, c-noise-macro-with-parens-names):
6324         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
6325         (flymake-wrap-around):
6326         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
6327         * lisp/progmodes/js.el (js-indent-align-list-continuation):
6328         * lisp/progmodes/perl-mode.el (perl-flymake-command):
6329         * lisp/progmodes/python.el (python-flymake-command)
6330         (python-flymake-command-output-pattern, python-flymake-msg-alist):
6331         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
6332         (ruby-rubocop-config):
6333         * lisp/textmodes/less-css-mode.el (less-css):
6334         * lisp/textmodes/tex-mode.el (tex-chktex-program)
6335         (tex-chktex-extra-flags): Add missing :version tags.
6337 2017-12-13  Glenn Morris  <rgm@gnu.org>
6339         Escape column-zero doc parens
6341         * lisp/htmlfontify.el (hfy-display-class):
6342         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
6343         * lisp/net/shr.el (shr-external-rendering-functions):
6344         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
6345         * lisp/textmodes/tildify.el (tildify-tildify):
6346         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
6348 2017-12-12  Alan Third  <alan@idiocy.org>
6350         Remove ObjC blocks (Bug#23753)
6352         * src/macfont.m (macfont_get_glyph_for_character):
6353         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
6355         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
6357 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
6359         Import the latest IVD_Sequences.txt
6361         * admin/unidata/IVD_Sequences.txt: New version from
6362         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
6363         Ideographic Variation Database.
6365         * src/macuvs.h: Regenerated.
6367 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
6369         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
6371         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
6372         to write to stdout rather than relying on the default (the choice of
6373         default is decided when compiling tar, BSD systems usually set it to a
6374         tape drive).  Drop '-v', since the output is not used anywhere.
6376 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
6378         Suppress warnings during elisp completion macroexpansion
6380         Errors are already suppressed, therefore it is logical to suppress
6381         warnings as well.  Some macros (e.g., use-package) may produce
6382         warnings when given the `elisp--witness--lisp' symbol.
6383         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
6384         warning-minimum-log-level to :emergency.
6386 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
6388         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
6390 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
6392         Make tramp-interrupt-process more robust
6394         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
6395         the default implementation if there's no success.
6397 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
6399         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
6401         * lisp/international/quail.el (quail-input-method): Work not only
6402         when buffer-read-only is nil but also when inhibit-read-only is non-nil
6403         (bug#29504).
6405 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
6407         Fix 'fontset-name-p'
6409         * lisp/international/fontset.el (fontset-name-p): Make the
6410         function work with full fontset names and fontset alias names.
6412 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
6414         Fix fontset documentation inconsistencies for bug#29630
6416         * doc/lispref/display.texi (Face Attributes): Don't document
6417         :family as accepting a fontset.  Document that :font accepts a
6418         fontset.
6420         * lisp/faces.el (set-face-attribute): Doc fix.
6422 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
6424         Remove sentence from child frames section in Elisp manual
6426         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
6427         Suggested by Bob Weiner <rsw@gnu.org>.
6429 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
6431         Avoid crashes in 'font-at' after 'set-fontset-font'
6433         * src/fontset.c (free_realized_fontsets): Call
6434         recompute_basic_faces, so that the basic faces are available to
6435         any Lisp that calls this function, e.g. via set-fontset-font.
6436         (Bug#29632)
6438 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
6440         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
6442 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
6444         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
6446         Problem reported by Mark Ferlatte (Bug#28603).
6447         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
6449 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
6451         Fix tool-tip display when display margins are non-zero by default
6453         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
6454         New inline functions.
6455         * src/xfns.c (Fx_show_tip):
6456         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
6457         buffer to zero, as it will be displayed in a pseudo-window, which
6458         doesn't support display margins.  (Bug#29627)
6460 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
6462         Handle hash tables and vectors when reading/writing EIEIO objects
6464         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
6465           printed with `prin1' can no longer be read with `read'. Make sure
6466           they are printed with object-write instead, even when they're inside
6467           hash tables and vectors.
6468         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
6469           Check for written representations of objects inside hash tables and
6470           vectors, and reconstruct them.
6472 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
6474         Improve interactive debugging commands in xdisp.c
6476         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
6477         specify ROW via prefix argument.  Fix the doc strings.
6479 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
6481         Fix calculation of continuation_pixel_width in display engine
6483         * src/xdisp.c (display_line): Remove incorrect increment of
6484         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
6486 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
6488         Improve documentation of 'save-abbrevs'.
6490         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
6491         value of 'save-abbrevs'.  Suggested by Alex Branham
6492         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
6494 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
6496         Improve documentation of Dired
6498         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
6499         be made modifiable in Wdired.  Suggested by Alex Branham
6500         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
6502 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
6504         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
6506 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
6508         Minor Tramp fixes
6510         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
6511         Fix a bug when renaming.
6513         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
6514         (tramp-test42-delay-load, tramp-test42-remote-load-path):
6515         Skip unless Emacs >= 26.
6517 2017-12-08  Glenn Morris  <rgm@gnu.org>
6519         * lisp/help-mode.el (help-function-def):
6520         Allow help-make-xrefs to call with one argument.  (Bug#29611)
6522 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
6524         Fix doc-string of 'display-buffer-in-side-window'
6526         * lisp/window.el (display-buffer-in-side-window): In doc-string
6527         clarify why the window returned gets dedicated to its buffer.
6529 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
6531         Fix Bug#29579
6533         * lisp/files.el (file-name-non-special):
6534         Inhibit `file-name-handler-alist' only for some operations.
6535         Add missing operations.  (Bug#29579)
6537         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
6538         Do not quote if it is quoted already.
6540         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
6541         Use `copy-tree' but `copy-sequence'.
6543         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
6544         trailing slashes correctly.
6546         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
6547         (tramp-test12-rename-file, tramp-test24-file-acl)
6548         (tramp-test25-file-selinux, tramp--test-check-files):
6549         Handle also quoted file names.
6550         (tramp-test21-file-links): Fix file name quoting test.
6551         (tramp-test24-file-acl): Be more robust for "smb" method.
6552         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
6554 2017-12-06  Rasmus  <rasmus@gmx.us>
6556         Backport: Update Org to v9.1.4
6558         Please note this is a bugfix release. See etc/ORG-NEWS for details.
6560         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
6562 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
6564         In windows.texi mention special splitting behavior of side and atomic windows
6566         * doc/lispref/windows.texi (Splitting Windows): Add note about
6567         and links to side and atomic windows.
6569 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
6571         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
6572         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
6574 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
6576         Avoid compilation warning in xterm.c
6578         * src/xterm.c (x_draw_underwave): Move the declaration of
6579         'thickness' to the non-USE_CAIRO branch, to avoid compiler
6580         warning.  (Bug#29567)
6582 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
6584         * README: Document all the top-level directories.  (Bug#29558)
6586 2017-12-04  Glenn Morris  <rgm@gnu.org>
6588         Don't enable erc modules on simply loading erc.el
6590         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
6592 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
6594         Allow shr to use data: URLs without encoding
6596         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
6597         image data: URLs that have no base64 encoding like
6598         (shr-image-from-data
6599         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
6601 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
6603         Don't add newlines in minibuffer history
6605         * lisp/simple.el (next-line-or-history-element): Bind
6606         next-line-add-newlines to nil.  (Bug#29529)
6608 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
6610         modhelp.py: Support Python 3 (Bug#24954)
6612         * modules/modhelp.py: 'print' statement was removed in Python
6613         3.  'print' function should be used instead of 'print' statement.
6615 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
6617         Use forward slashes for python w32 config example (Bug#21656)
6619         * lisp/progmodes/python.el: Use forward slashes for Windows path
6620         example, it doesn't require doubling of slashes which reduces chances
6621         of confusion.
6623 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
6625         Fix bug in i18n/l10n optimization
6627         This fixes a off-by-one buffer overrun bug introduced in
6628         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
6629         experimental version of Emacs built with -fcheck-pointer-bounds
6630         and running on Intel MPX hardware.
6631         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
6633 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
6635         Let autoload-compute-prefix be set file-locally (Bug#29471)
6637         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
6638         boolean values as safe.
6640 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
6642         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
6644         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
6645         present the current bindings in the prompt.  Check the the
6646         non-remapped binding of the entered key sequence as well.
6648 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
6650         Add tests on electric-indentation and Python multiline strings (Bug#29305)
6652         * test/lisp/progmodes/python-tests.el
6653         (python-indent-electric-comma-inside-multiline-string,
6654         python-indent-electric-comma-after-multiline-string): New tests.
6656 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
6658         Disable electric indent for python strings (Bug#29305)
6660         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
6661         Do nothing when point or beginning of line is in string.
6663 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
6665         Fix buffer overflow in fontname conversion (Bug#29523)
6667         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
6669 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
6671         Fix byte compilation of files with leading directories
6673         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
6674         of target-file to make-temp-file, in case target-file includes a
6675         leading directory that might not exist under TMPDIR.  See
6676         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
6677         for the details.
6679 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
6681         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
6683 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
6685         Revert Tramp commit from 2017-11-20
6687         * lisp/net/tramp.el (tramp-drop-volume-letter)
6688         (tramp-handle-find-backup-file-name): Revert change from
6689         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
6690         case now.
6692 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
6694         Improve documentation of buffer-list commands and features
6696         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
6697         "Several Buffers", to establish a relation between the two
6698         sections.
6699         (Buffer Menus): Expand on customizability of alternative buffer
6700         menu offered by bs.el.  Mention IBuffer.
6701         Suggested by Alex Branham <alex.branham@gmail.com> in
6702         emacs-manual-bugs@gnu.org.
6704 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
6706         Fix backing up remote files in local directories on MS-Windows
6708         * lisp/files.el (make-backup-file-name-1): Support remote file
6709         names correctly when they are backed up into a local directory on
6710         MS-Windows and MS-DOS.  (Bug#29440)
6712 2017-12-02  Glenn Morris  <rgm@gnu.org>
6714         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
6716 2017-12-01  John Wiegley  <johnw@newartisans.com>
6718         Revert "Fix backing up remote files in local directories on MS-Windows"
6720         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
6722 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
6724         Fix a typo in ELisp manual
6726         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
6727         of using 'seq-uniq'.  (Bug#29524)
6729 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
6731         * lisp/composite.el (find-composition): Fix a typo in the doc string.
6733 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
6735         Fix backing up remote files in local directories on MS-Windows
6737         * lisp/files.el (make-backup-file-name-1): Support remote file
6738         names correctly when they are backed up into a local directory on
6739         MS-Windows and MS-DOS.  (Bug#29440)
6741 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
6743         Fix vertical cursor motion in pixel-scroll.el
6745         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
6746         regardless of whether EOB is shown at the top.
6747         (pixel-scroll-down) Move cursor up regardless of whether BOB
6748         is shown at the top.  (Bug#29374)
6750 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
6752         Fix typos in doc strings of message.el
6754         * lisp/gnus/message.el (message-header-to)
6755         (message-header-subject, message-header-newsgroups)
6756         (message-header-other): Fix typos in doc strings.  (Bug#29405)
6758 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
6760         Fix a typo in the Emacs manual
6762         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
6763         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
6765 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
6767         Improve the documentation of 'table-insert-sequence'
6769         * doc/emacs/text.texi (Table Misc): Fix the description of
6770         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
6771         emacs-manual-bugs@gnu.org.
6773 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
6775         Port better to QNX
6777         Problem reported by Elad Lahav on emacs-devel.
6778         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
6779         and default LDFLAGS to -N2MB so that the initial stack size
6780         is not too small.  Also, fix misspelling of ‘qnxnto’.
6782 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
6784         Make tramp-test42-auto-load more robust
6786         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
6787         Make it more robust.  Don't skip.
6789 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
6791         Avoid assertions in find-composition
6793         * src/font.c (font_range): If called with STRING non-nil and FACE
6794         a NULL pointer, compute face by calling face_at_string_position.
6795         (Bug#29506)
6797         * lisp/composite.el (find-composition): Doc fix.
6799 2017-11-29  Glenn Morris  <rgm@gnu.org>
6801         Restore obsolete method of changing byte-compile-dest-file
6803         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
6804         Restore seven-year obsolete feature that was removed for six months,
6805         since automake uses it.
6807 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
6809         Some minor Tramp corrections
6811         * lisp/net/tramp.el (tramp-handle-directory-file-name):
6812         Handle several trailing slashes correctly.
6813         (tramp-handle-file-selinux-context): New defun.
6815         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
6816         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
6817         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
6818         Use `tramp-handle-file-selinux-context'.
6820         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
6821         Extend test.
6822         (tramp-test17-insert-directory): Make check more robust.
6823         (tramp-test42-auto-load): Combine several let forms.
6824         (tramp-test42-delay-load, tramp-test42-recursive-load)
6825         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
6827 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
6829         * doc/misc/url.texi (http/https): Fix typo
6831 2017-11-29  Glenn Morris  <rgm@gnu.org>
6833         Remove some bogus definition-prefixes from loaddefs
6835         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
6836         Don't register a definition prefix from define-erc-module,
6837         which adds an erc- prefix to its argument.
6839 2017-11-28  Robert Pluim  <rpluim@gmail.com>
6841         Shell-quote wildcards when invoking 'vc-git-grep'
6843         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
6844         filename wildcards to ensure globbing is done by git rather
6845         than the shell.  (Bug#29303)
6847 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
6849         Update documentation of '.dir-locals-2.el'
6851         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
6852         for more details.
6853         * lisp/files.el (dir-locals-file-2): Remove unused constant.
6854         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
6855         the doc string.
6856         * doc/lispref/variables.texi (Directory Local Variables): Mention
6857         ".dir-locals-2.el".
6858         * etc/NEWS: Replace `dir-locals-file-2' mention with
6859         `dir-locals-file'.
6861 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
6863         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
6865 2017-11-27  Glenn Morris  <rgm@gnu.org>
6867         A few small doc fixes for bytecomp.el
6869         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
6870         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
6872 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6874         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
6876 2017-11-27  Glenn Morris  <rgm@gnu.org>
6878         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
6880 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
6882         Fix ELisp "Warning Tips"
6884         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
6885         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
6887 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
6889         Fix Bug#29163
6891         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
6892         Do not use "\\'" in regexp.  (Bug#29163)
6893         (top) Do not run (tramp-register-autoload-file-name-handlers)
6894         when loading tramp.el.
6896         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
6897         (tramp-test32-environment-variables-and-port-numbers)
6898         (tramp-test41-asynchronous-requests): Use it.
6899         (tramp-test42-auto-load): New test.
6900         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
6901         (tramp-test45-delay-load, tramp-test46-unload): Rename.
6903 2017-11-27  Paul Eggert  <eggert@union>
6905         Harden exec_byte_code against redefining 'error'
6907         Problem discovered by configuring with --enable-gcc-warnings on
6908         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
6909         * src/bytecode.c (exec_byte_code): Call the C error function
6910         instead of the Lisp one, so that the Emacs interpreter does not go
6911         haywire if the user redefines the Lisp error function.
6913 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
6915         Fix Edebug specs for if-let* and and-let* (Bug#29236)
6917         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
6918         Change Edebug spec to cause Edebug to instrument tests the
6919         results of which are not bound to symbols (the (VALUEFORM)
6920         case).
6921         (and-let*): Change Edebug spec to allow empty body.
6923         *test/lisp/emacs-lisp/subr-x-tests.el:
6924         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
6925         form so Edebug will work on this test.
6927 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
6929         Fix Edebug's handling of dotted specs (bug#6415)
6931         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
6932         cl-macro-list1 instead of cl-macro-list in Edebug spec.
6934         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
6935         unused variable.
6936         (edebug-dotted-spec): Add docstring.
6937         (edebug-match-specs): Allow &optional and &rest specs to
6938         match nothing at the tail of a dotted form. Handle matches of
6939         dotted form tails which return non-lists.
6941         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
6942         New test.
6944         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
6945         (edebug-test-code-use-destructuring-bind): New function.
6947 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
6949         Improve documentation of "constant" symbols
6951         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
6952         <font-width-table>:
6953         * src/data.c (syms_of_data) <most-positive-fixnum>
6954         <most-negative-fixnum>:
6955         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
6956         Mention in the doc strings that these variables are read-only.
6958         * doc/lispref/variables.texi (Creating Buffer-Local): Document
6959         that making a constant variable buffer-local signals an error.
6960         * doc/lispref/variables.texi (Constant Variables):
6961         * doc/lispref/errors.texi (Standard Errors): More accurate and
6962         up-to-date documentation of which symbols cannot be assigned
6963         values.
6965 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
6967         maint: shorten https://lists.gnu.org/archive/html/... links
6969 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
6971         Merge from Gnulib
6973         This incorporates:
6974         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
6975         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
6976         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
6977         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
6978         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
6979         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
6980         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
6981         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
6982         * m4/vararrays.m4:
6983         Copy from Gnulib.
6985 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
6987         Work around GCC bug 80776 on Fedora 27 x86
6989         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
6990         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
6991         using XINT rather than XFASTINT and by adding an eassume.  This
6992         works around GCC bug 80776.
6994 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6996         Tweak copy-file, rename-file doc
6998         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
6999         slightly, as NEWNAME is treated as a directory name depending only
7000         on the contents of the NEWNAME string, and independently of
7001         whether NEWNAME names a directory (i.e., whether the directory
7002         exists) (Bug#29362).
7004 2017-11-25  Tom Tromey  <tom@tromey.com>
7006         Change font-lock-extend-region-multiline handling in mhtml-mode
7008         Bug#29159
7009         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
7010         font-lock-extend-region-multiline from
7011         font-lock-extend-region-functions.
7012         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
7014 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
7016         Minor cleanup in tramp-gvfs-handle-file-local-copy
7018         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
7019         Move error message up.
7021 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
7023         Add test for Bug#29423 in Tramp.
7025         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
7026         Add test for Bug#29423.
7028 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
7030         Avoid jumbled order in HTML rendered by shr.el
7032         * lisp/net/shr.el (shr-render-td): Preserve point, as
7033         shr-render-td-1 might move it as a side effect of
7034         save-window-excursion.  (Bug#29348)
7036 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
7038         Make sure 'dired-filename' property is always put by ls-lisp
7040         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
7041         'dired-filename' text property on the file name here...
7042         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
7044 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7046         A better solution for bug#29347
7048         * src/thread.c (really_call_select): Don't try to take the global
7049         lock if the same thread is already holding it.  (Bug#29347)
7051 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7053         Avoid a hang after C-g while sit-for on a Unix TTY
7055         * src/thread.c (acquire_global_lock): Don't try to take the global
7056         lock if the same thread is already holding it.  (Bug#29347)
7058 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7060         Improve the doc string of 'list-packages'
7062         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
7063         string the columns shown by the command.  (Bug#29420)
7065 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7067         Improve discoverability of 'defvar' for suppressing warnings
7069         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
7070         * doc/lispref/variables.texi (Defining Variables): Mention that
7071         defvar with no value is used for suppressing compiler warnings.
7072         (Bug#29400)
7074 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7076         Improve discoverability of 'read-buffer-completion-ignore-case'
7078         * lisp/window.el (switch-to-buffer)
7079         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
7080         Mention 'read-buffer' in the doc string.  (Bug#29389)
7082         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
7083         where 'read-buffer-completion-ignore-case' is documented.
7085 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7087         Improve documentation of self-insert-uses-region-functions
7089         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
7090         doc string.
7091         * lisp/delsel.el (delete-selection-uses-region-p): Mention
7092         'self-insert-command' in the doc string.  (Bug#29373)
7094         * doc/lispref/text.texi (Commands for Insertion): Mention
7095         'self-insert-uses-region-functions'.
7096         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
7097         cross-reference to "Commands for Insertion".
7099 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7101         Reflect changes in copy-file and rename-file in doc strings
7103         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
7104         strings that directory names must end in a slash.  (Bug#29362)
7106 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7108         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
7110 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
7112         Reorder type predicates in ELisp manual
7114         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
7115         order of listed predicates.  (Bug#29411)
7117 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
7119         Fix backward scrolling in buffers with header-line
7121         * src/window.c (window_scroll_pixel_based): Account for the
7122         header-line when comparing Y coordinate with the last_visible_y.
7123         (Bug#29325)
7125 2017-11-22  Glenn Morris  <rgm@gnu.org>
7127         * lisp/bindings.el (buffer-file-coding-system):
7128         Add explicit permanent-local mark.
7130         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
7132 2017-11-22  Alan Third  <alan@idiocy.org>
7134         Fix incorrect interaction of drag/drop and double click (bug#29121)
7136         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
7137         doesn't use ns-input-file.
7139 2017-11-22  Glenn Morris  <rgm@gnu.org>
7141         * lisp/menu-bar.el (menu-bar-options-save):
7142         Add display-line-numbers-type.
7144         * lisp/menu-bar.el (menu-bar-options-save):
7145         Add global-display-line-numbers-mode.  (Bug#28396)
7147         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
7149 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
7151         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
7153         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
7154         (ruby-flymake-rubocop):
7155         Extract the common part as ruby-flymake--helper.
7156         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
7157         variable instead.
7159 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
7161         Add Rubocop Flymake backend
7163         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
7164         Inline the value.  There are no known substitutes.
7165         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
7166         the docstring.
7167         (ruby-flymake-use-rubocop-if-available): New option.
7168         (ruby--rubocop-flymake-proc): New variable.
7169         (ruby-rubocop-config): New option.
7170         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
7171         (ruby-mode): Use `ruby-flymake-auto'.
7173 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
7175         Update nt/INSTALL.W64 (Bug#28601)
7177         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
7178         suggestion about modifying PATH to...
7179         (Test Emacs): ... here.
7180         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
7181         (Troubleshooting): New section, includes suggestion to check
7182         PKG_CONFIG_PATH.
7184 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
7186         Remove incorrect NEWS item about VC state indicator (Bug#28817)
7188         * etc/NEWS (VC and related modes): Remove news item about the VC
7189         state indicator.  This should have been done with commit 7882dc6
7190         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
7192 2017-11-21  Glenn Morris  <rgm@gnu.org>
7194         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
7196 2017-11-21  Alan Mackenzie  <acm@muc.de>
7198         Make c-defun-name analyze more thoroughly a function type which is a struct
7200         This fixes bug #29293.
7202         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
7203         encountered, check whether it is the return type of a function rather than a
7204         declaration of the struct itself.  Similarly adapt the cond arm which deals
7205         with functions properly to recognize struct return types.
7207 2017-11-21  Glenn Morris  <rgm@gnu.org>
7209         Avoid bogus abbreviated file names if HOME changes
7211         * lisp/files.el (abbreviate-file-name):
7212         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
7213         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
7215 2017-11-21  Glenn Morris  <rgm@gnu.org>
7217         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
7219 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
7221         Fix erc keep-place module with new defaults (Bug#29111)
7223         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
7224         keep-place to continue working with
7225         switch-to-buffer-preserve-window-point set to t, the new default.
7227 2017-11-20  Alan Third  <alan@idiocy.org>
7229         Add window divider faces to NS (bug#29353)
7231         * src/nsterm.m (ns_draw_window_divider): Use
7232         window-divider-first-pixel and window-divider-last-pixel faces.
7234 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7236         * src/keyboard.c: Undo last change, meant for master only
7238 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
7240         Fix Bug#29149
7242         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
7243         backup file names.
7244         (tramp-handle-find-backup-file-name):
7245         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
7247 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
7249         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
7251         * src/xterm.c (x_draw_window_divider):
7252         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
7253         drawing three-pixel high horizontal dividers (Bug#29353).
7255         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
7256         Third.
7258 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
7260         MH-E: don't automatically download external-body parts
7262         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
7263         mm-automatic-display-p to verify that a part should be
7264         displayed before doing the inline checks (SF#475).
7266 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
7268         Further fix for Bug#29291
7270         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
7271         Check for local ACL support.  (Bug#29291)
7273 2017-11-19  Alan Third  <alan@idiocy.org>
7275         Fix divider frame params on NS (bug#29352)
7277         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
7278         bottom-divider-width parameters.
7280 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
7282         Spelling fixes
7284         * lisp/help-fns.el (help-fns--analyze-function):
7285         Rename from help-fns--analyse-function.
7286         All uses changed.
7288 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
7290         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
7292         (read_key_sequence): Recompute first_event
7293         after replay_sequence, since it might have changed (bug#29104).
7295 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
7297         Don't let delete_frame select a tooltip frame (Bug#27647)
7299         * src/frame.c (delete_frame): Don't select a tooltip
7300         frame. (Bug#27647)
7302 2017-11-18  Alan Mackenzie  <acm@muc.de>
7304         Filter obtrusive events in help-read-key-sequence.
7306         This fixes most of bug #29272.
7308         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
7309         discarding any events (such as <help-echo>) received in this time, before
7310         polling for the double-click (etc.) events which may follow.  This fixes the
7311         infinite loop which occurred whwn <help-echo> events triggered a sit-for
7312         whilst handling menu events.
7314 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
7316         Fix symlink flag in tramp-gvfs-handle-file-attributes
7318         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
7319         Set proper symlink file mode flag.
7321 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
7323         Fix bug in tramp-handle-file-truename
7325         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
7327         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
7328         relative symbolic links.
7330 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
7332         Fix a typo in doc string of electric-indent-functions-without-reindent
7334         * lisp/electric.el (electric-indent-functions-without-reindent):
7335         Doc fix.  (Bug#29304)
7337 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
7339         Avoid assertion violations in echo_area_display
7341         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
7342         area if the selected-frame's mini-window is nil.  (Bug#27647)
7344 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
7346         Fix case-folding in Occur
7348         * lisp/replace.el (occur-engine): Bind case-fold-search in each
7349         buffer we search.  (Bug#29254)
7351 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
7353         Fix quick-calc in C mode with hex values
7355         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
7356         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
7357         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
7358         for the details.
7360 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
7362         Improve documentation of dired-next/prev-marked-file
7364         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
7365         Doc fixes.  (Bug#29340)
7367 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
7369         Prevent aborts in line-move-visual
7371         * src/indent.c (line_number_display_width): Avoid assertion
7372         violations in init_iterator when the window's buffer was
7373         temporarily switched without updating window-start.  (Bug#29326)
7375 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
7377         More fixes in src/.gdbinit
7379         * src/.gdbinit (pwinx): Update to match 'struct window'.
7380         (pcursorx): Use "." instead of "->" because the argument is a
7381         struct, not a pointer.
7383 2017-11-17  Robert Pluim  <rpluim@gmail.com>
7385         Document how to enter whitespace when using grep-read-files
7387         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
7388         how to enter whitespace when using grep-read-files.  (Bug#29303)
7389         * lisp/progmodes/project.el (project-find-regexp): Likewise.
7390         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
7392 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
7394         Fix .gdbinit following lisp.h changes
7396         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
7397         (xprintstr): Adapt to latest changes in Lisp object C structures.
7398         (Bug#29332)
7400 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
7402         * lisp/simple.el (shell-command): Doc fixes.
7404 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
7406         Fix marker adjustment for undo (Bug#29118)
7408         * lisp/simple.el (primitive-undo): Compare marker against absolute
7409         value of POS, because the sign of POS is irrelevant to markers.
7411 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
7413         Fix Bug#28139
7415         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
7416         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
7417         (tramp-remote-process-environment): Document their special handling.
7418         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
7419         initial remote shell, so that it is also aware of the environment
7420         in which it is operating.  (Bug#28139)
7422 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
7424         Fix Bug#29291
7426         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
7427         Preserve permissions when copying.  (Bug#29291)
7429 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
7431         Fix Bug#2928
7433         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
7434         Enhance test.  (Bug#29287)
7435         (tramp-test44-delay-load): Fix for older Emacsen.
7437 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
7439         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
7441         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
7442         'select-window' events to make it work with
7443         'mouse-autoselect-window'.
7445 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
7447         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
7449         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
7451 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
7453         Fix cookie handling (bug#29282)
7455         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
7456         Regard a Set-Cookie header as it contains a single cookie;
7457         prefer Max-Age to Expires and convert it to Expires;
7458         remove support for old time string styles (bug#29282).
7460 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
7462         Improve documentation of Edebug and macros
7464         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
7465         discussion of when it might be necessary to find and evaluate macro
7466         specifications before instrumenting.
7467         (Specification List): Clarify what "defining form" means to Edebug
7468         and when 'def-form' or 'def-body' should be used instead of 'form'
7469         or 'body'.
7471 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7473         Port to IBM xlc 12.01
7475         Work around a compiler bug by using a separate enum for alignment.
7476         * src/alloc.c (roundup_size): Declare in a separate enum.
7478 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7480         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
7482         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
7483         needed, since we no longer rely on __attribute__ ((aligned (8))).
7484         All uses removed.
7485         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
7486         (lisp_to_value): Simplify now that we no longer need to worry
7487         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
7489 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7491         Use alignas to fix GCALIGN-related bugs
7493         Use alignas and unions to specify alignments of objects needing
7494         addresses that are at least a multiple of GCALIGNMENT.  Using
7495         these standard C facilities should be safer than relying on ad hoc
7496         and poorly-understood features like GCC’s __attribute__
7497         ((aligned (N))), the root cause for recent porting bugs like
7498         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
7499         supports alignas for pre-C11 platforms.  I have tested this on Sun
7500         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
7501         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
7502         x86-64 and x86).
7503         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
7504         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
7505         now properly aligned.  All uses changed.
7506         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
7507         member; this is simpler and safer than casting a pointer that
7508         might not be aligned properly.
7509         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
7510         Lisp_Symbol is aligned properly.  All uses replaced with struct
7511         Lisp_Symbol.
7512         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
7513         it can cause the natural alignment to be ignored.  All uses
7514         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
7515         described below.
7516         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
7517         Change definition from ‘struct TAG { MEMBERS };’ to
7518         ‘struct TAG { union { struct { MEMBERS } s; char alignas
7519         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
7520         to have an alignment that at least max (GCALIGNMENT, N) where N is
7521         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
7522         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
7523         anyway.  Verify that the resulting ‘struct TAG’ is properly
7524         aligned for Emacs.
7525         (union vectorlike_header): New member ‘gcaligned’ to guarantee
7526         that this type, and its containing types like ‘struct Lisp_Subr’,
7527         ‘struct buffer’ and ‘struct thread_state’, are all properly
7528         aligned for Emacs.
7529         (struct Lisp_String): New union member ‘next’, for the benefit
7530         of NEXT_FREE_LISP_STRING.
7531         (union Aligned_Cons, union Aligned_String): Remove.  All uses
7532         replaced by struct Lisp_Cons and struct Lisp_String, since they
7533         are now properly aligned.
7534         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
7535         assume struct Lisp_Cons and struct Lisp_String are properly
7536         aligned.
7538 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7540         Change vectorlike from struct to union
7542         * src/lisp.h (vectorlike_headed): Change from struct to union.
7543         All uses changed.  Since it has only one member, this does not
7544         change semantics.  This is designed to simplify future changes
7545         needed to fix bugs like Bug#29040.  All uses changed.
7547 2017-11-12  Tom Tromey  <tom@tromey.com>
7549         Don't enable cursor-sensor-mode in mhtml-mode
7551         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
7552         string.
7553         (mhtml-mode): Don't call cursor-sensor-mode.
7555 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
7557         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
7559 2017-11-12  João Távora  <joaotavora@gmail.com>
7561         Unbreak interactive run of a flymake test (bug#29267)
7563         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
7564         technique used here.
7566         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
7567         Let-bind abbreviated-home-dir.
7569 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
7571         Fix Bug#29225
7573         * src/fileio.c (Fset_file_acl): Report error only when
7574         acl_errno_valid returns true.  (Bug#29225)
7576         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
7577         (tramp-test25-file-selinux): New tests.
7578         (tramp-test26-file-name-completion, tramp-test27-load)
7579         (tramp-test28-process-file, tramp-test29-start-file-process)
7580         (tramp-test30-interrupt-process, tramp-test31-shell-command)
7581         (tramp-test32-environment-variables)
7582         (tramp-test32-environment-variables-and-port-numbers)
7583         (tramp-test33-explicit-shell-file-name)
7584         (tramp-test34-vc-registered)
7585         (tramp-test35-make-auto-save-file-name)
7586         (tramp-test36-find-backup-file-name)
7587         (tramp-test37-make-nearby-temp-file)
7588         (tramp-test38-special-characters)
7589         (tramp-test38-special-characters-with-stat)
7590         (tramp-test38-special-characters-with-perl)
7591         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
7592         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
7593         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
7594         (tramp-test41-asynchronous-requests)
7595         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
7596         (tramp-test44-delay-load, tramp-test45-unload): Rename.
7598 2017-11-12  Alan Mackenzie  <acm@muc.de>
7600         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
7602         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
7603         for an open brace at EOB and nested braces inside an unclosed brace block.
7605 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
7607         Merge from Gnulib
7609         This incorporates:
7610         2017-11-11 faccessat: port to macOS (Bug#29231)
7611         2017-11-05 fstatat: pacify GCC on unusual platform
7612         * build-aux/config.guess, build-aux/config.sub:
7613         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
7614         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
7615         Copy from Gnulib.
7616         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7618 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
7620         Pacify GCC when configured --with-x-toolkit=no
7622         Without these changes, Emacs does not build on Fedora 26 x86-64
7623         when configured --with-x-toolkit=no --enable-gcc-warnings.
7624         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
7625         * src/xterm.c (x_dispatch_event): Define only if
7626         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
7628 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
7630         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
7632 2017-11-12  João Távora  <joaotavora@gmail.com>
7634         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
7636         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
7637         more eob corner cases.
7639         * test/lisp/progmodes/flymake-tests.el
7640         (eob-region-and-trailing-newline): New test.
7642 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
7644         Keep Man sections in natural order (bug#28998)
7646         * lisp/man.el (Man-build-section-alist): Reverse sections.
7648 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
7650         * lisp/minibuffer.el: Install a workaround for bug#16274
7652         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
7653         error when `md` is applied to another table.
7655 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
7657         Fix comparisons with tip_frame in GTK builds
7659         * src/xterm.c (x_update_begin, x_new_font):
7660         * src/xfns.c (Fx_display_monitor_attributes_list):
7661         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
7662         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
7664 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
7666         Improve the documentation of M-n for entering file names
7668         * lisp/files.el (find-file, find-file-other-window)
7669         (find-file-other-frame): Mention file-name-at-point-functions in
7670         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
7671         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
7673         * doc/emacs/mini.texi (Minibuffer History): Document
7674         file-name-at-point-functions and its effect on M-n when typing
7675         file names in the minibuffer.
7676         * doc/emacs/files.texi (File Names):
7677         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
7678         "Minibuffer History", where special features of M-n regarding
7679         files are described.
7681 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
7683         Fix desktop auto-save timer when linum-mode is used
7685         * lisp/desktop.el (desktop-read): Use toplevel value of
7686         window-configuration-change-hook when deciding whether desktop
7687         auto-saving is enabled.  Suggested by Peter Neidhardt
7688         <pe.neidhardt@googlemail.com>.  (Bug#28945)
7690 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
7692         Fix "C-h k" in xterm-mouse-mode
7694         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
7695         xterm-mouse-mode by calling read-key-sequence-vector instead of
7696         read-event.  (Bug#29150)
7698 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
7700         Fix off-by-1 bug in --enable-checking=stringbytes
7702         Evidently nobody builds Emacs with --enable-checking=all,
7703         which is no surprise as it is so slow as to be unusable nowadays.
7704         Perhaps we should remove the slowest checks, or move them into
7705         another category, or speed them up, or something.
7706         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
7707         error in size calculation, which caused a failure when
7708         --enable-checking=stringbytes was used.  I introduced this bug in
7709         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
7710         members to GCC + valgrind".
7712 2017-11-10  Alan Mackenzie  <acm@muc.de>
7714         Correct the indentation of C99's compound literals.
7716         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
7717         if there is only syntactic whitespace in a brace block, it is regarded as a
7718         statement block.  Also, if there is no semicolon or comma delimiter, treat as
7719         a statement block when there is a keyword.
7720         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
7721         when its contents indicate a brace block.
7723 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
7725         Improve the doc string of 'dired-isearch-filter-filenames'
7727         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
7728         (Bug#29215)
7730 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
7732         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
7734 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
7736         Fix display of line numbers in GTK builds
7738         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
7739         tip_frame is indeed a tooltip frame, before disabling line numbers
7740         on it.  (Bug#27647)
7742         * src/dispextern.h (tip_frame): Add commentary describing the
7743         kludgey usage of this variable in GTK builds.
7745 2017-11-10  João Távora  <joaotavora@gmail.com>
7747         Fix previous change to flymake-diag-region (bug#29174)
7749         * lisp/progmodes/flymake.el (flymake-diag-region):
7750         Pass line and col to commit.
7752 2017-11-09  João Távora  <joaotavora@gmail.com>
7754         flymake-diag-region really returns nil if region is invalid (bug#29174)
7756         Reported by Lele Gaifax <lele@metapensiero.it>.
7758         * lisp/progmodes/flymake.el (flymake-diag-region): Really
7759         return nil if the region is invalid.
7761 2017-11-09  João Távora  <joaotavora@gmail.com>
7763         Flymake correctly highlights whole last line if eob (bug#29201)
7765         If a line/column pair indicates an end-of-buffer position, flymake
7766         should behave like the case where the last line of the buffer is
7767         referenced without a column indication.  This behavior is currently
7768         to highlight the whole last line.
7770         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
7771         conditions of fallback to the fallback-eol local function.
7773 2017-11-09  João Távora  <joaotavora@gmail.com>
7775         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
7777         The function checkdoc-current-buffer may error if there are unbalanced
7778         parens, for example, but this shouldn't disable the
7779         elisp-flymake-checkdoc backend.
7781         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
7782         ignore-errors.
7784 2017-11-09  João Távora  <joaotavora@gmail.com>
7786         Sort entries of the Flymake diagnostics buffer (bug#29175)
7788         Reported by Lele Gaifax <lele@metapensiero.it>.
7790         * lisp/progmodes/flymake.el
7791         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
7793 2017-11-09  Alan Mackenzie  <acm@muc.de>
7795         Correctly indent C++14 brace lists which are a second argument to a function.
7797         In particular, don't indent contained brace lists in "staircase" fashion.
7798         This fixes bug #28623.
7800         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
7801         testing for being enclosed in parens, recognize also a brace directly
7802         following a comma, as well as a brace being the first thing inside the paren.
7803         Enhance the return value, by indicating when we're directly inside an open
7804         paren.
7805         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
7806         whether we will accept a bracelist directly inside an open parenthesis.
7807         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
7808         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
7809         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
7810         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
7811         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
7812         At CASE 9, call that function with extra argument t.
7814 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
7816         Fix redisplay of overlay-arrows on GUI frames
7818         * src/xdisp.c (try_window_reusing_current_matrix)
7819         (try_cursor_movement): Disallow these optimizations if the buffer
7820         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
7822 2017-11-09  João Távora  <joaotavora@gmail.com>
7824         Protect Flymake tests against older Ruby and Perl (bug#29187)
7826         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
7827         for the error from the bottom.
7828         (ruby-backend): Protect against situation of bug#29187
7830 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7832         Fix URL cookie expiration bug
7834         Problem reported by Damien Cassou (Bug#29223).
7835         * lisp/url/url-cookie.el (url-cookie-expired-p):
7836         Fix typo in previous change, which caused unexpired cookies
7837         to be treated as expired and vice versa.
7839 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7841         Use GCALIGNED properly for GCC
7843         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
7844         immediately follow the ‘struct’ keyword when aligning a structure.
7845         The attribute silently does not work if it follows a tag after the
7846         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
7847         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
7848         * lib-src/make-docfile.c (close_emacs_globals):
7849         * src/buffer.c (buffer_defaults, buffer_local_symbols):
7850         * src/lisp.h (DEFUN):
7851         * src/thread.c (main_thread):
7852         Put 'GCALIGNED' immediately after 'struct'.
7854 2017-11-09  Glenn Morris  <rgm@gnu.org>
7856         In f90.el, set fill-paragraph-function to a useful value
7858         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
7859         (f90-mode): Set fill-paragraph-function.
7860         (f90-fill-paragraph): New command.
7862 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
7864         Fix to 2fddfb7ce7
7866         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
7867           Fix bogus paren wrapping.
7869 2017-11-08  Glenn Morris  <rgm@gnu.org>
7871         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
7873 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
7875         Further workaround for faulty localtime() under macOS 10.6
7877         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
7878         when compiling on macOS 10.6 with a western time zone (a
7879         continuation of Bug#27736).  In particular, see:
7881         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
7883         and the first commit that attempted to work around this problem,
7884         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
7885         2017-09-30.
7887 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
7889         Handle object string name in eieio-persistent-convert-list-object
7891         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
7892           Starting to phase out the printing of object names in
7893           `object-write', handle either case.
7895 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
7897         Fix handling of nil PRED2 arg for completion-table-with-predicate
7899         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
7900         if strict is non-nil when pred2 is nil (Bug#27841).
7901         * test/lisp/minibuffer-tests.el
7902         (completion-table-with-predicate-test): Add a test for Bug#27841.
7904 2017-11-07  K. Handa  <handa@gnu.org>
7906         Describe Lao rendering problem
7908         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
7909         by OpenTyype font.
7911 2017-11-07  K. Handa  <handa@gnu.org>
7913         Fix docstring of arabic-shaper-ZWNJ-handling
7915         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
7916         the doctstring for addition of :set (bug#28312).
7918 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
7920         Handle single-line comments correctly (Bug#26049)
7922         * lisp/newcomment.el (comment-region-internal): Previously, the
7923         comment text had to contain at least one line break character for the
7924         ending extra line to be added.  Make the behavior more consistent by
7925         looking for end of line instead.
7926         (comment-region-internal): Remove trailing white space from the
7927         comment's initial line.
7929 2017-11-07  Glenn Morris  <rgm@gnu.org>
7931         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
7932         Clean up properly.
7934 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
7936         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
7938 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
7940         Document new treatment of 'comment-auto-fill-only-comments'
7942         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
7943         manual.  Add description of 'comment-auto-fill-only-comments'.
7944         * etc/NEWS: Mention new treatment of
7945         'comment-auto-fill-only-comments'.
7947 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
7949         Do not load Tramp unless `tramp-mode' is non-nil
7951         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
7952         `tramp-mode' is non-nil.
7953         (tramp-unload-file-name-handlers): Unload also
7954         `tramp-autoload-file-name-handler'.
7956         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
7958 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
7960         Prefer `customize-set-variable' in tramp.texi
7962         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
7963         (Default Host, Remote shell setup, Auto-save and Backup)
7964         (Ad-hoc multi-hops, Frequently Asked Questions):
7965         Prefer `customize-set-variable' over `custom-set-variables'.
7967 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
7969         Fix last change in hscroll_window_tree
7971         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
7972         being disabled, set the frame's garbaged flag less eagerly.
7973         (Bug#29002)
7975 2017-11-05  Philipp Stephani  <phst@google.com>
7977         Ediff: add some missing documentation
7979         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
7980         (ediff-buffers3, ediff-merge-directories)
7981         (ediff-merge-directories-with-ancestor)
7982         (ediff-merge-directory-revisions)
7983         (ediff-merge-directory-revisions-with-ancestor)
7984         (ediff-windows-wordwise, ediff-windows-linewise)
7985         (ediff-regions-wordwise, ediff-regions-linewise)
7986         (ediff-merge-files, ediff-merge-files-with-ancestor)
7987         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
7988         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
7989         (ediff-patch-file, ediff-revision): Document missing arguments.
7990         (ediff-patch-buffer, ediff-revision): Add second space after
7991         period.
7992         (ediff-files-command, ediff3-files-command, ediff-merge-command)
7993         (ediff-merge-with-ancestor-command, ediff-directories-command)
7994         (ediff-directories3-command, ediff-merge-directories-command): Add
7995         documentation for the command line functions.
7997 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
7999         Support python virtualenv on w32 (Bug#24464)
8001         According to the virtualenv docs only POSIX systems follow the
8002         structure "/path/to/venv/bin/", while windows systems use
8003         "/path/to/venv/Scripts" for the location of the binary files, most
8004         importantly including the python interpreter (see:
8005         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
8006         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
8007         "/path/to/venv/Scripts" for `windows-nt' machines.
8009 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
8011         Improve dired deletion error handling (Bug#28797)
8013         * lisp/dired.el (dired-internal-do-deletions): Use
8014         `error-message-string' to produce a human readable error message.
8016 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
8018         Don't replace user input when completion prefix is empty (Bug#18951)
8020         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
8021         input if we produced a non-empty common completion stub.
8023 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
8025         Return non-nil from gnutls-available-p under GnuTLS 2.x
8027         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
8028         documentation of 'gnutls-available-p'.
8030         * etc/NEWS (GnuTLS): Mention the change in the value returned by
8031         'gnutls-available-p'.
8033         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
8034         2.x is available.  (Bug#29147)
8036 2017-11-05  João Távora  <joaotavora@gmail.com>
8038         Fix Flymake help-echo functions across windows (bug#29142)
8040         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
8041         with-selected-window.
8042         (flymake-goto-next-error): Call help-echo with a window and an
8043         overlay.
8045 2017-11-05  João Távora  <joaotavora@gmail.com>
8047         Add tests for Flymake backends for Ruby and Perl
8049         * test/lisp/progmodes/flymake-tests.el (perl-backend)
8050         (ruby-backend): New tests.
8051         (warning-predicate-rx-perl, warning-predicate-function-perl):
8052         Delete tests.
8054         * test/lisp/progmodes/flymake-resources/test.pl: Include an
8055         error the test file.
8057         * test/lisp/progmodes/flymake-resources/test.rb: file.
8059 2017-11-05  João Távora  <joaotavora@gmail.com>
8061         Add a Flymake backend for Perl
8063         Define a simple backend in perl-mode.el, which cperl-mode.el also
8064         uses.
8066         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
8067         flymake-diagnostic-functions.
8069         * lisp/progmodes/flymake-proc.el
8070         (flymake-proc-allowed-file-name-masks): Disable legacy backend
8071         for perl files.
8073         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
8074         defcustom.
8075         (perl--flymake-proc): New buffer-local variable.
8076         (perl-flymake): New function.
8077         (perl-mode): Add to flymake-diagnostic-functions.
8079 2017-11-05  João Távora  <joaotavora@gmail.com>
8081         Add a Flymake backend for Ruby
8083         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
8084         defcustom.
8085         (ruby--flymake-proc): New buffer-local variable.
8086         (ruby-flymake): New function.
8087         (ruby-mode): Add flymake-diagnostic-functions.
8089 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
8091         Add a Flymake backend for Python (bug#28808)
8093         Implement new Flymake backend with related customizable settings.
8095         * lisp/progmodes/python.el (python-flymake-command)
8096         (python-flymake-command-output-pattern)
8097         (python-flymake-msg-alist): New defcustom.
8098         (python--flymake-parse-output): New function, able to parse
8099         python-flymake-command output accordingly to
8100         python-flymake-command-output-pattern.
8101         (python-flymake): New function implementing the backend
8102         interface using python--flymake-parse-output for the real
8103         work.
8104         (python-mode): Add python-flymake to flymake-diagnostic-functions.
8106 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
8108         Allow "%" in Tramp host names
8110         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
8112         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
8114 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
8116         Use hybrid malloc for FreeBSD (Bug#28308)
8118         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
8119         using system malloc dumping does not work correctly (allocated data is
8120         invalid after dumping).
8121         * configure.ac: Set hybrid_malloc for freebsd.
8122         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
8124 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
8126         Add html-, mhtml- and python-mode support to semantic symref
8128         * lisp/cedet/semantic/symref/grep.el
8129         (semantic-symref-filepattern-alist): Fix the entry for
8130         'html-mode', which used a regexp-like syntax where only glob
8131         syntax is permitted.  As a result, 'xref-find-references' (M-?)
8132         can now find references in HTML files.  Also duplicate the same
8133         entry for the sake of 'mhtml-mode', and add a new one for
8134         'python-mode'.
8135         (semantic-symref-derive-find-filepatterns): In the documentation,
8136         clarify that returned patterns must follow the glob syntax.  Fix
8137         an 'if' test that always evaluates to nil.
8138         (semantic-symref-tool-grep):
8139         (semantic-symref-perform-search): Fix typos.
8141 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
8143         Improve documentation of 'window-scroll-functions'
8145         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
8146         arguments of 'window-scroll-functions' functions.
8148         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
8150 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
8152         Fix subtle problems in tabulated-list-mode with line numbers
8154         * lisp/emacs-lisp/tabulated-list.el
8155         (tabulated-list-watch-line-number-width): Call
8156         tabulated-list-init-header instead of tabulated-list-revert.
8157         (tabulated-list-window-scroll-function): New function.
8158         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
8159         on the buffer-local 'window-scroll-functions' list.
8161 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
8163         Make gdb-non-stop-setting default to nil on MS-Windows
8165         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
8166         MS-Windows.
8168 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
8170         Fix gdb-mi prompt after "attach PID" command
8172         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
8173         gdb-first-done-or-error non-nil.  (Bug#29020)
8175 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
8177         Fix doc string of 'window-configuration-change-hook'
8179         * src/window.c (syms_of_window) <window-configuration-change-hook>:
8180         Doc fix.  (Bug#29049)
8182 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
8184         Improve documentation of window hooks
8186         * doc/lispref/windows.texi (Window Hooks): Fix the description of
8187         window-configuration-change-hook.  (Bug#29049)
8188         <run-window-scroll-functions, run-window-configuration-change-hook>:
8189         Document these functions.
8191 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
8193         Fix hscroll suspension after cursor motion
8195         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
8196         of the window when temporary suspension of hscrolling is
8197         disabled.  (Bug#29002)
8199 2017-11-03  Alan Mackenzie  <acm@muc.de>
8201         Introduce a function to CC Mode which displays the current function name
8203         Remove an erroneous interactive specification from two functions.
8205         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
8206         (c-defun-name, c-cpp-define-name): Remove interactive specification.
8208         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
8209         command.
8211         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
8212         command.
8214 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
8216         Fix typos in ediff-wind.el
8218         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
8219         Fix typos in commentary.  (Bug#29138)
8221 2017-11-03  João Távora  <joaotavora@gmail.com>
8223         Examine tex-chktex--process in the correct buffer
8225         As in other Flymake backends, the process sentinel might run in
8226         arbitrary buffers where this variable's value doesn't make sense.
8228         For a way to trigger a problem due to this, see discussion starting in
8229         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
8231         * lisp/textmodes/tex-mode.el (tex-chktex): Use
8232         with-current-buffer.
8234 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
8236         * nt/INSTALL.W64: Update to current mingw64 install instructions
8238 2017-11-03  João Távora  <joaotavora@gmail.com>
8240         Don't resignal errors in flymake-diag-region
8242         * lisp/progmodes/flymake.el (flymake-diag-region): Use
8243         flymake-log instead of flymake-error.
8245 2017-11-03  João Távora  <joaotavora@gmail.com>
8247         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
8249         This is like xref-goto-xref, but quits the *xref* window just before
8250         the user jump to ref.
8252         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
8253         value for SELECT.
8254         (xref-goto-xref): Take optional QUIT arg.
8255         (xref-quit-and-goto-xref): New command.
8256         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
8257         xref-quit-and-goto-xref.
8259         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
8260         *xref*.
8262         * etc/NEWS (Xref): Describe new binding.
8264 2017-11-03  João Távora  <joaotavora@gmail.com>
8266         Allow split-window-sensibly to split threshold in further edge case
8268         As a fallback, and to avoid creating a frame, split-window-sensibly
8269         would previously disregard split-height-threshold if the window to be
8270         split is the frame's root window.
8272         This change generalizes that: it disregards the threshold if the
8273         window to be split is the frame's only _usable_ window (it is either
8274         the only one, as before, or all the other windows are dedicated to
8275         some buffer and thus cannot be touched).
8277         This is required for the fix to bug#28814.
8279         * lisp/window.el (split-height-threshold): Adjust doc to match
8280         split-window-sensibly.
8281         (split-window-sensibly): Also disregard threshold if all other
8282         windows are dedicated.
8284 2017-11-03  João Távora  <joaotavora@gmail.com>
8286         Honor window-switching intents in xref-find-definitions (bug#28814)
8288         When there is more than one xref to jump to, and an *xref* window
8289         appears to help the user choose, the original intent to open a
8290         definition in another window or frame is remembered when the choice to
8291         go to or show a reference is finally made.
8293         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
8294         (xref--original-window-intent): New variable.
8295         (xref--original-window): Rename from xref--window and move up
8296         here for clarity.
8297         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
8298         (xref--show-location): Handle window selection decision here.
8299         (xref--window): Rename to xref--original-window.
8300         (xref-show-location-at-point): Don't attempt window management here.
8301         (xref--show-xrefs): Ensure display-action intent is saved.
8303 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
8305         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
8307 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
8309         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
8311         Don't try to flymake-start within a buffer that doesn't exist any more.
8313 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
8315         Fix buffer name comparison in async shell-command
8317         * lisp/simple.el (shell-command): Keep track of output-buffer
8318         by its name, not by its object.  (Bug#28997)
8320 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
8322         Change GCALIGNMENT back to an integer literal
8324         * src/lisp.h (GCALIGNMENT): Change it back to a macro
8325         that expands to a literal integer constant, for older GCC.
8326         I had mistakenly thought that only MSVC had the problem.
8327         Problem repored by Eli Zaretskii (Bug#29040#69).
8329 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
8331         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
8333 2017-11-03  Hong Xu  <hong@topbug.net>
8335         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
8337         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
8338         function to generate the docstring for custom variables derived from
8339         pcomplete-* variables.
8340         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
8341         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
8342         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
8343         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
8344         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
8345         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
8346         (eshell-command-completion-function, eshell-cmpl-command-name-function)
8347         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
8348         to set the docstring.
8350 2017-11-02  Alan Third  <alan@idiocy.org>
8352         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
8354         * src/nsterm.m (EmacsScroller::mouseDown,
8355         EmacsScroller::mouseDragged): Take scroller buttons into account when
8356         calculating scroller knob position.
8358 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
8360         Merge from Gnulib
8362         This incorporates:
8363         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
8364         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
8365         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
8366         * build-aux/config.guess, build-aux/config.sub:
8367         * lib/timespec.h, lib/unistd.in.h:
8368         Copy from Gnulib.
8370 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
8372         Fix alignment portability problems
8374         Do not assume that the natural alignment of Lisp objects is a
8375         multiple of GCALIGNMENT.  This improves on the portability of the
8376         recent fix for Bug#29040.
8377         * lib-src/make-docfile.c (close_emacs_globals):
8378         * src/buffer.c (buffer_defaults, buffer_local_symbols):
8379         * src/lisp.h (DEFUN):
8380         * src/thread.c (main_thread):
8381         Use GCALIGNED, not alignas (GCALIGNMENT).
8382         * src/alloc.c (COMMON_MULTIPLE):
8383         Move back here from lisp.h, since it is no longer used elsewhere.
8384         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
8385         worry about MSVC.  Omit no-longer-needed consistency check.
8386         * src/thread.c (THREAD_ALIGNMENT): Remove.
8388 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
8390         Fix completion of colon after CSS property (Bug#29056)
8392         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
8393         ": ;" after completing a CSS property unless the rest of the line is
8394         empty.
8396 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
8398         * src/alloc.c (sweep_symbols): Tweak last change
8400         Avoid the double-free without the extra check.  Add an explanatory comment.
8402 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
8404         In frame parameters documentation mention desktop saving/restoring
8406         * doc/lispref/frames.texi (Frame Parameters): Mention that
8407         applications have to care about which parameters they want to
8408         get saved and restored by the desktop library.
8410 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
8412         Don't have frameset save the 'client' parameter (Bug#29067)
8414         * lisp/frameset.el (frameset-persistent-filter-alist): Never
8415         save 'client' parameter (Bug#29067).
8417 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
8419         Handle generic variables in cl-defgeneric Edebug spec
8421         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
8422         match (setf name) and replace incorrect cl-lambda-list with listp
8423         (Bug#27747).
8425 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
8427         Give a more sensible message if file-attributes fails (Bug#29070)
8429         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
8430         is a file if we fail to get anything from `file-attributes'.
8432 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
8434         Avoid wrong value from file-attributes on Linux kernel before 3.6
8436         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
8437         descriptors.  (bug#29070)
8439 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
8441         Fix customization of debugger-print-function (Bug#29077)
8443         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
8444         keyword has no effect for :type 'function, use :type '(choice ...)
8445         instead.
8447 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
8449         Avoid duplicate calls to xfree for the same pointer
8451         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
8452         pointer to a symbol's buffer-local value.  (Bug#29066)
8454 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
8456         Don't clobber docstrings of explicitly-defined mode hook variables
8458         * lisp/emacs-lisp/derived.el (define-derived-mode):
8459         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
8460         mode hook variable, do not clobber pre-existing docstrings.
8462 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
8464         Avoid fullscreen ediff control frames by default (Bug#29026)
8466         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
8467         Add parameter to avoid fullscreen control frames (Bug#29026).
8469 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
8471         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
8473         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
8474         properties to gaps (bug#29047).
8476 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
8478         Fix a typo in the ELisp manual
8480         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
8481         (Bug#29068)
8483 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
8485         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
8487         These fixes were suggested by Drew Adams.
8489         * src/window.c (Fminibuffer_selected_window): Disambiguate
8490         doc-string.
8491         * doc/lispref/minibuf.texi (Intro to Minibuffers)
8492         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
8493         the term "currently active minibuffer window".  Disambiguate
8494         documentation of `minibuffer-selected-window'.
8496 2017-10-30  Alan Mackenzie  <acm@muc.de>
8498         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
8500         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
8501         position for BASE is below point-min, scan forward to the end of the current
8502         literal.
8503         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
8504         being at point-min.
8506 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
8508         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
8510         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
8511         Reported in https://emacs.stackexchange.com/questions/36337.
8513 2017-10-29  Tom Tromey  <tom@tromey.com>
8515         Extend mhtml submode region when in comment
8517         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
8518         submode when start happens to be in a comment.
8520 2017-10-29  Tom Tromey  <tom@tromey.com>
8522         Fix mthml submode lighting at end of buffer
8524         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
8525         buffer correctly.
8527 2017-10-29  Tom Tromey  <tom@tromey.com>
8529         Remember more variables in mhtml-mode
8531         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
8532         "completion-" and "major-mode".
8533         (mhtml--variable-prefix): Remove "major-mode".
8535 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8537         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
8539 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
8541         Fix minibuffer window related docs and strings (Bug#28978)
8543         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
8544         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
8545         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
8546         description of `minibuffer' parameter.
8547         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
8548         entries and partly rewrite section.
8549         (Minibuffer Misc): Clarify description of
8550         `minibuffer-selected-window'.
8551         * etc/NEWS: Mention new semantics of 'minibuffer' frame
8552         parameter.
8554 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
8556         Add ChkTeX flymake backend for latex-mode
8558         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
8559         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
8560         (latex-mode): Add backend to flymake-diagnostic-functions.
8561         (tex-chktex--process): New variable.
8562         (tex-chktex-command, tex-chktex): New functions.
8564 2017-10-29  Glenn Morris  <rgm@gnu.org>
8566         Fix doc typos
8568         * lisp/simple.el (line-move-ignore-invisible):
8569         * lisp/sort.el (sort-regexp-fields):
8570         * lisp/cedet/ede.el (project-add-file):
8571         * lisp/gnus/message.el (message-bogus-recipient-p):
8572         * lisp/international/mule.el (define-coding-system):
8573         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
8574         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
8575         (scheme-interaction-mode, scheme-debugger-mode)
8576         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
8578 2017-10-29  Glenn Morris  <rgm@gnu.org>
8580         Fix some duplicate word typos
8582         * doc/misc/ede.texi (ede-target):
8583         * doc/misc/flymake.texi (Using Flymake):
8584         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
8586 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
8588         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
8590 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
8592         Avoid segfaults in 64-bit Windows builds
8594         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
8595         * src/thread.c (THREAD_ALIGNMENT): New macro.
8596         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
8598 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
8600         Fix conversion of pixel coordinates to buffer position
8602         * src/dispnew.c (buffer_posn_from_coords): Adapt to
8603         auto-hscroll-mode == current-line.
8605 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
8607         Fix doc strings in desktop.el
8609         * lisp/desktop.el (desktop-auto-save-timeout)
8610         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
8612 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
8614         Add Index to ERT manual
8616         * doc/misc/ert.texi: Add @syncodeindex directives.
8617         (Index): New node.
8618         (Top): Add Index to the top-level menus.
8619         Add index entries to all nodes.
8621 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
8623         Make manuals and NEWS consistent
8625         * etc/NEWS: Fix markings on several entries, and rearrange others
8626         as needed.
8628         * doc/emacs/programs.texi (Hideshow): Document the new
8629         outline-like bindings.
8630         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
8632 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
8634         Don't allow (minibuffer-window-active-p nil) to return t
8636         * lisp/window.el (minibuffer-window-active-p): Return t
8637         only if WINDOW is a live window.
8639 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
8641         Clarify obsolescence message for 'whitespace-tab'
8643         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
8644         message more clear about the replacement.
8646 2017-10-28  Glenn Morris  <rgm@gnu.org>
8648         Fix some duplicate words typos
8650         * lisp/erc/erc.el (erc-hide-current-message-p):
8651         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
8652         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
8653         * doc/lispref/functions.texi (Defining Functions):
8654         * doc/lispref/os.texi (Terminal-Specific):
8655         * doc/misc/sem-user.texi (Analyzer Debug):
8656         * doc/misc/srecode.texi (Special Variables): Fix typos.
8658 2017-10-28  Glenn Morris  <rgm@gnu.org>
8660         * lisp/button.el (button-activate): Fix doc typo.
8662         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
8664 2017-10-28  Glenn Morris  <rgm@gnu.org>
8666         Fix some doc typos
8668         * lisp/calendar/todo-mode.el (todo-next-item)
8669         (todo-previous-item, todo-toggle-item-header):
8670         * lisp/window.el (move-to-window-group-line):
8671         * src/editfns.c (Fformat):
8672         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
8673         Fix doc typos.
8675 2017-10-27  Ken Brown  <kbrown@cornell.edu>
8677         Fix startup display on Cygwin
8679         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
8680         forces input to be read.  (Bug#24091)
8682 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
8684         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
8686         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
8688 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
8690         Improve documentation of how faces are applied to display stings
8692         * doc/lispref/display.texi (Displaying Faces): Describe how the
8693         faces of the "underlying" text affect overlay and display strings.
8694         (Display Margins): Add a cross-reference to "Displaying Faces".
8696 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
8698         Improve pixel-scroll-mode
8700         Scroll vertically by number of pixels returned by
8701         'frame-char-height' with or without horizontally scrolled.
8702         (Bug#28922)
8704         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
8705         by number of pixels returned by 'frame-char-height'.
8706         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
8707         move cursor to avoid unexpected jump.
8708         (pixel-scroll-down): Scroll by 'frame-char-height'.
8709         (pixel-bob-at-top-p): Consider number of pixels that is about to
8710         scroll.
8711         (pixel-posn-y-at-point): Consider existence of an overlay string.
8712         Return nil when horizontally scrolled.
8713         (pixel-point-at-top-p): Consider number of pixels that is about to
8714         scroll. Use different algorithm when horizontally scrolled.
8715         (pixel-point-at-bottom-p): Consider number of pixels that is about
8716         to scroll. Return nil when horizontally scrolled.
8717         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
8718         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
8719         horizontally scrolled.
8720         (pixel-line-height): Call 'pixel-visual-line-height' instead of
8721         'line-pixel-height'.
8722         (pixel-visual-line-height): New function to return height in pixels
8723         of text line where cursor is with or without horizontally scrolled,
8724         considering response of display engine.
8725         (pixel-visible-pos-in-window): New function to return position of
8726         a char shown on text line where cursor is on screen with or without
8727         horizontally scrolled.
8729 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
8731         Support Certification Authority Authorization in dns-mode.el
8733         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
8734         (Bug#28911)
8736 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
8738         Improve documentation of set-default-file-modes
8740         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
8742         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
8743         the argument of set-default-file-modes are used for setting file
8744         permissions.
8746 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
8748         Fix documentation of `newsticker-new-item-functions' (bug#29023).
8750         * lisp/net/newst-backend.el (newsticker-new-item-functions),
8751         (newsticker-new-item-functions-sample),
8752         (newsticker-download-enclosures): Fix docstring, rename
8753         variable feed to feedname (bug#29023).
8755         * doc/misc/newsticker.texi (Automatic Processing)
8756         (Automatic Processing): Fix documentation of
8757         `newsticker-new-item-functions' (bug#29023).
8759 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
8761         Require seq in rmc.el
8763         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
8764         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
8766 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
8768         Make an example code introduced in the Gnus info work (bug#29008)
8770         You can find it in the bottom of (info "(gnus)Foreign Groups").
8771         NOTE: this change is worth being merged to the trunk.
8773         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
8774         Allow a string for bug# (bug#29008).
8776 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
8778         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
8780         NOTE: *DO NOT* merge this change to the trunk.
8782         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
8783         (gnus-read-ephemeral-bug-group): Make it work for any number of times
8784         for the case `url-automatic-caching' is set (bug#29008).
8786 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8788         Port thread.c to OpenBSD ARM
8790         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
8791         * src/thread.c (main_thread): Align to GCALIGNMENT.
8793 2017-10-26  Alan Mackenzie  <acm@muc.de>
8795         Fix another "wrong side of point" error in CC Mode.
8797         This fixes (a follow-up to) bug #28850.
8798         A internal generated form for scanning text to fontify had a LIMIT parameter.
8799         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
8800         allowing point to move beyond the original LIMIT, and to create the wrong side
8801         error.  Fix it by checking point is not beyond LIMIT in the outer context
8802         before using it.
8804         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
8805         parameter CHECK-POINT which, when non-nil, directs the function to generate a
8806         check on point.
8807         (c-make-font-lock-context-search-function): Invoke the above function with new
8808         argument value t.
8810 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
8812         Fix Bug#28959
8814         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
8815         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
8816         hop to backup file name.  (Bug#28959)
8818         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
8819         New test.
8820         (tramp-test35-make-nearby-temp-file)
8821         (tramp-test36-special-characters)
8822         (tramp-test36-special-characters-with-stat)
8823         (tramp-test36-special-characters-with-perl)
8824         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
8825         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
8826         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
8827         (tramp-test39-asynchronous-requests)
8828         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
8829         (tramp-test42-delay-load, tramp-test43-unload): Rename.
8831 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8833         Fix duplicate .o file on QNX
8835         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
8836         Problem reported by Elad Lahav in:
8837         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
8839 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
8841         Fix two js indentation problems
8843         Fix intentation problems reported in
8844         https://github.com/mooz/js2-mode/issues/463.
8845         * lisp/progmodes/js.el (js--continued-expression-p):
8846         Check syntax state after /.
8847         (js--multi-line-declaration-indentation):
8848         Check syntax state before "const".
8850 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
8852         Update documentation for windows build
8854         * admin/nt/dist-build/README-scripts: New File.
8856 2017-10-25  Alan Mackenzie  <acm@muc.de>
8858         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
8860         The cause was a scanning over a bracket pair taking us beyond the supplied
8861         LIMIT parameter in c-forward-declarator.
8863         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
8864         (point) limit) whilst dealing with tokens after the declared identifier.
8866         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
8867         argument to `c-forward-declarator' (twice), since we want to fontify up till
8868         the end of a declarator, not an arbitrary jit-lock chunk end.
8870 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
8872         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
8874         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
8875         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
8876         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
8878 2017-10-25  Alan Third  <alan@idiocy.org>
8880         Fix non-native fullscreen on NS (bug#28872)
8882         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
8883         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
8884         of frame.
8886 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
8888         Fix Bug#28982
8890         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
8892         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
8893         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
8895         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
8897 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
8899         Fix windows build errors
8901         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
8902           64 bit first
8904 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
8906         Fix compile warning for non-w32 builds
8908         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
8909         binding", the non-w32 builds would treat the undeclared
8910         w32-collate-ignore-punctuation variable as lexical.
8911         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
8913 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
8915         Display commit in package description, if available (Bug#28637)
8917         MELPA includes a :commit field in its
8918         packages (https://github.com/melpa/package-build/pull/6).  You can use
8919         this to tell if MELPA has processed a recently-merged change.  This
8920         commit adds that metadata to the package description buffer.
8922         * lisp/emacs-lisp/package.el: Display commit in package description.
8924 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8926         Port to QNX
8928         Simplified version of a patch proposed by Elad Lahav in:
8929         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
8930         which is based on a previous patch I proposed in:
8931         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
8932         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
8933         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
8934         Set appropriately for QNX.
8935         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
8936         (unexec): Check for sbrk failure, and fall back on old BSS end.
8938 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8940         * configure.ac: Tweak libcurses diagnostic.
8942 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
8944         Scripts to automate windows binary distribution
8946         * admin/nt/dist-build/README-windows-binaries,
8947           admin/nt/dist-build/build-dep-zips.py,
8948           admin/nt/dist-build/build-zips.sh: New Files
8950 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
8952         Fix Edebug specs for map-let and with-maps-do
8954         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
8955         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
8957 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
8959         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
8961         (tramp-test42-unload): Rename.
8963 2017-10-24  Glenn Morris  <rgm@gnu.org>
8965         * admin/authors.el (authors-canonical-author-name):
8966         Ignore name issues in "lax" ChangeLogs.
8968         * test/lisp/progmodes/sql-tests.el
8969         (sql-tests-postgres-list-databases-error): Silence compiler.
8971 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
8973         Further work on Bug#28889
8975         * lisp/net/tramp.el (tramp-set-syntax): New defun.
8976         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
8978 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
8980         Improve Tramp backward compatibility
8982         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
8983         New defmacro.
8984         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
8986 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
8988         Improve backward compatibility of tramp-tests.el
8990         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
8991         (tramp-test41-unload): Skip unless Emacs >= 26.
8993 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
8995         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
8997         * lisp/window.el (window-normalize-buffer): Fix case where
8998         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
8999         doc-string (Bug#28947).
9000         (window-normalize-frame, window-normalize-window): Fix
9001         doc-strings (Bug#28947).
9003 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
9005         Port to OpenIndiana
9007         Problem reported by Nelson H. F. Beebe (Bug#28893).
9008         Also see Bug#23748, Bug#9736, and Bug#5735.
9009         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
9010         since OpenIndiana libtermcap lacks tparm.
9012 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
9014         Don't fill keywords after Emacs Lisp docstring
9016         This approach does mean that keywords that have spaces before them
9017         inside of docstrings aren't filled, but I think this is should be fine
9018         until Bug#28937 is fixed.
9020         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
9021         paragraph-start unconditionally, but require that it follows at least
9022         one space.  (Bug#24622)
9023         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
9024         Bug#7751.
9026 2017-10-22  Alan Mackenzie  <acm@muc.de>
9028         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
9030         Use the new function directly in several places where c-forward-token-2
9031         wouldn't move over the last token in the buffer.  This caused an infinite loop
9032         in c-restore-<>-properties.
9034         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
9035         extracted from c-forward-token-2.
9036         (c-forward-token-2): Refactor, calling the new function.
9037         (c-restore-<>-properties): Fix infinite loop.
9038         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
9039         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
9040         of c-forward-token-2.
9042         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
9043         place of c-forward-token-2.
9045         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
9046         function directly in place of c-forward-token-2.
9048 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
9050         Avoid unnecessary rounding errors in timestamps
9052         Avoid the rounding errors of float-time when it’s easy.  E.g.,
9053         replace (< (float-time a) (float-time b)) with (time-less-p a b).
9054         * lisp/desktop.el (desktop-save):
9055         * lisp/ecomplete.el (ecomplete-add-item):
9056         * lisp/epg.el (epg-wait-for-completion):
9057         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
9058         * lisp/image-dired.el (image-dired-get-thumbnail-image)
9059         (image-dired-create-thumb-1):
9060         * lisp/info.el (info-insert-file-contents):
9061         * lisp/ls-lisp.el (ls-lisp-format-time):
9062         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
9063         (ange-ftp-verify-visited-file-modtime):
9064         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
9065         * lisp/textmodes/remember.el (remember-store-in-mailbox):
9066         * lisp/url/url-cookie.el (url-cookie-expired-p):
9067         Bypass float-time to avoid rounding errors.
9069         * lisp/files.el (dir-locals-find-file):
9071 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
9073         Fix xdg timestamp error on 32-bit Emacs
9075         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
9076         not an integer.  This avoids signaling an error on 32-bit
9077         Emacs, where timestamps typically do not fit into fixnums
9078         (Bug#28921).
9080 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
9082         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
9084         * test/lisp/emacs-lisp/bytecomp-tests.el
9085         (bytecomp-tests--test-no-warnings-with-advice): New test.
9087 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
9089         Another fix for unsafe directory error message (Bug#865)
9091         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
9092         current user's for the wrong owner case.  Show expanded file name in
9093         error message.
9095 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
9097         Handle https url for debbugs mbox (Bug#28831)
9099         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
9100         gnus-bug-group-download-format-alist was updated to use https for the
9101         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
9102         http links.
9103         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
9104         url-parse functions to get the host name, instead of ad-hoc regexps.
9106 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
9108         Ignore string properties when saving eshell history (Bug#28700)
9110         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
9111         before inserting history strings.
9112         (eshell-read-history): Remove obsolete comment.
9113         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
9114         New test.
9116 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
9118         Fix Bug#28889
9120         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
9121         (tramp-completion-file-name-regexp-default)
9122         (tramp-completion-file-name-handler-alist)
9123         (tramp-completion-file-name-handler): Remove autoload cookie.
9124         (tramp-initial-completion-file-name-regexp): Remove.
9125         (tramp-autoload-file-name-regexp): New defconst.
9126         (tramp-register-autoload-file-name-handlers): Use it.
9127         (with-parsed-tramp-file-name): Adapt docstring.  Compute
9128         `tramp-file-name' slots.  (Bug#28889)
9130 2017-10-21  Glenn Morris  <rgm@gnu.org>
9132         Update describe-function for recent Fdocumentation change
9134         * lisp/help-fns.el (describe-function-1):
9135         Handle Fdocumentation returning either void or invalid.
9137 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
9139         Make flymake's mouse-wheel interaction portable (Bug#28732)
9141         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
9142         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
9143         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
9144         remove a stray newline in it.
9146 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
9148         Prevent eldoc from changing the mode line
9150         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
9151         change the mode line if it is not displayed.  (Bug#28697)
9153 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
9155         Fix doc strings in simple.el
9157         * lisp/simple.el (shell-command-saved-pos)
9158         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
9160 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
9162         Avoid creating inconsistent buffer states in term-char-mode
9164         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
9165         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
9166         except for the process filter's output.  Use 'read-only-mode-hook' to
9167         track and restore the user-set state of 'buffer-read-only' for
9168         'term-line-mode'.  (Bug#24837)
9169         (term-char-mode-buffer-read-only): New user option.
9170         (term-line-mode-buffer-read-only): New buffer-local variable.
9171         (term-line-mode-buffer-read-only-update): New function.
9172         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
9173         in pre-command-hook, and 'term-goto-process-mark-maybe' in
9174         post-command-hook to counter-act unexpected changes to point when
9175         using 'term-char-mode'.
9176         (term-char-mode-point-at-process-mark): New user option.
9177         (term-goto-process-mark): New buffer-local variable.
9178         (term-set-goto-process-mark): New function.
9179         (term-goto-process-mark-maybe): New function.
9180         (term-process-mark): New function.
9182         * etc/NEWS: Mention the new behavior and user options.
9184 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
9186         New input method 'usbek-cyrillic'
9188         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
9189         (Bug#28848)
9191         * etc/NEWS: Mention the new input method.
9193 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
9195         Document 'minibuffer-with-setup-hook'
9197         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
9198         minibuffer-with-setup-hook.  (Bug#28877)
9200 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9202         Simplify make-progress-reporter vs float-time
9204         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
9205         doc and code for the case where float-time is not supported,
9206         since float-time is always present now.
9208 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9210         Fix two more minor Gnus typos
9212         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
9213         The old code had two minor bugs: first, it multiplied by 1/65536
9214         instead of by 1/86400.  Second, it called current-time twice and
9215         glued part of the two results together, resulting in a race.
9216         Fix both bugs by simplifying the code and using
9217         time-to-number-of-days.
9219 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9221         Fix two minor Gnus typos
9223         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
9224         Remove unused local, and fix use of local that was never assigned to.
9226 2017-10-21  Glenn Morris  <rgm@gnu.org>
9228         Tweak Fdocumentation's error for an undefined function
9230         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
9231         of signalling a void-function error for an undefined function.
9232         This seems cleaner than Emacs 25's "invalid-function: nil" error,
9233         which was (probably) an unintended consequence of changes to
9234         Findirect_function.
9236 2017-10-21  Glenn Morris  <rgm@gnu.org>
9238         Tweak format of list of old files in NEWS header
9240         * etc/NEWS: Stop list of old NEWS files growing without limit.
9241         * admin/admin.el (set-version): Handle either NEWS header format.
9243 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
9245         * lisp/help-fns.el (describe-function-1):
9246         Fix help-fns-test-dangling-alias.  (Bug#28918)
9248         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
9250 2017-10-20  Glenn Morris  <rgm@gnu.org>
9252         Fix flymake's loading of subr-x
9254         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
9255         No need to load subr-x at run-time.
9257 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
9259         Fix Bug#28896
9261         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
9262         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
9263         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
9264         being a directory.  (Bug#28896)
9266         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
9267         (tramp-test12-rename-file): Test also FILENAME being a directory.
9269 2017-10-20  João Távora  <joaotavora@gmail.com>
9271         Skip a Flymake test for old gcc versions
9273         Fixes: 28906
9275         * test/lisp/progmodes/flymake-tests.el
9276         (different-diagnostic-types): Skip this test for gcc versions
9277         < 5.
9279 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
9281         Make :align-to account for display-line-numbers
9283         These changes also update the various bundled packages to use
9284         new feature, and better support customizations of the line-number
9285         face.
9286         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
9287         Make :align-to count from the end of the line-number display when
9288         the offset or the width form reference that of the text area.
9289         (Bug#28855)
9291         * src/indent.c (Fline_number_display_width): Implement support for
9292         the PIXELWISE argument being 'columns'.  Update the doc string.
9293         (syms_of_indent): New symbol 'columns'.
9295         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
9296         Call line-number-display-width with last argument 'columns'.
9298         * lisp/proced.el (proced-header-line): Call
9299         line-number-display-width with 2nd arg 'columns', which also fixes
9300         a problem when display-line-numbers is nil.
9302         * lisp/emacs-lisp/tabulated-list.el
9303         (tabulated-list-line-number-width): Call line-number-display-width
9304         with 2nd arg 'columns.
9305         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
9306         (tabulated-list-print, tabulated-list-print-entry): No need to
9307         account for the value of tabulated-list-entry-lnum-width.
9308         (tabulated-list--current-lnum-width): New defvar.
9309         (tabulated-list-watch-line-number-width): New function.
9310         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
9311         locally, and set up tabulated-list-watch-line-number-width as
9312         pre-redisplay-functions hook.
9314         * doc/lispref/display.texi (Size of Displayed Text): Document the
9315         'columns' value of the PIXELWISE argument.
9316         (Pixel Specification): Update and improve the documentation of the
9317         supported forms.
9319 2017-10-20  João Távora  <joaotavora@gmail.com>
9321         Augment Flymake API for third-party extensions
9323         See
9324         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
9326         * doc/misc/flymake.texi (Flymake error types): Rewrite
9327         example.
9328         (Flymake utility functions): Augment with new API.
9330         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
9331         (flymake--diag-accessor): New helper macro.
9332         (flymake-diagnostic-buffer, flymake-diagnostic-text)
9333         (flymake-diagnostic-beg, flymake-diagnostic-end)
9334         (flymake-diagnostic-backend): Accessors for diagnostic objects.
9335         (flymake--overlays): Use flymake-diagnostic property.
9336         (flymake--highlight-line): Simplify.  Only set
9337         flymake-diagnostic property.
9338         (flymake--handle-report, flymake-goto-next-error): Use
9339         flymake-diagnostic property.
9340         (flymake-show-diagnostic): Use diagnostic object.
9341         (flymake--diagnostics-buffer-entries): Use
9342         flymake-diagnostics.
9344 2017-10-20  Glenn Morris  <rgm@gnu.org>
9346         Improve treatment of Fortran's "class default"
9348         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
9349         Handle "class default".  (Bug#28786)
9350         * test/automated/f90.el (f90-test-bug25039): Add "class default".
9352 2017-10-20  João Távora  <joaotavora@gmail.com>
9354         Flymake backends must check proc obsoleteness in source buffer
9356         Flymake backends that rely on sentinels running asynchronously and
9357         checking buffer-local variables that hold running processes should
9358         check for obsoleteness in the correct buffers, otherwise a (harmless)
9359         warning might be triggered.
9361         * doc/misc/flymake.texi (An annotated example backend):
9362         Check buffer-local proc in the current buffer.
9364         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
9365         Check buffer-local proc in the current buffer.
9367 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
9369         Skip an rsync test in tramp-tests.el
9371         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
9372         Skip for "rsync".
9374 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
9376         On Windows default a frame's border width to zero (Bug#28873)
9378         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
9379         as everywhere else, see Bug#28873.
9381 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
9383         Spelling fixes
9385         * lisp/cedet/semantic/analyze/refs.el:
9386         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
9387         misspelling of pop-to-buffer-same-window.
9389 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
9391         Use pop-to-buffer-same-window instead of switch-to-buffer
9393         * lisp/cedet/semantic/decorate/include.el
9394         (semantic-decoration-include-visit):
9395         Use pop-to-buffer-same-window instead of switch-to-buffer
9396         (bug#28645).
9398         * lisp/cedet/semantic/analyze/refs.el
9399         (semantic-analyze-proto-impl-toggle): Same.
9401         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
9402         Same.
9404         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
9405         Same.
9407         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
9408         Same.
9410 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
9412         Fix the MSDOS build.
9414         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
9415         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
9416         (LIBSYSTEMD_LIBS): Edit to empty.
9417         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
9418         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
9419         Remove editing of lines that are no longer present in
9420         src/Makefile.in.
9421         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
9422         (NEED_MKTIME_WORKING): Define to 1.
9423         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
9424         DJGPP >= 2.05.
9425         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
9426         Define PACKAGE_VERSION, not VERSION.
9427         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
9428         (HAVE_DECL_*_UNLOCKED): Define to 0.
9429         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
9430         (PENDING_*): Don't define, as Gnulib no longer supports that.
9431         Instead, define _IOERR as it is in libc/file.h.
9432         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
9433         determine the current directory.
9434         (UPDATE_MANIFEST, UTILITIES): Don't edit.
9435         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
9436         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
9437         (HYBRID_MALLOC): Edit to empty.
9438         (am__cd): Don't edit.
9439         (../config.status): Replaces $(top_builddir)/config.status.
9440         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
9441         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
9442         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
9443         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
9444         the command line shorter to fit into 126-char limit of
9445         command.com.
9446         * config.bat: Generate src/deps/*.d files.  Rename more files
9447         like djtar on plain DOS would.
9448         Don't rename src/dir.h: it is long gone.  Edit
9449         lib/gnulib.mk.in using the same scripts as for
9450         lib/Makefile.in.
9451         * msdos/depfiles.bat: Create *.d files, not *.Po.
9453         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
9454         error message.
9455         * src/thread.h [MSDOS]: Include <signal.h>.
9456         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
9457         compilation errors.
9458         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
9459         Expose to MSDOS build.
9460         * src/process.c (update_processes_for_thread_death)
9461         [!subprocess]: No-op implementation.
9462         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
9463         declaration of nofile_limit outside "#ifdef subprocesses", as
9464         it's needed for MSDOS.
9465         * src/msdos.c (faccessat): Declare fullname[].
9466         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
9467         Include termhooks.h.
9468         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
9469         WINDOWSNT, not DOS_NT.
9471         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
9473 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
9475         Fix line number display after 'widen'
9477         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
9478         by line-number-mode on the first redisplay after the buffer is
9479         widened.  (Bug#28879)
9481 2017-10-18  Alan Third  <alan@idiocy.org>
9483         Remove resizable attribute on macOS undecorated frames (bug#28512)
9485         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
9486         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
9488 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
9490         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
9492         * lisp/frameset.el (frameset--restore-frame): Don't process
9493         `border-width' parameter via ‘modify-frame-parameters’
9494         (Bug#28873).
9496 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
9498         Mention how to send CC to > 1 address in a bug report
9500         * admin/notes/bugtracker (* More detailed information):
9501         mention how to CC to more than 1 address (Bug#28833).
9503 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
9505         Improve format-time-string doc
9507         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
9508         documentation for format-time-string.  Document ^, #, %s, and %z
9509         with colons.  Say that unrecognized sequences are output as-is.
9510         * src/editfns.c (Fformat_time_string): %S can stand for 60.
9511         Also mention unrecognized sequences.
9513 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
9515         Improve documentation of 'line-number-display-width'
9517         * doc/lispref/display.texi (Size of Displayed Text): Document the
9518         additional 2 columns used for line-number display.
9520         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
9522 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
9524         Implement vc-default-dir-extra-headers for vc-rcs
9526         Add a do-nothing implementation for vc-rcs to suppress the message which
9527         the default function adds to the vc-dir buffer (Bug#28570).
9528         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
9530 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
9532         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
9534         * etc/NEWS: Mention that applications should prefer
9535         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
9537 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
9538             Noam Postavsky  <npostavs@gmail.com>
9540         Dont update primary selection with winner-undo
9542         * lisp/winner.el (winner-set):
9543         Dont update primary selection when select-enable-primary
9544         is non-nil (Bug#28631).
9546 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
9548         Work around ImageMagick bug 825
9550         This should fix several bugs reported recently against Emacs
9551         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
9552         * src/image.c (imagemagick_load_image):
9553         Do not call MagickWandTerminus.
9555 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
9557         Document rectangle-preview option more (Bug#27974)
9559         * lisp/rect.el (string-rectangle):
9560         * etc/NEWS.25: Mention `rectangle-preview'.
9562 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
9564         Do not reject https://gnu.org in commit messages
9566         * build-aux/git-hooks/commit-msg: Do not reject commit messages
9567         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
9568         rewrite the messages to use https: URLs.
9570 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
9572         Fix Edebug spec for cl-defun (bug#24255)
9574         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
9575         `cl-lambda-list' to support destructuring argument lists.
9576         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
9577         * lisp/textmodes/rst.el: Remove alternate version of Edebug
9578         specs for `cl-lambda-list' and `cl-type-spec'.
9580 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
9582         Fix errors in kmacro.el post-command-hook
9584         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
9585         avoid 'void-variable' errors.  (Bug#28818)
9586         * test/lisp/kmacro-tests.el
9587         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
9589 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
9591         Fix range-error in image-dired.el
9593         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
9594         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
9596 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
9598         Fix 'line-number-display-width' in hscrolled windows
9600         * src/indent.c (line_number_display_width): Make sure a line
9601         number is generated even when the first line of the window is
9602         completely hscrolled out of view.  (Bug#28854)
9604 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
9606         Fix error in tramp-smb-handle-insert-directory
9608         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
9609         Insert size information only when FULL-DIRECTORY-P is non-nil.
9611 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
9613         Don't reject PBM header whitespace unnecessarily
9615         * lisp/image.el (image-type-header-regexps):
9616         Allow two or more CRs or LFs in initial whitespace sequences.  See:
9617         http://netpbm.sourceforge.net/doc/pbm.html
9619 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9621         Fix regression in display of PPM images
9623         Problem reported by Roland Winkler (Bug#28824#35).
9624         Based on a patch proposed by Andy Moreton (Bug#28824#38).
9625         * src/image.c (pbm_scan_index): New function.
9626         (pbm_load): Use it to decode raw data correctly when its top bit
9627         is set.
9629 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
9631         Require subr-x when compiling nnimap.el
9633         * lisp/gnus/nnimap.el (require): For the when-let* macro.
9635 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
9637         Fix ert-test finding by symbol (Bug#28849)
9639         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
9640         symbol used for ert tests in load-history was changed from
9641         `ert-deftest' to `ert--test', but a couple of other places were not
9642         updated accordingly.
9643         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
9644         `ert--test' as the TYPE to `find-function-do-it'.
9645         (top-level): Use `ert--test' as the key to the
9646         `find-function-regexp-alist' entry.
9648 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
9650         Don't remember old debugger window (Bug#17882)
9652         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
9653         when `debugger-will-be-back' is nil.
9655 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
9657         Disable python native completion on w32 (Bug#28580)
9659         * lisp/progmodes/python.el
9660         (python-shell-completion-native-disabled-interpreters): For windows-nt
9661         systems, put an empty string to match interpreters.
9663 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
9665         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
9667         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
9668         frames in the non-interactive part, if not found on the current
9669         display.
9671 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
9673         * lisp/dired-aux.el (dired-create-directory): Doc fix.
9675 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
9677         Avoid compilation warnings in optimized builds
9679         * src/process.c (Fmake_network_process):
9680         * src/image.c (xbm_scan, gif_load):
9681         * src/fileio.c (Frename_file):
9682         * src/data.c (Fmake_local_variable):
9683         * src/buffer.c (fix_start_end_in_overlays):
9684         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
9685         to avoid compiler warnings in optimized builds.
9687 2017-10-15  K. Handa  <handa@gnu.org>
9689         Improve customization of arabic-shaper-ZWNJ-handling.
9691         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
9692         immediately.
9693         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
9694         value.
9695         * src/composite.c (Fclear_composition_cache): New function.
9696         (syms_of_composite): Defsubr it.
9698 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
9700         Improve customization type of 'mouse-drag-and-drop-region'
9702         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
9703         precise customization type.
9705 2017-10-15  Paul Eggert  <eggert@day>
9707         Encourage https: in commit messages
9709         * CONTRIBUTE: Prefer https: when citing.
9710         * build-aux/git-hooks/commit-msg:
9711         Diagnose http: and ftp: URLs to FSF or GNU hosts.
9713 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
9715         Fix wording in Elisp manual's child frames section (Bug#28819)
9717         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
9719 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
9721         Another fix for C mode fontification of w32 source files
9723         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
9724         "CALLBACK", to correctly fontify functions with this attribute.
9726 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
9728         Fix fontification of ALIGN_STACK functions
9730         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
9731         "ALIGN_STACK", to correctly fontify functions with this attribute.
9733 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
9735         Make sure thread stack is properly aligned on MS-Windows
9737         * src/systhread.c: Include w32term.h instead of windows.h.
9738         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
9739         the thread's stack is correctly aligned.
9740         * src/w32term.h (ALIGN_STACK): Update commentary.
9742 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9744         Do not under-align pseudovectors
9746         Problem reported by Fabrice Popineau in:
9747         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
9748         Also see diagnosis by Eli Zaretskii in:
9749         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
9750         * src/alloc.c (vector_alignment):
9751         Now a multiple of alignof (max_align_t).
9753 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
9755         Fix indentation bug in multi-line CSS selectors
9757         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
9758         indentation of multi-line CSS selectors that include both a
9759         pseudo-class and parenthesis.
9761         * test/manual/indent/css-mode.css: Add test for the above change.
9763 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
9765         gnutls_mac_get_nonce_size has been added in gnutls 3.3
9767         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
9768         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
9769         (gnutls_mac_get_nonce_size): Depend on
9770         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
9771         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
9772         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
9774 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9776         * CONTRIBUTE: Suggest American English.
9778 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
9780         Fix this-command-keys for "M-x foo" commands
9782         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
9783         unibyte string.  (Bug#28798)
9785 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9787         Let rename-file rename dirs across filesystems
9789         Problem diagnosed by Andreas Schwab (Bug#28792#65).
9790         This fixes a bug that I introduced in
9791         2017-09-10T22:39:24@eggert@cs.ucla.edu
9792         "Fix race with rename-file etc. with dir NEWNAME".
9793         * src/fileio.c (Frename_file): Copy a source directory across
9794         file system boundaries even if its name does not end in slash.
9796 2017-10-12  João Távora  <joaotavora@gmail.com>
9798         Simplify Flymake user documentation
9800         Fix some confusing parts of Flymake user documentation, like a
9801         repeated listing of situations leading to a syntax check.
9802         Documentation is now divided into three chapters only: "Using
9803         Flymake", "Extending Flymake", and a chapter for the legacy backend.
9805         Obsolete mention of "errors" and "lines" is replaced by
9806         "diagnostics/problems" and "regions" where appropriate.
9808         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
9809         (Using Flymake): Merge with chapter "Overview of Flymake".
9810         (Installing Flymake): Delete chapter.
9811         (Flymake mode, Running the syntax check)
9812         (Navigating to error lines): Delete sections.
9813         (Syntax check statuses): Review and augment with x-references.
9814         (Backend exceptions): Mention shortcut in menu.
9816         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
9817         menu to not speak of "errors".
9818         (flymake-goto-next-error, flymake-goto-prev-error): Fix
9819         wording.
9821 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
9823         * etc/NEWS: Mention the new version of Org.
9825 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
9827         Don't use (format "%s" ...) for string copying (Bug#28774)
9829         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
9830         "%s" STRING) no longer produces a new string.
9831         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
9832         string, so that we can add text properties to (copies of) symbol
9833         names.
9835 2017-10-11  Alan Third  <alan@idiocy.org>
9837         Make frame-list-z-order on NS match Windows behavior (bug#28788)
9839         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
9840         ignore it rather than returning nil.
9842 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
9844         Bump Emacs version to 26.0.90
9846         * README:
9847         * configure.ac:
9848         * msdos/sed2v2.inp:
9849         * nt/README.W32: Bump Emacs version.
9851 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
9853         Update authors.el
9855         * admin/authors.el (authors-valid-file-names)
9856         (authors-renamed-files-alist): Additions.
9858 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
9860         * admin/authors.el (authors-aliases): Additions.
9862         * ChangeLog.3: Update.
9864 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
9866         Fix docstring style for 'functionp'
9868         * src/eval.c (functionp): Make docstring start with verb.
9869         (Bug#28781)
9871 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
9873         Format shell commands in tramp.texi
9875         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
9876         Format shell commands better.
9878 2017-10-10  João Távora  <joaotavora@gmail.com>
9880         Unbreak the button in the Flymake diagnostics buffer again
9882         Adding the 'keymap' property enabled RET but broke the mouse-action.
9884         * lisp/progmodes/flymake.el
9885         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
9887 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
9889         Add mode map to Flymake diagnostic button
9891         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
9892         keymap propery.
9894 2017-10-10  João Távora  <joaotavora@gmail.com>
9896         Tweak the Flymake diagnostics buffer again
9898         * lisp/progmodes/flymake.el
9899         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
9900         (flymake-show-diagnostic): Rename from
9901         flymake-show-diagnostic-at-point.  Really use another window.
9902         (flymake-goto-diagnostic): Rename from
9903         flymake-goto-diagnostic-at-point.
9904         (flymake--diagnostics-buffer-entries): Use a button just for
9905         the message bit.
9907 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
9909         Simplify Flymake diagnostics buffer UX
9911         Don't create text-buttons unnecessarily, just bind RET and SPC in the
9912         diagnostics buffer to a command that figures out which diagnostic it
9913         was invoked on.
9915         * lisp/progmodes/flymake.el
9916         (flymake--diagnostics-buffer-mode-keymap): Renamed from
9917         flymake--diagnostics-buffer-button-keymap.
9918         (flymake-show-diagnostic-at-point): Don't take a button.
9919         (flymake-goto-diagnostic-at-point): Don't pass button to
9920         flymake-show-diagnostic-at-point.
9921         (flymake--diagnostics-buffer-entries): Simplify.
9923 2017-10-10  João Távora  <joaotavora@gmail.com>
9925         First stab at a Flymake diagnostics buffer
9927         The diagnostics buffer summarizes the diagnostics of a buffer in a
9928         tabulated list and is permanently updated after each Flymake check.
9930         * lisp/progmodes/flymake.el (flymake--handle-report): Call
9931         flymake-show-diagnostics-buffer under certain conditions.
9932         (flymake-menu, flymake--diagnostics-buffer-source)
9933         (flymake--diagnostics-buffer-button-keymap)
9934         (flymake-show-diagnostic-at-point)
9935         (flymake-goto-diagnostic-at-point)
9936         (flymake--diagnostics-buffer-entries)
9937         (flymake-diagnostics-buffer-mode)
9938         (flymake--diagnostics-buffer-name)
9939         (flymake-show-diagnostics-buffer): New definitions.
9941 2017-10-10  João Távora  <joaotavora@gmail.com>
9943         * etc/NEWS (Flymake): Rewrite entry.
9945 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
9947         Improve the Flymake manual
9949         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
9950         @syncodeindex directive for @vindex.  Use 2 spaces between
9951         sentences.  Lower-case @cindex entries.
9952         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
9953         punctuation and markup.
9954         (Backend exceptions): Use @emph instead of @dfn.  Add more
9955         indexing.
9956         (Customizable variables, Extending Flymake): Improve wording.
9957         (Flymake error types): Fix usage of @itemize.  Improve wording.
9958         (Backend functions): Fix punctuation.  Fix markup.  Add a
9959         cross-reference to ELisp manual.
9960         (Flymake utility functions): Add a cross-reference to ELisp manual.
9961         (An annotated example backend): Fix punctuation and typos.
9962         (Flymake mode, Running the syntax check)
9963         (Navigating to error lines, Backend exceptions)
9964         (Customizable variables, Flymake error types, Backend functions)
9965         (Flymake utility functions, Proc customization variables)
9966         (Locating a master file, Locating the buildfile)
9967         (Starting the syntax check process, Parsing the output)
9968         (Interaction with other modes): Fix indexing.  Add index entries
9969         for functions, variables, and concepts.
9971 2017-10-10  João Távora  <joaotavora@gmail.com>
9973         Fix two Flymake bugs
9975         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
9976         against --without-x.
9977         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
9978         in their own windows.
9980 2017-10-10  João Távora  <joaotavora@gmail.com>
9982         Don't log "emergencies" in the Flymake legacy backend
9984         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
9985         (flymake-proc-legacy-flymake): Don't log "emergencies"
9987 2017-10-10  João Távora  <joaotavora@gmail.com>
9989         Add full documentation on new Flymake API
9991         Also, as a minor addition to this API, set flymake-text
9992         on the diagnostic overlay.  This enables a good example in
9993         the section "Customization Flymake annotations".
9995         * doc/misc/flymake.texi (Overview of Flymake)
9996         (Syntax check statuses): Rework.
9997         (Backend exceptions): Rename from "Troubleshooting"
9998         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
9999         (Extending Flymake): Write chapter.
10000         (Customizing Flymake annotations, Flymake backends)
10001         (Flymake utility functions, An annotated example backend):
10002         New sections and subsections
10004         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
10005         (flymake-diagnostic-types-alist): Rework docstring.
10006         (flymake--highlight-line): Set and use flymake-text property in overlay.
10007         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
10009 2017-10-10  João Távora  <joaotavora@gmail.com>
10011         Fix some Flymake docstrings and messages
10013         * lisp/progmodes/flymake.el
10014         (flymake-start-on-flymake-mode): fix typo.
10015         (flymake-mode): Add docstring.
10016         (flymake-mode-line-format): Fix help-echo indications. mouse-2
10017         describes flymake-mode.
10019 2017-10-10  João Távora  <joaotavora@gmail.com>
10021         Make three new Flymake commands for debugging common problems
10023         * lisp/progmodes/flymake.el (flymake-running-backends)
10024         (flymake-disabled-backends)
10025         (flymake-reporting-backends): Make interactive.
10026         (flymake--collect): Take optional arg.
10028 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
10030         * admin/authors.el (authors-renamed-files-alist): addition.
10032 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
10034         Fix PWD check on DOS_NT
10036         * src/sysdep.c (get_current_dir_name_or_unreachable):
10037         Do not consider a file name like "a:b" to be absolute on DOS_NT.
10039 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
10041         Fix unlikely overflows with wd length
10043         * src/sysdep.c (get_current_dir_name_or_unreachable):
10044         Avoid integer overflow if working directory name is absurdly long.
10045         When allocating memory for getcwd, do not exceed MAXPATHLEN.
10047 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10049         * lisp/gnus/message.el: Improve last commit
10051         (message-clone-locals): Don't mistakenly match other variables whose
10052         name happens to include "message-default-charset".
10054 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
10056         Fix problems when editing raw undecoded message (Bug#28671)
10058         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
10059         is set, meaning that we are editing the raw message, do not
10060         encode it again.  Delete old body after, not before, inserting
10061         new, to avoid moving marker at beginning of next message.
10063 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
10065         Avoid encoding errors in message.el
10067         * lisp/gnus/message.el (message-clone-locals): Don't clone
10068         message-default-charset.  (Bug#25645)
10070 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
10072         Improve doc string and prompt of 'grep-read-files'
10074         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
10075         string and in the prompt that shell wildcards can be used.
10076         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
10078 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
10080         Avoid assertion violations when line numbers are displayed
10082         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
10083         matrix before calling try_window with the same starting point.
10084         This avoids assertion violations when switching from a buffer
10085         without line numbers to a buffer with line numbers.  (Bug28710)
10087 2017-10-09  João Távora  <joaotavora@gmail.com>
10089         Be lazy when starting Flymake checks
10091         Don't start the check immediately if the buffer is not being
10092         displayed.  Wait until it is, using window-configuration-change-hook.
10094         This enables the user to batch-enable flymake-mode on many buffers and
10095         not have that operation exhaust system resources for checking each
10096         one.  Likewise, an editing or save operation in a currently
10097         non-displayed buffer does not immediately start a check.
10099         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
10100         Rename from flymake-start-syntax-check-on-find-file.
10101         (flymake-start-syntax-check-on-find-file): Obsolete alias for
10102         flymake-start-on-flymake-mode.
10103         (flymake-start): Redesign.  Affect the global post-command-hook
10104         and local window-configuraiton-change-hook.
10105         (flymake--schedule-timer-maybe)
10106         (flymake-after-change-function, flymake-after-save-hook): Pass
10107         t to flymake-start.
10109         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
10110         (dummy-backends, recurrent-backend): Start flymake check
10111         explicitly and immediately.
10113 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
10115         Fix last change in frameset.el
10117         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
10118         filtering the 'font' parameter.  (Bug#17352)
10120 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
10122         Describe how window dividers can replicate vertical borders (Bug#27830)
10124         * doc/emacs/frames.texi (Scroll Bars): Describe how window
10125         dividers can be used to replicate vertical borders when scroll
10126         bars are disabled (Bug#27830).
10127         * doc/emacs/frames.texi (Window Dividers): Mention their use
10128         in replicating vertical borders.
10130 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
10132         Add line-number faces to the display-line-numbers group
10134         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
10135         and its resulting thread.
10137         * lisp/display-line-numbers.el (display-line-numbers): Add to the
10138         convenience group.
10139         * lisp/faces.el (line-number):
10140         (line-number-current-line): Add to the display-line-numbers group.
10142 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
10144         Increase xterm click count only within double-click-fuzz
10146         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
10147         and check it against the current click's position.  (Bug#28658)
10149 2017-10-08  Alan Third  <alan@idiocy.org>
10151         Change pause in fullscreen toggling for NS port (bug#28496)
10153         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
10154         sleep-for, and reduce time.
10156 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
10158         Handle PARENTS properly in tramp-*-handle-make-directory
10160         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
10161         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
10162         Handle PARENTS properly.
10164         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
10165         Extend test.
10167 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10169         Improve test for unreachable dirs
10171         * src/sysdep.c (get_current_dir_name_or_unreachable):
10172         New function, with most of the old contents of
10173         emacs_get_current_dir_name.
10174         (emacs_get_current_dir_name): Use it.  Use a simpler
10175         test for unreachable directory strings, and also apply
10176         it to getcwd etc. (Bug#27871)
10178 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10180         * src/xsmfns.c (x_session_initialize): Fix memory leak.
10182 2017-10-08  K. Handa  <handa@gnu.org>
10184         New option for handling ZWNJ in Arabic text rendering
10186         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
10187         to display ZWNJ in Arabic text rendering (Bug#28339).
10188         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
10189         composition-function-table.
10190         (arabic-shaper-ZWNJ-handling): New variable.
10191         (arabic-shape-log): New variable.
10192         (arabic-shape-gstring): New function.
10193         * lisp/composite.el (lgstring-remove-glyph): New function.
10195 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
10197         Make python prettify symbols into a defvar (Bug#28713)
10199         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
10200         variable.
10201         (python--prettify-symbols-alist): Make into obsolete alias for
10202         `python-prettify-symbols-alist'.
10204 2017-10-07  Alan Third  <alan@idiocy.org>
10206         Fix fullscreen crash on macOS (bug#28496)
10208         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
10209         complete on macOS.
10211 2017-10-07  Alan Third  <alan@idiocy.org>
10213         Fix crash when closing fullscreen frame on macOS (bug#28661)
10215         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
10216         unmodified if the frame isn't live.
10218 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
10220         Support gio tool in Tramp
10222         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
10223         must use "gio <command>" tool instead.
10225         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
10226         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
10227         (tramp-gvfs-gio-tool-p): New defun.
10228         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
10230 2017-10-07  João Távora  <joaotavora@gmail.com>
10232         Fix flymake-goto-next-error when message has %-constructs
10234         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
10235         message call.  Add missing period in docstring.
10237 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
10239         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
10241 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
10243         Move the entry about 'format' into Incompatible Lisp Changes
10245         * etc/NEWS: Move the entry about 'format' refraining from allocating
10246         new strings into Incompatible Lisp Changes.  (Bug#28625)
10248 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
10250         Fix glitches in displaying TTY menus
10252         * src/dispnew.c (update_frame_line): Accept an additional argument
10253         UPDATING_MENU_P; if non-zero, home the cursor before updating a
10254         frame's line.  All callers changed.
10255         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
10256         and pass it to update_frame_line.  All callers changed.
10257         (update_frame_with_menu): Call update_frame_1 with last argument
10258         non-zero.  (Bug#17497)
10260 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
10262         Create new Edebug spec for docstrings and use it in closures
10264         Since (:documentation FORM) can be used to create a docstring
10265         when lexical-binding is on, allow for that possibility in Edebug
10266         specs (bug#24773).
10267         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
10268         called lambda-doc and modify the Edebug specs for defun and
10269         defmacro to use it.
10270         (edebug-instrument-function): Check for generic functions first,
10271         to fix bug where edebug-step-in didn't work on methods now that
10272         cl-defgeneric has an Edebug spec.
10273         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
10274         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
10275         (bug#27747).
10276         (cl-defmethod): Use lambda-doc in Edebug spec.
10277         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
10278         cl-declarations-or-string to use lambda-doc, and modify Edebug
10279         spec for cl-lambda-expr to use cl-declarations-or-string.
10280         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
10281         use lambda-doc, as well as &define and def-body which are
10282         necessary for using Edebug on code wrapped by lambda.
10283         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
10284         Edebug specs.
10286 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
10288         Avoid byte-compilation warnings in message.el
10290         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
10291         avoid compiler warnings.
10293 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10295         Fix bug in recent styled_format change
10297         Problem reported by Kaushal Modi in:
10298         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
10299         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
10300         not always followed by SAFE_FREE.  This bug was introduced in my
10301         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
10302         unnecessary copying in Fformat etc."
10304 2017-10-06  João Távora  <joaotavora@gmail.com>
10306         Cleanup emacs-lisp-mode's use of Flymake
10308         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
10309         Delete.
10310         (elisp-flymake-checkdoc): Incorporate old
10311         elisp-flymake--checkdoc-1.
10312         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
10313         here.
10314         (elisp-flymake-byte-compile): Remove spurious interactive spec.
10315         Simplify.  Cleanup on every possible exit.
10317 2017-10-06  João Távora  <joaotavora@gmail.com>
10319         Fix @include directive in Flymake doc
10321         * doc/misc/flymake.texi: Don't @include a relative path.
10323 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
10325         Move read-multiple-choice to its own library
10327         * lisp/emacs-lisp/rmc.el: New file.
10328         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
10329         * lisp/gnus/message.el:
10330         * lisp/net/nsm.el: Change required library.
10332 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
10334         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
10336         Fixes: Bug#28721
10338 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
10340         Fix typos in Flymake documentation
10342         * doc/misc/flymake.texi (Syntax check statuses)
10343         (Adding support for a new syntax check tool)
10344         (Implementation overview, Locating the buildfile): Fix typos.
10346         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
10347         (flymake-proc--find-possible-master-files):Fix typos.
10348         (flymake-proc--panic)
10349         (flymake-proc-legacy-flymake): Fix function reference in doc.
10351         * lisp/progmodes/flymake.el (flymake-error)
10352         (flymake-diagnostic-functions): Fix typos.
10353         (flymake-diagnostic-types-alist): Rephrase and fix typos.
10354         (flymake--backend-state): Fix typos and rephrase.
10355         (flymake--handle-report): Delete empty line.
10356         (flymake--disable-backend)
10357         (flymake--run-backend): Fix typos.
10358         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
10360 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
10362         Revert last change in 'shr-descend'
10364         * lisp/net/shr.el (shr-descend): Revert the part of the last
10365         change which introduced calls to shr-indirect-call into this
10366         function.  Add a comment explaining the rationale for that.
10367         (Bug#28402)
10369 2017-10-06  João Távora  <joaotavora@gmail.com>
10371         Don't error when turning on Flymake with no known backends
10373         Leave it to the mode line indicator to inform the user that there
10374         is still some configuration to do.
10376         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
10378 2017-10-06  João Távora  <joaotavora@gmail.com>
10380         Delete a Flymake obsolete alias that can't possibly work
10382         The function `flymake-ler-make-ler' can't possibly work as an backward
10383         compatible interface to existing extensinos (even purely hypothetical
10384         ones, since none are known).  This is because every diagnostic
10385         considered by Flymake has to passed to a report-fn function.
10387         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
10389 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10391         Fix bug with unmounted directory on GNU/Linux
10393         * src/sysdep.c (emacs_get_current_dir_name): Do not use
10394         get_current_dir_name result unless it is absolute (Bug#27871).
10397 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
10399         Update authors.el
10401         * admin/authors.el (authors-renamed-files-alist)
10402         (authors-valid-file-names): Additions.
10404 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
10406         Fix dynamic binding wrapper in iter-lambda (bug#25965)
10408         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
10409         Remove extra evaluation of form.
10410         * test/lisp/emacs-lisp/generator-tests.el
10411         (cps-iter-lambda-with-dynamic-binding): New test.
10413 2017-10-05  Rasmus  <rasmus@gmx.us>
10415         Update Org to v9.1.2
10417         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
10419 2017-10-05  Alan Mackenzie  <acm@muc.de>
10421         Fix irregularities with CC Mode fontification, particularly with "known types"
10423         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
10424         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
10425         type.
10426         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
10427         have a construct like the above.  Pass this as argument to
10428         c-font-lock-declarators.
10429         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
10430         being processed starts before the function's starting position.
10431         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
10432         preceded by, e.g., "struct"".
10434         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
10435         (c-template-typename-key): New lang defconsts and defvar.
10437 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
10439         Fix breakage due to recent change in tabulated-list-print-entry
10441         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
10442         Update the doc string.
10443         (tabulated-list-print-entry): Revert to using only 2 arguments.
10444         Update the doc string.
10445         (tabulated-list-entry-lnum-width): New defvar.
10446         (tabulated-list-print): Compute the width of line-number display
10447         once, then store that value in tabulated-list-entry-lnum-width,
10448         for tabulated-list-printer to use.  (Bug#28704)
10450 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
10452         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
10454 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
10456         Set xterm click count to 1 even with no last click
10458         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
10459         the last click so that click-count is initialized properly.
10460         Handle the value of t for double-click-time.
10461         (Bug#28658)
10463 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
10465         Support indirection for all shr-tag-* calls
10467         The 'shr-external-rendering-functions' variable was previously only
10468         honored in the shr-descend function, now all direct calls to the
10469         shr-tag-* functions have been replaced by a call to
10470         'shr-indirect-call' which tries using an alternative rendering
10471         function first.
10473         * lisp/net/shr.el (shr-indirect-call): New helper function.
10474         (shr-descend, shr-tag-object, shr-tag-video):
10475         (shr-collect-extra-strings-in-table): Fix callers to call via
10476         shr-indirect-call.  (Bug#28402)
10478 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
10480         Speed up list-packages when 'visual' line numbers are displayed
10482         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
10483         Update the doc string.
10484         (tabulated-list-print-entry): Accept an additional optional
10485         argument INDENT.  Update the doc string.
10486         (tabulated-list-print): Compute the width of line-number display
10487         once, then call tabulated-list-printer with that value as 3rd
10488         argument.  (Bug#28704)
10490 2017-10-05  João Távora  <joaotavora@gmail.com>
10492         Misc. minor adjustments to Flymake
10494         - Add a half-decent minor-mode menu;
10495         - Fix "waiting for backends" mode line message;
10496         - Adjust the flymake-diag-region API;
10497         - Autoload the flymake-log macro;
10498         - Auto-disable the legacy backend in more situations;
10499         - Fix a couple of warnings in legacy backend.
10501         * lisp/progmodes/flymake-proc.el
10502         (flymake-proc--diagnostics-for-pattern): Use new
10503         flymake-diag-region.
10505         * lisp/progmodes/flymake-proc.el
10506         (flymake-proc-legacy-flymake): Do error when no
10507         buffer-file-name or not writable.
10508         (flymake-proc-legacy-flymake)
10509         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
10511         * lisp/progmodes/flymake.el (flymake-diag-region):
10512         Autoload.  Take buffer as first argument.
10514         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
10515         New command.
10516         (flymake-menu): Add a simple menu.
10517         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
10518         log buffer when clicking exceptional warnings.
10520 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
10522         Fix search for ~/.Xdefaults-HOSTNAME
10524         * src/xrdb.c (get_environ_db): Fix typo when handling
10525         ~/.Xdefaults-HOSTNAME (Bug#28708).
10527 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
10529         Speed up (format "%s" STRING) and the like
10531         Although the Lisp manual said that ‘format’ returns a
10532         newly-allocated string, this was not true for a few cases like
10533         (format "%s" ""), and fixing the documentation to allow reuse of
10534         arguments lets us improve performance in common cases like
10535         (format "foo") and (format "%s" "foo") (Bug#28625).
10536         * doc/lispref/strings.texi (Formatting Strings):
10537         * etc/NEWS:
10538         Say that the result of ‘format’ might not be newly allocated.
10539         * src/callint.c (Fcall_interactively):
10540         * src/dbusbind.c (XD_OBJECT_TO_STRING):
10541         * src/editfns.c (Fmessage, Fmessage_box):
10542         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
10543         Just use Fformat or Fformat_message, as that’s simpler and no
10544         longer makes unnecessary copies.
10545         * src/editfns.c (styled_format): Remove last argument, as it
10546         is no longer needed: all callers now want it to behave as if it
10547         were true.  All remaining callers changed.  Make this function
10548         static again.  Simplify the function now that we no longer
10549         need to worry about whether the optimization is allowed.
10551 2017-10-04  Alan Mackenzie  <acm@muc.de>
10553         Fontify untyped function declarations in C Mode correctly.
10555         Also correct two bugs where deleting WS at a BOL could leave an untyped
10556         function declaration unfontified.
10558         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
10559         "top-level" when we're in a macro.
10560         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
10561         Mode as a implicitly typed function declaration.
10562         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
10563         macro.  It's not a function plus arglist.
10565         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
10566         defvar.
10568         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
10569         over any following parenthesis expression (i.e. parameter list).
10570         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
10571         the returned region, to cope with deletions at column 0.
10573 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
10575         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
10577         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
10579 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
10581         Avoid crashes on C-g when several threads wait for input
10583         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
10584         (getcjmp): Define to current thread's 'm_getcjmp'.
10585         * src/thread.c (maybe_reacquire_global_lock): Switch to main
10586         thread, since this is called from a SIGINT handler, which always
10587         runs in the context of the main thread.
10588         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
10589         definitions before thread.h is included, as thread.h now uses
10590         sys_jmp_buf.
10591         * src/keyboard.c (getcjmp): Remove declaration.
10592         (read_char): Don't call maybe_reacquire_global_lock here.
10593         (handle_interrupt): Call maybe_reacquire_global_lock here, if
10594         invoked from the SIGINT handler, to make sure
10595         quit_throw_to_read_char runs with main thread's Lisp bindings and
10596         uses the main thread's jmp_buf buffer.  (Bug#28630)
10598 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
10600         Warn if --without-pop is now the default
10602         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
10603         Warn about the change if defaulting to "no".  Update URLs.
10605 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
10607         --with-pop is now the default only on MS-Windows
10609         Problem reported by N. Jackson (Bug#28597).
10610         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
10611         * INSTALL, configure.ac, etc/NEWS:
10612         Make --with-pop the default only on native MS-Windows.
10614 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
10616         Add support for `file-system-info' in Tramp
10618         * lisp/net/tramp.el (tramp-file-name-for-operation):
10619         Add `file-system-info'.
10621         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
10622         (tramp-adb-file-name-handler-alist): Use it.
10624         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
10625         (tramp-gvfs-file-system-attributes-regexp): New defconst.
10626         (tramp-gvfs-handle-file-system-info): New defun.
10627         (tramp-gvfs-file-name-handler-alist): Use it.
10628         (tramp-gvfs-get-directory-attributes): Fix property name.
10629         (tramp-gvfs-get-root-attributes): Support also file system attributes.
10631         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
10632         (tramp-sh-file-name-handler-alist): Use it.
10633         (tramp-sh-handle-insert-directory): Insert size information.
10634         (tramp-get-remote-df): New defun.
10636         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
10637         (tramp-smb-file-name-handler-alist): Use it.
10638         (tramp-smb-handle-insert-directory): Insert size information.
10640         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
10641         New test.
10642         (tramp-test38-asynchronous-requests)
10643         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
10644         (tramp-test41-unload): Rename.
10646 2017-10-03  João Távora  <joaotavora@gmail.com>
10648         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
10650 2017-10-03  João Távora  <joaotavora@gmail.com>
10652         Start rewriting Flymake manual
10654         Missing the parts pertaining to the new customization API.
10656         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
10657         (Installing Flymake): Delete most of this.
10658         (Running the syntax check): Mention flymake-start.
10659         (Navigating to error lines): Rewrite.
10660         (Viewing error messages): Commente out.
10661         (Syntax check statuses, Troubleshooting): Rewrite a bit.
10662         (Customizable variables): New section under "Using
10663         Flymake".  Don't mention any proc variables here.
10664         (Configuring Flymake): Delete
10665         (Proc backend): New chapter
10666         (Proc customization variables): New chapter.
10668         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
10669         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
10670         (Running the syntax check): Simplify.
10671         (Viewing error messages): Dekete,
10672         (Syntax check statuses): Rewrite.
10673         (Troubleshooting): Simplify.
10674         (Customizable variables): Rewrite.
10675         (Extending Flymake): New chapter, empty for now.
10676         (The legacy Proc backend): New chapter.
10677         (Proc customizable variables)
10678         (Adding support for a new syntax check tool)
10679         (Implementation overview)
10680         (Making a temporary copy)
10681         (Locating a master file)
10682         (Getting the include directories)
10683         (Locating the buildfile)
10684         (Starting the syntax check process)
10685         (Parsing the output)
10686         (Interaction with other modes)
10687         (Example---Configuring a tool called via make)
10688         (Example---Configuring a tool called directly): Rewrite a bit.
10690 2017-10-03  João Távora  <joaotavora@gmail.com>
10692         Minimal tweak as an attempt to future-proof Flymake API
10694         Discussed with Stefan that this should allow Flymake to request more
10695         from backends in the future, while also allowing backends to report
10696         more accurately.
10698         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
10699         (elisp-flymake-byte-compile): Adjust to new API.
10701         * lisp/progmodes/flymake-proc.el ()
10702         (flymake-proc-legacy-flymake): Adjust to new API.
10704         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
10705         Review API again.
10706         (flymake--handle-report): Allow other keys.  Change ACTION to
10707         REPORT-ACTION.
10709 2017-10-03  João Távora  <joaotavora@gmail.com>
10711         Integrate Flymake elisp checkers into elisp-mode.el directly
10713         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
10714         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
10715         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
10716         (elisp-flymake--byte-compile-done)
10717         (elisp-flymake--byte-compile-process)
10718         (elisp-flymake-byte-compile): Rename from flymake-elisp
10719         counterparts in deleted flymake-elisp.el
10720         (elisp-flymake--batch-compile-for-flymake): New helper.
10721         (checkdoc-create-error-function)
10722         (checkdoc-autofix-flag)
10723         (checkdoc-generate-compile-warnings-flag)
10724         (checkdoc-diagnostic-buffer): Forward declare.
10726         * lisp/progmodes/flymake-elisp.el: Delete.
10728 2017-10-03  João Távora  <joaotavora@gmail.com>
10730         Hook Flymake onto proper checkdoc and byte-compile interfaces
10732         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
10733         with little knowledge of actual internals or thought given to the
10734         usefulness of said interfaces in contexts other than Flymake's.
10736         * lisp/emacs-lisp/bytecomp.el
10737         (byte-compile-log-warning-function): New variable.
10738         (byte-compile-log-warning): Use it.
10739         (byte-compile--log-warning-for-byte-compile): New function.
10741         * lisp/emacs-lisp/checkdoc.el
10742         (checkdoc-create-error-function): New variable.
10743         (checkdoc-create-error): Use it.
10744         (checkdoc--create-error-for-checkdoc): New function.xo
10746         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
10747         Use checkdoc-create-error-function.
10748         (flymake-elisp--batch-byte-compile): Use
10749         byte-compile-log-warning-function.
10751 2017-10-03  João Távora  <joaotavora@gmail.com>
10753         Tweak Flymake autoloads and dependencies
10755         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
10756         flymake-diagnostic-functions here.
10758         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
10759         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
10760         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
10761         Autoload.  (flymake-elisp-setup-backends): Remove.
10763         * lisp/progmodes/flymake.el: Add some top-level comments.
10764         (flymake-make-diagnostic)
10765         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
10767         Where to fixup this shit?
10769 2017-10-03  João Távora  <joaotavora@gmail.com>
10771         Capitalize "Flymake" in docstrings and comments
10773         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
10774         (flymake-elisp-setup-backends): Capitalize "Flymake"
10776         * lisp/progmodes/flymake-proc.el:
10777         (flymake-proc-reformat-err-line-patterns-from-compile-el)
10778         (flymake-proc--panic, flymake-proc-legacy-flymake)
10779         (flymake-start-syntax-check, flymake-proc-compile)
10780         (define-obsolete-variable-alias): Capitalize "Flymake"
10782         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
10783         (flymake-make-diagnostic, flymake-delete-own-overlays)
10784         (flymake-diagnostic-functions)
10785         (flymake-diagnostic-types-alist, flymake-is-running)
10786         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
10787         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
10789 2017-10-03  João Távora  <joaotavora@gmail.com>
10791         Flymake backends can report multiple times per check
10793         Rewrote a significant part of the Flymake backend API.  Flymake now
10794         ignores the return value of backend functions: a function can either
10795         returns or errors.  If it doesn't error, a backend is no longer
10796         constrained to call REPORT-FN exactly once.  It may do so any number
10797         of times, cumulatively reporting diagnostics.  Flymake keeps track of
10798         outdated REPORT-FN instances and disconsiders obsolete reports.
10799         Backends should avoid reporting obsolete data by canceling any
10800         ongoing processing at every renewed call to the backend function.
10802         Consolidated flymake.el internal data structures to require less
10803         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
10804         new semantics.
10806         Adapted and simplified the implementation of elisp and legacy
10807         backends, fixing potential race conditions when calling backends in
10808         rapid succession.
10810         Added a new test for a backend that calls REPORT-FN multiple
10811         times.  Simplify test infrastructure.
10813         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
10814         (flymake-elisp-byte-compile): Error instead of returning nil
10815         if not in emacs-lisp-mode.
10816         (flymake-elisp--byte-compile-process): New buffer-local variable.
10817         (flymake-elisp-byte-compile): Mark (and kill) previous process
10818         obsolete process before starting a new one.  Don't report if
10819         obsolete process.
10821         * lisp/progmodes/flymake-proc.el
10822         (flymake-proc--current-process): New buffer-local variable.
10823         (flymake-proc--processes): Remove.
10824         (flymake-proc--process-filter): Don't bind
10825         flymake-proc--report-fn.
10826         (flymake-proc--process-sentinel): Rewrite.  Don't report if
10827         obsolete process.
10828         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
10829         previous process obsolete process before starting a new
10830         one.  Integrate flymake-proc--start-syntax-check-process
10831         helper.
10832         (flymake-proc--start-syntax-check-process): Delete.
10833         (flymake-proc-stop-all-syntax-checks): Don't use
10834         flymake-proc--processes, iterate buffers.
10835         (flymake-proc-compile):
10837         * lisp/progmodes/flymake.el (subr-x): Require it
10838         explicitly.
10839         (flymake-diagnostic-functions): Reword docstring.
10840         (flymake--running-backends, flymake--disabled-backends)
10841         (flymake--diagnostics-table): Delete.
10842         (flymake--backend-state): New buffer-local variable and new defstruct.
10843         (flymake--with-backend-state, flymake--collect)
10844         (flymake-running-backends, flymake-disabled-backends)
10845         (flymake-reporting-backends): New helpers.
10846         (flymake-is-running): Use flymake-running-backends.
10847         (flymake--handle-report): Rewrite.
10848         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
10849         buffer or not at all.
10850         (flymake--disable-backend, flymake--run-backend): Rewrite.
10851         (flymake-start): Rewrite.
10852         (flymake-mode): Set flymake--backend-state.
10853         (flymake--mode-line-format): Rewrite.
10855         * test/lisp/progmodes/flymake-tests.el
10856         (flymake-tests--wait-for-backends): New helper.
10857         (flymake-tests--call-with-fixture): Use it.
10858         (included-c-header-files): Fix whitespace.
10859         (flymake-tests--diagnose-words): New helper.
10860         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
10861         (flymake-tests--assert-set): Use quote.
10862         (recurrent-backend): New test.
10864 2017-10-03  João Távora  <joaotavora@gmail.com>
10866         Flymake uses proper idle timers
10868         Also, flymake-no-changes-timeout can be set to nil to disable
10869         automatic periodic checks.  But even in that situation the idle timer
10870         still runs at a reduced rate to detect changes in the variable and
10871         revert that decision.
10873         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
10874         (flymake-last-change-time): Delete.
10875         (flymake--schedule-timer-maybe): New helper.
10876         (flymake-after-change-function): Use it.
10877         (flymake-on-timer-event): Delete
10878         (flymake-mode): Don't scheduler timer.
10880 2017-10-03  João Távora  <joaotavora@gmail.com>
10882         Flymake variable flymake-diagnostic-functions now a special hook
10884         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
10885         flymake-diagnostic-functions.
10887         * lisp/progmodes/flymake-elisp.el
10888         (flymake-elisp-setup-backends): Use add-hook.
10890         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
10891         Revise docstring.
10892         (flymake-start): Use run-hook-wrapped.
10894 2017-10-03  João Távora  <joaotavora@gmail.com>
10896         Batch of minor Flymake cleanup actions agreed to with Stefan
10898         Discussed with Stefan, in no particular order
10900         - Remove aliases for symbols thought to be internal to flymake-proc.el
10901         - Don’t need :group in defcustom and defface in flymake.el
10902         - Fix docstring of flymake-make-diagnostic
10903         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
10904         - Mark overlays with just the property ’flymake, not ’flymake-overlay
10905         - Tune flymake-overlays for performance
10906         - Make flymake-mode-on and flymake-mode-off obsolete
10907         - Don’t use hash-table-keys unless necessary.
10908         - Copyright notice in flymake-elisp.
10910         Added some more
10912         - Clarify docstring of flymake-goto-next-error
10913         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
10914         - Prevent compilation warnings in flymake-proc.el
10915         - Remove doctring from obsolete aliases
10917         Now the changelog:
10919         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
10921         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
10922         (flymake-proc-diagnostic-type-pred)
10923         (flymake-proc-default-guess)
10924         (flymake-proc--get-file-name-mode-and-masks): Move up to
10925         beginning of file to shoosh compiler warnings
10926         (define-obsolete-variable-alias): Delete many obsolete aliases.
10928         * lisp/progmodes/flymake.el (flymake-error-bitmap)
10929         (flymake-warning-bitmap, flymake-note-bitmap)
10930         (flymake-fringe-indicator-position)
10931         (flymake-start-syntax-check-on-newline)
10932         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
10933         (flymake-start-syntax-check-on-find-file, flymake-log-level)
10934         (flymake-wrap-around, flymake-error, flymake-warning)
10935         (flymake-note): Don't need :group in these defcustom and defface.
10936         (flymake--run-backend): Clarify comment
10937         (flymake-mode-map): Remove.
10938         (flymake-make-diagnostic): Fix docstring.
10939         (flymake--highlight-line, flymake--overlays): Identify flymake
10940         overlays with just ’flymake.
10941         (flymake--overlays): Reverse order of invocation for
10942         cl-remove-if-not and cl-sort.
10943         (flymake-mode-on)
10944         (flymake-mode-off): Make obsolete.
10945         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
10946         (flymake-diagnostic-functions): Clarify keyword arguments in
10947         docstring.
10949         Maybe squash in that one where I remove many obsoletes
10951 2017-10-03  João Távora  <joaotavora@gmail.com>
10953         Explicitly add a(n empty) keymap for Flymake
10955         Too early to decide what will be in it, if anything.  Though "M-n" and
10956         "M-p" would be great.
10958         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
10960 2017-10-03  João Távora  <joaotavora@gmail.com>
10962         Flymake uses some new fringe bitmaps
10964         Also fix behavior whereby flymake wouldn't react to a change in the
10965         variable.
10967         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
10968         (flymake-warning-bitmap): Update bitmaps.
10969         (flymake-note-bitmap): New defcustom.
10970         (flymake-double-exclamation-mark): New bitmap.
10971         (flymake-error, flymake-warning, flymake-note)
10972         (flymake--highlight-line): 'bitmap property must be a symbol.
10973         Also set default face to flymake-error.
10974         (flymake--fringe-overlay-spec): Bitmap property can be a
10975         variable symbol.
10977 2017-10-03  João Távora  <joaotavora@gmail.com>
10979         Remove old flymake-display-err-menu-for-current-line, it's useless
10981         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
10983         * lisp/progmodes/flymake-ui.el
10984         (flymake-popup-current-error-menu): Remove.
10986 2017-10-03  João Távora  <joaotavora@gmail.com>
10988         Treat Flymake errors as just another type of diagnostic
10990         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
10991         (flymake--handle-report, flymake-popup-current-error-menu):
10992         Don't use it.
10994 2017-10-03  João Távora  <joaotavora@gmail.com>
10996         Fix three Flymake bugs when checking C header files
10998         The first of these problems is longstanding: if an error-less B.h is
10999         included from error-ridden A.h, flymake's legacy parser will panic
11000         (and disable itself) since it sees a non-zero exit for a clean file.
11001         To fix this, recommend returning 'true' in the documentation for the
11002         check-syntax target.
11004         Another problem was introduced by the parser rewrite.  For error
11005         patterns spanning more than one line, point may be left in the middle
11006         of a line and thus render other patterns useless.  Those patterns were
11007         written for the old line-by-line parser.  To make them useful again,
11008         move to the beginning of line in those situations.
11010         The third problem was also longstanding and happened on newer GCC's:
11011         The "In file included from" prefix confused
11012         flymake-proc-get-real-file-name.  Fix this.
11014         Also updated flymake--diag-region to fallback to highlighting a full
11015         line less often.
11017         Add automatic tests to check this.
11019         * lisp/progmodes/flymake-proc.el
11020         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
11021         accidentally spans more than one line.  Don't create
11022         diagnostics without error messages.
11023         (flymake-proc-real-file-name-considering-includes): New
11024         helper.
11025         (flymake-proc-allowed-file-name-masks): Use it.
11027         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
11028         argument explicitly optional.  Only fall back to full line in extreme
11029         cases.
11031         * test/lisp/progmodes/flymake-tests.el
11032         (included-c-header-files): New test.
11033         (different-diagnostic-types): Update.
11035         * test/lisp/progmodes/flymake-resources/Makefile
11036         (check-syntax): Always return success (0) error code.
11037         (CC_OPTS): Add -Wextra
11039         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
11040         (main): Rewrite comments.
11042         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
11043         Include some dummy header files.
11045         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
11047         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
11049         * doc/misc/flymake.texi (Example---Configuring a tool called
11050         via make): Recommend adding "|| true" to the check-syntax target.
11052 2017-10-03  João Távora  <joaotavora@gmail.com>
11054         Add interactive flymake-start function
11056         * lisp/progmodes/flymake.el (flymake-on-timer-event)
11057         (flymake-after-change-function, flymake-mode): Call
11058         flymake-start.
11059         (flymake-start): Rename from flymake--start-syntax-check.
11061 2017-10-03  João Távora  <joaotavora@gmail.com>
11063         A couple of Flymake backends for emacs-lisp-mode
11065         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
11066         automatically, but it affects emacs-lisp-mode-hook so that
11067         flymake-diagnostic-functions is setup with a suitable buffer-local
11068         value.  The variable flymake-diagnostic-funtions in every live
11069         emacs-lisp-mode buffer is also adjusted.
11071         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
11073         * lisp/progmodes/flymake-elisp.el: New file.
11075 2017-10-03  João Távora  <joaotavora@gmail.com>
11077         Fancy Flymake mode-line construct displays status
11079         Imitates compilation-mode's mode-line a bit, and uses its faces.
11081         * lisp/progmodes/flymake.el
11082         (flymake-error, flymake-warning, flymake-note): Add
11083         mode-line-face to these flymake error types.
11084         (flymake-note): Notes don't need a noisy fringe bitmap.
11085         (flymake-lighter): Delete.
11086         (flymake--update-lighter): Delete.
11087         (flymake--mode-line-format): New function and variable.
11088         (flymake--diagnostics-table): New buffer-local variable.
11089         (flymake--handle-report): Don't update "lighters".  Affect
11090         flymake--diagnostics-table.
11091         (flymake--run-backend): Init flymake--diagnostics-table for backend.
11092         (flymake-mode): Use flymake--mode-line-format.
11093         (flymake-mode): Don't update lighter.
11094         (flymake--highlight-line): Be more careful when overriding a
11095         nil default overlay property.
11097 2017-10-03  João Távora  <joaotavora@gmail.com>
11099         Tweak Flymake commands flymake-goto-[next/prev]-error
11101         Add filters, useful for backends like the upcoming
11102         flymake-elisp-checkdoc backend, for example, which litters everything
11103         with low-priority notes.
11105         Also re-implement wraparound for flymake-goto-next-error. Manual
11106         mentions this, so it's probably a good idea to keep it.  Added a new
11107         customization variable flymake-wrap-around to control it.
11109         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
11110         (flymake-goto-next-error): Accept FILTER argument.
11111         (flymake-wrap-around): New variable.
11112         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
11114         * test/lisp/progmodes/flymake-tests.el
11115         (different-diagnostic-types, dummy-backends): Pass FILTER to
11116         flymake-goto-prev-error.
11117         (different-diagnostic-types)
11118         (dummy-backends): Use flymake-wrap-around.
11120 2017-10-03  João Távora  <joaotavora@gmail.com>
11122         Flymake's flymake-proc.el backend slightly easier to debug
11124         Misc cleanup in flymake-proc.el
11126         Improve description of what this file contains.
11128         Better name for the backend function.  Fix the case where it is run
11129         interactively.
11131         Keep the output buffer alive iff the external process panics.
11133         * lisp/progmodes/flymake-proc.el
11134         (flymake-proc-legacy-flymake): Rename from
11135         flymake-proc-start-syntax-check.  Allow running interactively.
11136         (flymake-start-syntax-check): Obsolete alias for
11137         flymake-proc-legacy-flymake.
11138         (flymake-proc-start-syntax-check): Delete.
11139         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
11140         (flymake-proc--process-sentinel): Keep output buffer alive.
11141         Clarify with comments.
11142         (flymake-proc--diagnostics-for-pattern)
11143         (flymake-proc--process-sentinel)
11144         (flymake-proc--safe-delete-directory)
11145         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
11147 2017-10-03  João Távora  <joaotavora@gmail.com>
11149         Simplify Flymake logging and erroring
11151         Use display-warning and a dedicated *Flymake log* buffer.
11153         To ease readability, flymake log messages are now prefixed with a
11154         common prefix and the buffer that originated them.
11156         Some situations of over-zealous logging are fixed.
11158         Use byte-compiler info, if available, to determine whence the
11159         flymake-related log message is coming.
11161         * lisp/progmodes/flymake-proc.el
11162         (flymake-proc--diagnostics-for-pattern): Improve log message.
11163         (flymake-proc--panic): Always flymake-log an error
11164         (flymake-proc--safe-delete-file)
11165         (flymake-proc--safe-delete-directory):
11166         Downgrade warning
11167         (flymake-proc-start-syntax-check): Simplify slightly.
11168         (flymake-proc--start-syntax-check-process): Simplify.
11169         (flymake-proc--init-find-buildfile-dir)
11170         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
11171         No need to warn twice.
11173         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
11174         (flymake--log-1): New helper.
11175         (flymake-log-level): Deprecate.
11176         (flymake-error): New helper.
11177         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
11178         Use flymake-error.
11179         (flymake-on-timer-event)
11180         (flymake--handle-report, flymake--disable-backend)
11181         (flymake--run-backend, flymake-start, flymake-mode-on)
11182         (flymake-mode-off, flymake-after-change-function)
11183         (flymake-after-save-hook, flymake-find-file-hook): Adjust
11184         flymake-log calls.
11186         * test/lisp/progmodes/flymake-tests.el
11187         (flymake-tests--call-with-fixture): Only log errors.
11189 2017-10-03  Philipp Stephani  <phst@google.com>
11191         Work around deprecation of gtk_style_context_get_background_color
11193         * src/gtkutil.c (xg_check_special_colors): Replace call to
11194         gtk_style_context_get_background_color with its definition.
11196 2017-10-03  João Távora  <joaotavora@gmail.com>
11198         New Flymake API variable flymake-diagnostic-functions
11200         Lay groundwork for multiple active backends in the same buffer.
11202         Backends are lisp functions called when flymake-mode sees fit.  They
11203         are responsible for examining the current buffer and telling
11204         flymake.el, via return value, if they can syntax check it.
11205         Backends should return quickly and inexpensively, but they are also
11206         passed a REPORT-FN argument which they may or may not call
11207         asynchronously after performing more expensive work.
11209         REPORT-FN's calling convention stipulates that a backend calls it with
11210         a list of diagnostics as argument, or, alternatively, with a symbol
11211         denoting an exceptional situation, usually some panic resulting from a
11212         misconfigured backend.  In keeping with legacy behavior,
11213         flymake.el's response to a panic is to disable the issuing backend.
11215         The flymake--diag object representing a diagnostic now also keeps
11216         information about its source backend.  Among other uses, this allows
11217         flymake to selectively cleanup overlays based on which backend is
11218         updating its diagnostics.
11220         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
11221         New dynamic variable.
11222         (flymake-proc--process): New variable.
11223         (flymake-can-syntax-check-buffer): Remove.
11224         (flymake-proc--process-sentinel): Simplify.  Use
11225         unwind-protect.  Affect flymake-proc--processes here.
11226         Bind flymake-proc--report-fn.
11227         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
11228         (flymake-proc--post-syntax-check): Delete
11229         (flymake-proc-start-syntax-check): Take mandatory
11230         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
11231         (flymake-proc--process-sentinel): Rewrite and simplify.
11232         (flymake-proc--panic): New helper.
11233         (flymake-proc--start-syntax-check-process): Record report-fn
11234         in process.  Use flymake-proc--panic.
11235         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
11236         flymake-proc--processes here.  Record interruption reason.
11237         (flymake-proc--init-find-buildfile-dir)
11238         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
11239         Use flymake-proc--panic.
11240         (flymake-diagnostic-functions): Add
11241         flymake-proc-start-syntax-check.
11242         (flymake-proc-compile): Call
11243         flymake-proc-stop-all-syntax-checks with a reason.
11245         * lisp/progmodes/flymake.el (flymake-backends): Delete.
11246         (flymake-check-was-interrupted): Delete.
11247         (flymake--diag): Add backend slot.
11248         (flymake-delete-own-overlays): Take optional filter arg.
11249         (flymake-diagnostic-functions): New user-visible variable.
11250         (flymake--running-backends, flymake--disabled-backends): New
11251         buffer-local variables.
11252         (flymake-is-running): Now a function, not a variable.
11253         (flymake-mode-line, flymake-mode-line-e-w)
11254         (flymake-mode-line-status): Delete.
11255         (flymake-lighter):  flymake's minor-mode "lighter".
11256         (flymake-report): Delete.
11257         (flymake--backend): Delete.
11258         (flymake--can-syntax-check-buffer): Delete.
11259         (flymake--handle-report, flymake--disable-backend)
11260         (flymake--run-backend, flymake--run-backend):  New helpers.
11261         (flymake-make-report-fn): Make a lambda.
11262         (flymake--start-syntax-check): Iterate
11263         flymake-diagnostic-functions.
11264         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
11265         flymake--running-backends and flymake--disabled-backends.
11266         (flymake-find-file-hook): Simplify.
11268         * test/lisp/progmodes/flymake-tests.el
11269         (flymake-tests--call-with-fixture): Use flymake-is-running the
11270         function.  Check if flymake-mode already active before activating it.
11271         Add a thorough test for flymake multiple backends
11273         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
11274         Don't use condition-case-unless-debug, use condition-case
11276         * test/lisp/progmodes/flymake-tests.el
11277         (flymake-tests--assert-set): New helper macro.
11278         (dummy-backends): New test.
11280 2017-10-03  João Távora  <joaotavora@gmail.com>
11282         More Flymake cleanup before advancing to backend redesign
11284         Diagnostics are reported for buffers, not necessarily files.  It’s the
11285         backend’s responsibility to compute the buffer where the diagnostic is
11286         applicable.  For now, this has to match the buffer where flymake-mode
11287         is active and which is at the origin of the backend call.
11289         flymake.el knows nothing about line/column diagnostics (except for
11290         backward-compatible flymake-ler-make-ler, which must yet be tested).
11291         It’s also the backend’s reponsibility to compute a BEG and END
11292         positions for the diagnostic in the relevant buffer.
11294         * lisp/progmodes/flymake-proc.el
11295         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
11296         region here.  Check file buffer here.
11297         (flymake-proc--process-sentinel): Don’t kill output buffer if
11298         high enough log level.
11300         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
11301         function.  (flymake--highlight-line): Diagnostic has region now.
11302         (flymake-popup-current-error-menu): Don’t add file and line numbers to
11303         already this silly menu.  (flymake--fix-line-numbers): Remove.
11304         (flymake-report): No need to fix diagnostics here.
11306 2017-10-03  João Távora  <joaotavora@gmail.com>
11308         Protect Flymake's eager checks against commands like fill-paragraph
11310         If flymake-start-syntax-check-on-newline is t, check should start as
11311         soon as a newline is seen by after-change-functions.  But don't rush
11312         it: since the buffer state might not be final, we might end up with
11313         invalid diagnostic regions after some commands silently insert and
11314         delete newlines (looking at you, fill-paragraph).
11316         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
11317         `deferred' to flymake--start-syntax-check.
11318         (flymake--start-syntax-check): Take optional `deferred' arg.
11320 2017-10-03  João Távora  <joaotavora@gmail.com>
11322         Flymake highlights GCC info/notes as detected by flymake-proc.el
11324         * lisp/progmodes/flymake-proc.el
11325         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
11326         honour more sophisticated flymake-proc-diagnostic-type-pred.
11327         (flymake-warning-re): Is now an obsolete alias for
11328         flymake-proc-diagnostic-type-pred.
11329         (flymake-proc-diagnostic-type-pred): Rename and augment from
11330         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
11331         Delete.
11333         * lisp/progmodes/flymake.el (flymake-note): New face.
11334         (flymake-diagnostic-types-alist): Simplify.
11335         (flymake-note): New overlay category.
11336         (flymake--lookup-type-property): Only lookup single keys, not lists.
11337         (flymake--diag-errorp): Rewrite.
11338         (flymake--highlight-line): Use flymake--lookup-type-property.
11340         * test/lisp/progmodes/flymake-tests.el
11341         (different-diagnostic-types): Rename from errors-and-warnings.
11342         Check notes.
11343         (flymake-tests--call-with-fixture): Use
11344         flymake-proc-diagnostic-type-pred.
11346 2017-10-03  João Távora  <joaotavora@gmail.com>
11348         Flymake checks file names before considering diagnostics
11350         The error patterns for gcc picked up errors for the Makefile itself,
11351         for example.  These shouldn't count as actual errors.
11353         * lisp/progmodes/flymake.el (flymake-report): Check
11354         matching file names.
11356 2017-10-03  João Távora  <joaotavora@gmail.com>
11358         Echo Flymake error messages when navigating errors interactively
11360         Perhaps binding M-n and M-p to flymake-goto-next-error and
11361         flymake-goto-prev-error also wouldn't be a bad idea.
11363         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
11364         target overlay's help-echo.
11366 2017-10-03  João Távora  <joaotavora@gmail.com>
11368         Add a new Flymake test for multiple errors and warnings
11370         * test/lisp/progmodes/flymake-tests.el
11371         (flymake-tests--call-with-fixture): Save excursion.
11372         (errors-and-warnings): New test.
11374         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
11375         New test fixture.
11377 2017-10-03  João Távora  <joaotavora@gmail.com>
11379         Flymake warning face easier to distinguish
11381         A orange wavy underline is very hard to tell from a red wavy
11382         underline.
11384         * lisp/progmodes/flymake.el (flymake-warning): Change color to
11385         "deep sky blue"
11387 2017-10-03  João Távora  <joaotavora@gmail.com>
11389         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
11391         Column numbers are not a great way of marking diagnostic regions, but
11392         that's probably all that can be expected from the flymake-proc.el
11393         backend.  For now, try (end-of-thing 'sexp) to discover the
11394         diagnostic's end position.
11396         * lisp/progmodes/flymake-proc.el ()
11397         (flymake-proc-err-line-patterns): Also parse column numbers,
11398         if available, for gcc/javac warnings.
11400 2017-10-03  João Távora  <joaotavora@gmail.com>
11402         New Flymake variable flymake-diagnostic-types-alist and much cleanup
11404         A new user-visible variable is introduced where different diagnostic
11405         types can be categorized.  Flymake backends can also contribute to
11406         this variable.  Anything that doesn’t match an existing error type
11407         is considered.
11409         The variable’s alists are used to propertize the overlays pertaining
11410         to each error type.  The user can override the built-in properties by
11411         either by modifying the alist, or by modifying the properties of a
11412         special "category" symbol, named by the `flymake-category' entry in
11413         the alist.
11415         The `flymake-category' entry is especially useful for, say, the author
11416         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
11417         should behave like notes, except with no fringe bitmap:
11419            (add-to-list 'flymake-diagnostic-types-alist
11420                         '(:foo-note
11421                           . ((flymake-category . flymake-note)
11422                              (bitmap . nil))))
11424         For essential properties like `severity', `priority', etc, a default
11425         value is produced.  Some properties like `evaporate' cannot be
11426         overriden.
11428         * lisp/progmodes/flymake.el (flymake--diag): Rename from
11429         flymake-ler.
11430         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
11431         (flymake-ler-errorp): Rewrite using flymake--severity.
11432         (flymake--place-overlay): Delete.
11433         (flymake--overlays): Now a cl-defun with &key args.  Document.
11434         Use `overlays-at' if BEG is non-nil and END is nil.
11435         (flymake--lookup-type-property): New helper.
11436         (flymake--highlight-line): Rewrite.
11437         (flymake-diagnostic-types-alist): New API variable.
11438         (flymake--diag-region)
11439         (flymake--severity, flymake--face)
11440         (flymake--fringe-overlay-spec): New helper.
11441         (flymake-popup-current-error-menu): Use new flymake-overlays.
11442         (flymake-popup-current-error-menu, flymake-report): Use
11443         flymake--diag-errorp.
11444         (flymake--fix-line-numbers): Use flymake--diag-line.
11445         (flymake-goto-next-error): Pass :key to flymake-overlays
11447         * lisp/progmodes/flymake-proc.el
11448         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
11450 2017-10-03  João Távora  <joaotavora@gmail.com>
11452         Refactor Flymake tests in preparation for more tests
11454         Introduce a slightly more generic fixture macro.
11456         Also make flymake-tests.el friendlier to interactive runs, by not
11457         killing buffers visited by the user.
11459         * test/lisp/progmodes/flymake-tests.el
11460         (flymake-tests--call-with-fixture): New helper from
11461         flymake-tests--current-face.  Don't kill file buffers already
11462         being visited before the test starts.
11463         (flymake-tests--with-flymake): New macro.
11464         (flymake-tests--current-face): Delete.
11465         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
11466         (warning-predicate-rx-perl, warning-predicate-function-perl):
11467         Use flymake-test--with-flymake.
11469 2017-10-03  João Távora  <joaotavora@gmail.com>
11471         Allow running Flymake tests from interactive sessions
11473         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
11474         Expand to reasonable value if no
11475         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
11476         "weirdness" of bug 17647 with read-event.
11478 2017-10-03  João Távora  <joaotavora@gmail.com>
11480         Flymake diagnostics now apply to arbitrary buffer regions
11482         Make Flymake UI some 150 lines lighter
11484         Strip away much of the original implementation's complexity in
11485         manipulating objects representing diagnostics as well as creating and
11486         navigating overlays.
11488         Lay some groundwork for a more flexible approach that allows for
11489         different classes of diagnostics, not necessarily line-based.
11490         Importantly, one overlay per diagnostic is created, whereas the
11491         original implementation had one per line, and on it it concatenated
11492         the results of errors and warnings.
11494         This means that currently, an error and warning on the same line are
11495         problematic and the warning might be overlooked but this will soon be
11496         fixed by setting appropriate priorities.
11498         Since diagnostics can highlight arbitrary regions, not just lines, the
11499         faces were renamed.
11501         Tests pass and backward compatibility with interactive functions is
11502         maintained, but probably any third-party extension or customization
11503         relying on more than a trivial set of flymake.el internals has stopped
11504         working.
11506         * lisp/progmodes/flymake-proc.el
11507         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
11508         constructor syntax.
11510         * lisp/progmodes/flymake.el (flymake-ins-after)
11511         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
11512         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
11513         (flymake-ler-set-full-file, flymake-ler-set-line)
11514         (flymake-get-line-err-count, flymake-get-err-count)
11515         (flymake-highlight-err-lines, flymake-overlay-p)
11516         (flymake-make-overlay, flymake-region-has-flymake-overlays)
11517         (flymake-find-err-info)
11518         (flymake-line-err-info-is-less-or-equal)
11519         (flymake-add-line-err-info, flymake-add-err-info)
11520         (flymake-get-first-err-line-no)
11521         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
11522         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
11523         (flymake-goto-line, flymake-goto-next-error)
11524         (flymake-goto-prev-error, flymake-patch-err-text): Delete
11525         functions no longer used.
11526         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
11527         (flymake-report): Rewrite.
11528         (flymake-popup-current-error-menu): Rewrite.
11529         (flymake--highlight-line): Rename from
11530         flymake-highlight-line.  Call `flymake--place-overlay.
11531         (flymake--place-overlay): New function.
11532         (flymake-ler-errorp): New predicate.
11533         (flymake-ler): Simplify.
11534         (flymake-error): Rename from
11535         flymake-errline.
11536         (flymake-warning): Rename from flymake-warnline.
11537         (flymake-warnline, flymake-errline): Obsoletion aliases.
11539         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
11540         (warning-predicate-function-gcc, warning-predicate-rx-perl)
11541         (warning-predicate-function-perl): Use face `flymake-warning'.
11543 2017-10-03  João Távora  <joaotavora@gmail.com>
11545         Move symbols in flymake-proc.el to separate namespace
11547         Every symbol in this flymake now starts with the prefix flymake-proc-.
11549         Make obsolete aliases for (almost?) every symbol.
11551         Furthermore, many flymake-proc.el symbols are prefixed with
11552         "flymake-proc--", that is they were considered internal.
11554         Some customization variables, interactive functions, and other symbols
11555         considered useful to user customizations or third-party libraries are
11556         considered "public" or "external" and so use a "flymake-proc-" prefix.
11558         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
11560         * test/lisp/progmodes/flymake-tests.el
11561         (flymake-tests--current-face): Use
11562         flymake-proc-warning-predicate, not flymake-warning-predicate.
11564         * lisp/progmodes/flymake-proc.el
11565         (flymake-proc--get-project-include-dirs-function)
11566         (flymake-proc--get-project-include-dirs-imp)
11567         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
11568         (flymake-proc--find-make-buildfile)
11569         (flymake-proc--get-syntax-check-program-args)
11570         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
11571         (flymake-proc--init-find-buildfile-dir)
11572         (flymake-proc--get-full-nonpatched-file-name)
11573         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
11574         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
11575         (flymake-proc--temp-source-file-name)
11576         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
11577         (flymake-proc--start-syntax-check-process)
11578         (flymake-proc--compilation-is-running)
11579         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
11580         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
11581         (flymake-proc--clear-project-include-dirs-cache)
11582         (flymake-proc--project-include-dirs-cache)
11583         (flymake-proc--get-system-include-dirs)
11584         (flymake-proc--get-project-include-dirs)
11585         (flymake-proc--add-project-include-dirs-to-cache)
11586         (flymake-proc--get-project-include-dirs-from-cache)
11587         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
11588         (flymake-proc--process-filter) (flymake-proc--create-master-file)
11589         (flymake-proc--find-buffer-for-file)
11590         (flymake-proc--copy-buffer-to-temp-buffer)
11591         (flymake-proc--read-file-to-temp-buffer)
11592         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
11593         flymake-proc--check-include)
11594         (flymake-proc--check-patch-master-file-buffer)
11595         (flymake-proc--master-file-compare)
11596         (flymake-proc--find-possible-master-files)
11597         (flymake-proc--included-file-name, flymake-proc--same-files)
11598         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
11599         (flymake-proc--clear-buildfile-cache)
11600         (flymake-proc--add-buildfile-to-cache)
11601         (flymake-proc--get-buildfile-from-cache)
11602         (flymake-proc--find-buildfile-cache)
11603         (flymake-proc--get-real-file-name-function)
11604         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
11605         (flymake-proc--get-file-name-mode-and-masks)
11606         (flymake-proc--processes): Rename to internal symbol from
11607         flymake-proc- version.
11609 2017-10-03  João Távora  <joaotavora@gmail.com>
11611         Completely rewrite Flymake's subprocess output processing
11613         Instead of parsing and matching regexps line-by-line, insert
11614         subprocess output in a separate buffer and parse using
11615         `search-forward-regexp'.  This eventually enables multi-line error
11616         patterns and simplifies code all around.  Store per-check information
11617         in the subprocess using `process-get' and `process-put'.  Treat error
11618         messages, warnings, etc. more generically as "diagnostics".  Create
11619         these objects as soon as possible, reusing existing `flymake-ler'
11620         structure.  Fix some whitespace.
11622         * lisp/progmodes/flymake.el (cl-lib): Require also when
11623         loading.
11624         (flymake--fix-line-numbers): Rename from
11625         flymake-fix-line-numbers.  Simplify.
11626         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
11627         plain diagnostics list into alist format expected by
11628         flymake-highlight-err-lines.
11630         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
11631         process output and parse in dedicated output buffer.
11632         (flymake-proc--diagnostics-for-pattern): New helper function.
11633         (flymake-process-sentinel): Call flymake-post-syntax-check with
11634         collected diagnostics.  Kill output buffer.
11635         (flymake-post-syntax-check): Receive diagnostics as third argument.
11636         (flymake-parse-output-and-residual, flymake-new-err-info)
11637         (flymake-parse-residual, flymake-parse-err-lines)
11638         (flymake-split-output, flymake-proc-parse-line)
11639         (flymake-output-residual): Delete.
11640         (flymake-start-syntax-check-process): Use make-process.  Setup
11641         dedicated an output buffer
11643 2017-10-03  João Távora  <joaotavora@gmail.com>
11645         Flymake provides flymake-report re-entry point for backends
11647         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
11648         Simplify.  Call flymake-report.
11650         * lisp/progmodes/flymake.el (flymake-report): New function.
11652 2017-10-03  João Távora  <joaotavora@gmail.com>
11654         Split Flymake into flymake.el into flymake-proc.el (again!)
11656         After deciding that this work would continue on master only, which
11657         caused two commits named
11659            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
11661         and
11663            Revert "Add flymake-backends defcustom"
11665         to be added to the emacs-26 branch, further discussion reversed that
11666         decision.
11668            See:
11670              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
11671              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
11673         This means that those two commits MUST be merged to master AFTER ALL.
11675         flymke-proc.el contains the main syntax-checking backend, while
11676         flymake.el keeps mostly the UI part.
11678         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
11680         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
11682 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
11684         Update authors.el
11686         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
11687         (authors-renamed-files-alist): Additions.
11689 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
11691         Give more helpful messages for python completion setup failures
11693         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
11694         case the completion setup failed with some exception, print out the
11695         exception type and message.  If libedit is detected, raise an
11696         exception, since this is known to fail.
11698 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
11700         Fix the --without-x build
11702         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
11703         frame_parent only in GUI builds to avoid compilation errors in
11704         --without-x builds.  (Bug#28611)
11706 2017-10-02  Paul Eggert  <eggert@day>
11708         Fix customization of zoneinfo-style-world-list
11710         A customizable variable's initial value cannot depend on that of
11711         another customizable variable, since the variables are initialized
11712         in other than textual order.  Problem reported by N. Jackson
11713         (Bug#24291).
11714         * lisp/time.el (display-time-world-list): Default to t,
11715         a special value that expands to zoneinfo-style-word-list
11716         if that works, and to legacy-style-word-list otherwise.
11717         (time--display-world-list): New function.
11718         (display-time-world, display-time-world-timer): Use it.
11720 2017-10-02  Alan Mackenzie  <acm@muc.de>
11722         Fix a CC Mode brace stack cache bug.
11724         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
11725         c-beginning-of-current-token after a failing search operation, to ensure we
11726         don't cache a point inside a token.
11728 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11730         * etc/PROBLEMS: Document Bug#26638.
11732 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11734         Prefer HTTPS to HTTP for gnu.org
11736         This fixes some URLs I omitted from my previous pass,
11737         notably those in lists.gnu.org.  Although lists.gnu.org
11738         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
11739         * lisp/erc/erc.el (erc-official-location):
11740         * lisp/mail/emacsbug.el (report-emacs-bug):
11741         Use https:, not http:.
11743 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11745         Merge from Gnulib
11747         This is mostly to change http: to https: in licenses.
11748         * COPYING, build-aux/config.guess, build-aux/config.sub:
11749         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
11750         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
11751         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
11752         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
11753         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
11754         * msdos/COPYING, nt/COPYING, src/COPYING:
11755         Copy from Gnulib.
11757 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
11759         Keep eww buffer current when looking up CSS on MDN
11761         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
11762         current when looking up CSS documentation on MDN.  This fixes a bug
11763         where the eww buffer's content sometimes get mangled when switching
11764         buffers mid-render.
11766 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
11768         Workaround for faulty localtime() under macOS 10.6
11770         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
11771         'decode-time' on times later than year -2**31 under macOS 10.6.
11772         See Bug#27706.
11774 2017-10-01  Alan Mackenzie  <acm@muc.de>
11776         Doc amendment for syntax-ppss.
11778         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
11779         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
11780         buffer.  Final part of the fix for bug #22983.
11782 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
11784         Remove incorrect NEWS entry about 'find-library'
11786         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
11787         'find-library' taking a prefix argument to pop to a different
11788         window.  This behavior was added in "Allow a prefix argument to
11789         find-library to pop to a different window" (commit e1f2d14a), and
11790         then removed in "New commands: find-library-other-window,
11791         find-library-other-frame" (commit 021430f4).
11793 2017-10-01  Alan Mackenzie  <acm@muc.de>
11795         Remove inadvertent changes to syntax.texi in last commit.
11797         * doc/lispref/syntax.texi (Position Parse): revert changes.
11799 2017-10-01  Alan Mackenzie  <acm@muc.de>
11801         Amend documentation for text-quoting-style becoming a user option.
11803         * doc/lispref/control.texi (Signaling Errors):
11804         * doc/lispref/display.texi (Displaying Messages):
11805         * doc/lispref/strings.texi (Formatting Strings):
11806         Edit for brevity, farming out the details to the new
11807         Text Quoting Style node.
11808         * doc/lispref/help.texi (Text Quoting Style): New section.
11809         Move detailed discussion of text-quoting-style here.
11810         Add discussion about how to output grave accent and apostrophe in
11811         documentation and messages.  Adjust xrefs to point to this section
11812         when appropriate.
11813         * etc/NEWS: text-quoting-style semantics have not changed.
11815 2017-10-01  Alan Mackenzie  <acm@muc.de>
11817         Make the value nil in text-quoting-style mean what it does in Emacs 25.
11819         This is a partial reversion of yesterday's commit by the same author, which
11820         changed the meaning of nil and introduced the new value t.
11822         * src/doc.c (text_quoting_style, text-quoting-style)
11823         (internal--text-quoting-flag): Revert yesterday's changes.
11825         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
11827         * etc/NEWS: Amend the entry for text-quoting-style.
11829         * doc/lispref/control.texi (Signalling Errors)
11830         * doc/lispref/display.texi (Displaying Messages)
11831         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
11832         grave rather than nil to inhibit translation of quotes.
11834         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
11835         proposed new default, t.
11837 2017-10-01  Alan Mackenzie  <acm@muc.de>
11839         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
11841         A value of nil for text-quoting-style now means "no translation".  t means
11842         "Use curved quotes if displayable".
11844         * src/doc.c (text-quoting-style (function)): modify for new semantics.
11845         (text-quoting-style (variable)): Amend the doc string, set the default value
11846         to t.
11848         * lisp/cus-start.el: (top level): Create a customize entry for
11849         text-quoting-style in group display.
11851         * etc/NEWS: Amend the entry for text-quoting-style.
11853         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
11854         quotes to curved quotes, and how to influence or inhibit it.
11856         * doc/lispref/control.texi (Signalling Errors)
11857         * doc/lispref/display.texi (Displaying Messages)
11858         * doc/lispref/strings.texi (Formatting Strings): Describe binding
11859         text-quoting-style to nil to inhibit unwanted quote translation.
11861         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
11862         from a variable to a user option.  Describe its changed set of values.  State
11863         that it can be customized freely.
11865 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
11867         eshell.texi improvements
11869         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
11870         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
11871         (Aliases): Add $*, $1, $2, ... to the variable index.
11873 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
11875         Fix ns-win.el on GNUstep
11877         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
11878         don't try it when not using Cocoa.
11880 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
11882         Fix reference style in org.texi
11884         * doc/misc/org.texi (A Texinfo example): Fix reference style.
11886 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
11888         Improve handling of iconification of child frames (Bug#28611)
11890         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
11891         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
11892         (iconify_child_frame): New option.
11893         * lisp/cus-start.el (iconify-child-frame): Add customization
11894         properties.
11895         * doc/lispref/frames.texi (Child Frames): Describe new option
11896         `iconify-child-frame'.  Don't index "top-level frame" twice.
11898 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
11900         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
11902         It broke the established argument handling methods provided by eshell
11903         aliases (Bug#28568).
11904         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
11905         arguments in aliases.
11906         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
11907         ARGS.
11909 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
11911         Make "unsafe directory" error message more informative (Bug#865)
11913         * lisp/server.el (server-ensure-safe-dir): Produce a description for
11914         each "unsafe" condition.
11916 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
11918         Fix slot typecheck in eieio-persistent
11920         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
11921           An `or' form can specify multiple potential classes (or null) as
11922           valid types for a slot, but previously only the final element of the
11923           `or' was actually checked. Now returns all valid classes in the `or'
11924           form.
11925           (eieio-persistent-validate/fix-slot-value): Check if proposed value
11926           matches any of the valid classes.
11927         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
11928           (eieio-test-multiple-class-slot): Test this behavior.
11930 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
11932         Fix semantic-ia-fast-jump
11934         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
11935         Use `pop-to-buffer-same-window' (bug#28645).
11937 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
11939         Bind vc-region-history
11941         * lisp/vc/vc-hooks.el (vc-prefix-map):
11942         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
11943         `vc-insert-headers' (Bug#27644).
11944         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
11945         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
11946         'C-x v h' with `vc-insert-headers'.
11947         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
11949 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
11951         Exit macro definition on undefined keys
11953         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
11954         (Bug#28008)
11956 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
11958         Reset bidi-paragraph-direction on article rendering
11960         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
11961         bidi-paragraph-direction on article rendering.  (Bug#28454)
11963 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
11965         Fix url-http use of url-current-object
11967         * lisp/url/url-http.el (url-http): Bind url-current-object before
11968         calling url-http-find-free-connection.  (Bug#28515)
11970 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
11972         Avoid assertions in vc-hg.el on MS-Windows
11974         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
11975         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
11976         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
11977         instead of relying on Unix file-name syntax.  This avoids
11978         assertion violations on MS-Windows.
11980 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
11982         Improve documentation of 'copy-sequence'
11984         * src/fns.c (Fcopy_sequence):
11985         * doc/lispref/sequences.texi (Sequence Functions): Mention the
11986         exception when copying an empty sequence.  (Bug#28627)
11988 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
11990         Minor update of ack.texi
11992         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
11993         contributions.
11995 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
11997         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
11999 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
12001         Improve indexing of multi-file/buffer Isearch commands
12003         * doc/emacs/maintaining.texi (Identifier Search): Change wording
12004         of index entries to make them different from those for multi-file
12005         isearch commands.  (Bug#28584)
12006         * doc/emacs/search.texi (Other Repeating Search): Index the
12007         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
12008         each index entry close to its subject.
12010 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
12012         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
12014         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
12015         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
12016         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
12017         functions.
12018         (lcms-cam02-ucs): Refactor.
12019         (syms_of_lcms2): Declare new functions.
12020         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
12021         (lcms-jmh->cam02-ucs-silver): New tests.
12022         * etc/NEWS: Mention new functions.
12024 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
12026         Fix uses of @kindex in the Emacs manual
12028         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
12029         * doc/emacs/mark.texi (Global Mark Ring)
12030         (Disabled Transient Mark):
12031         * doc/emacs/buffers.texi (Select Buffer):
12032         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
12033         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
12035 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12037         Merge from gnulib
12039         This incorporates:
12040         2017-09-28 string: code style
12041         2017-09-25 sys_types: update URL
12042         2017-09-23 install-sh: do not assume / = //
12043         2017-09-21 mktime: port to OpenVMS
12044         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
12045         * m4/sys_types_h.m4: Copy from Gnulib.
12046         * lib/gnulib.mk.in: Regenerate.
12048 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12050         Prefer HTTPS to HTTP for gnu.org
12052         This catches some URLs I missed in my previous scan,
12053         or perhaps were added after the scan.
12055 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
12057         Wait for frame visibility with timeout in w32term too
12059         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
12060         variable.
12061         (x_make_frame_visible): Wait for frame to become visible according to
12062         its value.
12063         (input_signal_count): Remove.
12065 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
12067         Bring back the busy wait after x_make_frame_visible (Bug#25521)
12069         But wait specfically for a MapNotify event, and only for a
12070         configurable amount of time.
12071         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
12072         variable.
12073         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
12074         (x_make_frame_visible): Call x_wait_for_event at the end.
12075         * etc/NEWS: Announce x_wait_for_event.
12077 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
12079         Fix last doc string change in simple.el
12081         * lisp/simple.el (shell-command-saved-pos)
12082         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
12084 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
12086         Revert "bug#28609: simple.el"
12088         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
12090 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
12092         bug#28609: simple.el
12094         Correct grammar; also, call a pair a pair.
12096         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
12098 2017-09-29  Rasmus  <rasmus@gmx.us>
12100         Merge branch 'emacs-26' into scratch/org-mode-merge
12102 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
12104         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
12106         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
12107         above the `debugger' frame, rather than assuming there will be a
12108         `signal' frame.
12110 2017-09-28  Alan Third  <alan@idiocy.org>
12112         Revert "Fix build on macOS (bug#28571)"
12114         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
12116         Prematurely pushed.
12118 2017-09-28  Alan Third  <alan@idiocy.org>
12120         Fix build on macOS (bug#28571)
12122         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
12123         [DARWIN_OS]: Undefine.
12125 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
12127         Add tests for `css-current-defun-name'
12129         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
12130         (css-test-current-defun-name-nested)
12131         (css-test-current-defun-name-complex): New tests for
12132         `css-current-defun-name'.
12134 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
12136         In w32fullscreen_hook don't add decorations to undecorated frames
12138         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
12139         remove) decorations for undecorated frames.
12141 2017-09-28  João Távora  <joaotavora@gmail.com>
12143         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
12145         In other words, re-coalesce the two files,
12146         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
12147         into a single one, lisp/progmodes/flymake.el.
12149         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
12150         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
12151         are kept in place in the new lisp/progmodes/flymake.el.
12153         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
12155         Don't merge this back to master as development happening there builds
12156         upon this work. See also
12157         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
12159 2017-09-28  João Távora  <joaotavora@gmail.com>
12161         Revert "Add flymake-backends defcustom"
12163         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
12165         Don't merge this back to master as development happening there builds
12166         upon this work. See also
12167         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
12169 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12171         * src/editfns.c (styled_format): Fix typo in previous change.
12173 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12175         Avoid some unnecessary copying in Fformat etc.
12177         This patch is just for performance; it should not affect behavior.
12178         On my platform, it made the microbenchmark (format "%S" load-path)
12179         run about 45% faster.  It should also speed up calls like (message
12180         "%s" STRING).
12181         * src/callint.c (Fcall_interactively):
12182         * src/dbusbind.c (XD_OBJECT_TO_STRING):
12183         * src/editfns.c (Fmessage, Fmessage_box):
12184         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
12185         Use styled_format instead of Fformat or Fformat_message,
12186         to avoid unnecessary copying.
12187         * src/editfns.c (styled_format): New arg NEW_RESULT.
12188         All uses changed.  Reuse an input string if it has the
12189         right value and if !NEW_RESULT.
12190         * src/lisp.h (style_format): New decl.
12192 2017-09-26  John Wiegley  <johnw@newartisans.com>
12194         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
12196 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
12198         bug#28609: simple.el
12200         Correct grammar; also, call a pair a pair.
12202 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
12204         Use a separate syntax-ppss cache for narrowed buffers
12206         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
12207         New variable, to contain the data from `syntax-ppss-last' and
12208         `syntax-ppss-cache'.
12209         (syntax-ppss-cache, syntax-ppss-last): Remove.
12210         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
12211         (syntax-ppss-flush-cache): Flush both caches.
12212         (syntax-ppss--data): Return the appropriate last result and
12213         buffer cache for the current restriction.
12214         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
12216 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
12218         Improve python3-compatibility of fallback completion (Bug#28499)
12220         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
12221         inspect.getfullargspec instead of inspect.getargspec to avoid a
12222         deprecation warning on every usage of eldoc in python-mode.
12224 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
12226         Fix subr-x-tests when running from elc
12228         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
12229         Use `eval' around the `should-error' cases.
12231 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
12233         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
12235 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
12237         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
12239         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
12240         variable alias for `sh-basic-offset'.
12241         (sh-mode, sh-smie--indent-continuation)
12242         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
12243         with `sh-basic-offset'.
12245 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
12247         Fix loading of smie-config rules (Bug#24848)
12249         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
12250         instead of `setq-default'.
12251         (smie-config): Use `custom-initialize-set' instead of
12252         `custom-initialize-default' as the :initialize argument.
12254         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
12255         we call `smie-config-guess' so that the user will have a chance to
12256         find the correct docstring to consult.  Remove hedging comments
12257         regarding use of abnormal hooks.
12259 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
12261         Reset default-directory inside *xref-grep* buffer
12263         * lisp/progmodes/xref.el (xref-collect-matches):
12264         Reset default-directory, too. (Bug#28575)
12266 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
12268         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
12269         code for smb.
12271 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
12273         Loosen strict parsing requirement for desktop files
12275         There are other desktop-looking files, for instance those having to do
12276         with MIME typess, that would benefit from being able to be read by this
12277         function.  It helps to have some flexibility.
12278         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
12279         * test/lisp/xdg-tests.el: Remove a test.
12281 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
12283         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
12285 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
12287         Fix documentation of `make-frame' and related variables and hooks
12289         * lisp/frame.el (before-make-frame-hook)
12290         (after-make-frame-functions, frame-inherited-parameters)
12291         (make-frame): Fix doc-strings.
12292         * doc/lispref/frames.texi (Creating Frames): Fix description
12293         of `make-frame' and related variables and hooks.
12295 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
12297         Accept new `always' value for option `buffer-offer-save'
12299         Also revert ee512e9a82
12301         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
12302           allows a third symbol value, `always'. A buffer where this option is
12303           set to `always' will always be offered for save by
12304           `save-some-buffers'.
12305           (save-some-buffers): Check the exact value of this buffer-local
12306           variable. No longer check the buffer name, or the value of
12307           `write-contents-functions'.
12308         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
12309         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
12310           names.
12311         * etc/NEWS: Mention in NEWS.
12313 2017-09-24  Alan Third  <alan@idiocy.org>
12315         Improve new NS scrolling variable names
12317         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
12318         'ns-use-mwheel-acceleration'.
12319         (ns-touchpad-scroll-line-height): Replace with
12320         'ns-mwheel-line-height'.
12321         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
12322         * etc/NEWS: Change variable names.
12324 2017-09-24  Philipp Stephani  <phst@google.com>
12326         Document 'replace-buffer-contents' in the manual.
12328         * doc/lispref/text.texi (Replacing): New node.
12330 2017-09-23  Alan Third  <alan@idiocy.org>
12332         Fix undecorated frame resizing issues on NS (bug#28512)
12334         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
12335         toolbar on undecorated frames.
12336         (EmacsView::initFrameFromEmacs): Group window flags correctly.
12338 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
12340         Fix doc string of 'dired-listing-switches'
12342         * lisp/dired.el (dired-listing-switches): Fix the quoting
12343         example.  (Bug#28569)
12345 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
12347         Documentation improvements for 'display-line-numbers'
12349         * doc/emacs/display.texi (Display Custom): Document a few more
12350         options for display-line-numbers.  (Bug#28533)  Fix a typo.
12352 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
12354         Fix last change in bat-mode.el
12356         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
12357         change.  (Bug#28311)
12359 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
12361         Fix restoring in GUI sessions desktop saved in TTY sessions
12363         * lisp/frameset.el (frameset-filter-font-param): New function.
12364         (frameset-persistent-filter-alist): Use it for processing the
12365         'font' frame parameter.  (Bug#17352)
12367 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
12369         Improve syntax highlighting in bat-mode
12371         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
12372         font-locking of environment variables.  Suggested by Achim Gratz
12373         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
12375 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
12377         Document the 'list-FOO' convention
12379         * doc/lispref/tips.texi (Coding Conventions): Document the
12380         list-FOO convention.
12382 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
12384         Expose viewing conditions in CAM02-UCS metric
12386         Also add tests from the colorspacious library.  Finally, catch an
12387         errant calculation, where degrees were not being converted to radians.
12388         * src/lcms.c (deg2rad, default_viewing_conditions):
12389         (parse_viewing_conditions): New functions.
12390         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
12391         the docstring and explain viewing conditions.  JCh hue is given in
12392         degrees and needs to be converted to radians.
12393         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
12394         API needlessly impure.
12395         * test/src/lcms-tests.el: Reword commentary.
12396         (lcms-rgb255->xyz): New function.
12397         (lcms-cri-cam02-ucs): Fix let-binding.
12398         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
12400 2017-09-21  Alan Third  <alan@idiocy.org>
12402         Revert "Set frame size to actual requested size (bug#18215)"
12404         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
12406         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
12408 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
12410         Add tests for Edebug
12412         * test/lisp/emacs-lisp/edebug-tests.el: New file.
12413         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
12415 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
12417         Catch more messages in ert-with-message-capture
12419         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
12420         messages from prin1, princ and print.
12421         (ert--make-message-advice): New function.
12422         (ert--make-print-advice): New function.
12424 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
12426         Support setting region from secondary selection and vice versa
12428         * lisp/mouse.el (secondary-selection-exist-p): New function to
12429         allow callers to tell existence of the secondary selection
12430         in current buffer.
12431         (secondary-selection-to-region): New function to set
12432         beginning and end of the region from those of the secondary
12433         selection.
12434         (secondary-selection-from-region): New function to set
12435         beginning and end of the secondary selection from those of
12436         the region.  (Bug#27530)
12438         * etc/NEWS: Mention the new functions.
12440 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12442         Fix new copy-directory bug with empty dirs
12444         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
12445         (Bug#28483#34).  This is another bug that I introduced in my
12446         recent copy-directory changes.
12447         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
12448         * test/lisp/files-tests.el (files-tests--copy-directory):
12449         Test for this bug.
12451 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
12453         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
12455 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
12457         Fix 2 testsuite tests for MS-Windows
12459         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
12460         create files with "*" in their names.
12461         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
12462         results to MS-Windows build.  Reported by Fabrice Popineau
12463         <fabrice.popineau@gmail.com>.
12465 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
12467         Rename timer-list to list-timers
12469         * doc/emacs/anti.texi (Antinews):
12470         * doc/lispref/os.texi (Timers):
12471         * etc/NEWS:
12472         * lisp/emacs-lisp/timer-list.el:
12473         (timer-list-mode): Rename timer-list to list-timers.
12475 2017-09-19  Alan Third  <alan@idiocy.org>
12477         Provide native touchpad scrolling on macOS
12479         * etc/NEWS: Describe changes.
12480         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
12481         mouse-wheel-progressive-speed): Set to smarter values for macOS
12482         touchpads.
12483         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
12484         calculate scrolling for touchpads and mouse wheels.
12485         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
12486         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
12487         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
12488         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
12489         * lisp/mwheel.el (mwheel-scroll): Use line count.
12490         * lisp/subr.el (event-line-count): New function.
12492 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
12494         Fix MinGW64 build broken by recent MinGW64 import libraries
12496         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
12497         MinGW64 import libraries require that.  (Bug#28493)
12499         * src/Makefile.in: Adjust commentary to the new order of w32
12500         libraries.
12502 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
12504         Fix crashes in 'move-point-visually' in minibuffer windows
12506         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
12507         comparing against the last valid glyph_row of a window glyph
12508         matrix.  (Bug#28505)
12510 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
12512         * src/emacs.c (usage_message): Don't mention 'find-file'.
12514 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
12516         Fix a minor inaccuracy in the Emacs manual
12518         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
12519         'find-file', as the implementation has changed.  Reported by
12520         Everton J. Carpes <everton.carpes@gmail.com> in
12521         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
12523 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
12525         Fix errors in flyspell-post-command-hook
12527         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
12528         case of a nil Nth element of the language dictionary slot.  This
12529         avoids errors in 'flyspell-post-command-hook' when switching
12530         dictionaries with some spell-checkers.  (Bug#28501)
12532 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
12534         Work on Tramp's file-truename
12536         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
12537         Check also for symlinks.
12538         (tramp-sh-handle-file-truename): Move check for a symlink
12539         cycle to the end.  Do not blame symlinks which look like a
12540         remote file name.
12542         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
12544 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12546         Fix bug with make-directory on MS-Windows root
12548         * lisp/files.el (files--ensure-directory): Treat any error, not
12549         just file-already-exists, as an opportunity to check whether DIR
12550         is already a directory (Bug#28508).
12552 2017-09-19  Tom Tromey  <tom@tromey.com>
12554         Fix log-view-diff-common when point is after last entry
12556         Bug#28466
12557         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
12558         entry, look at the previous revision.
12560 2017-09-18  Ken Brown  <kbrown@cornell.edu>
12562         Adapt fileio-tests--symlink-failure to Cygwin
12564         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
12565         [CYGWIN]: Skip the case of a symlink target starting with '\';
12566         this is treated specially on Cygwin.
12568 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
12570         Ignore buffers whose name begins with a space in save-some-buffers
12572         * lisp/files.el (save-some-buffers): Consider these buffers
12573           "internal", and don't prompt the user to save them.
12574         * doc/lispref/files.texi: Document.
12576 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
12578         Improve tramp-interrupt-process robustness
12580         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
12581         process has disappeared.
12583 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
12585         Minor Tramp doc update
12587         * doc/misc/tramp.texi (Frequently Asked Questions):
12588         Mention `vc-handled-backends'.
12590 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
12592         Fix gensym
12594         * lisp/subr.el (gensym): Actually implement the default prefix.
12595         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
12597 2017-09-18  Rasmus  <rasmus@gmx.us>
12599         Update Org to v9.1.1
12601         Please see etc/ORG-NEWS for major changes.
12603 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
12605         Cleanup in files-tests.el
12607         * test/lisp/files-tests.el (files-tests--make-directory)
12608         (files-tests--copy-directory): Cleanup temporary directories.
12610 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12612         Remove old cl-assert calls in 'newline'
12614         * lisp/simple.el (newline): Remove cl-assert calls
12615         that didn't seem to be helping us debug Bug#18913,
12616         and that caused problems as reported in Bug#28280.
12617         Suggested by Glenn Morris (Bug#28280#8).
12619 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12621         Avoid crash with C-g C-g in GC
12623         Problem reported by Richard Stallman (Bug#17406).
12624         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
12625         * src/term.c (tty_send_additional_strings):
12626         Use only safe accessors, to avoid crash when C-g C-g in GC.
12628 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12630         Fix format-time-string %Z bug with negative tz
12632         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
12633         numeric zone is negative (Bug#28746).
12634         * test/src/editfns-tests.el (format-time-string-with-zone):
12635         Add test for this bug.
12637 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12639         message-citation-line-format %Z is now tz name
12641         * etc/NEWS:
12642         * lisp/gnus/message.el (message-citation-line-format):
12643         Fix doc to match new behavior (Bug#28476).
12645 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
12647         Use doc-view or pdf-tools on any window-system
12649         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
12650         window-system.
12652 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12654         Fix bug with min and max and NaNs
12656         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
12657         mistakenly yielded 0.  Also, pacify GCC in a better way.
12658         * test/src/data-tests.el (data-tests-min): Test for the bug.
12660 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
12662         Fix recently-introduced copy-directory bug
12664         Problem reported by Andrew Christianson (Bug#28451):
12665         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
12666         destination directory if it does not exist, even if it is a
12667         directory name.  Simplify, and omit unnecessary test for an
12668         already-existing non-directory target, since make-directory
12669         diagnoses that for us now.
12670         * test/lisp/files-tests.el (files-tests--copy-directory):
12671         Test for this bug.
12673 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
12675         Merge from Gnulib
12677         This incorporates:
12678         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
12679         2017-09-13 all: Replace many more http URLs by https URLs
12680         * build-aux/config.guess, build-aux/config.sub:
12681         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
12682         * lib/allocator.h, lib/count-leading-zeros.h:
12683         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
12684         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
12685         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
12686         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
12687         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
12688         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
12689         Copy from Gnulib.
12690         * lib/gnulib.mk.in: Regenerate.
12692 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
12694         Fix compatibility problem in Tramp
12696         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
12698         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
12699         (top): Do not call `tramp-change-syntax' anymore.
12700         (tramp-compat-directory-name-p): New defalias.
12702         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
12703         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
12704         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
12705         (tramp-smb-handle-copy-file): Use it.
12707         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
12708         Modify test.
12710 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
12712         Avoid GCC 7 compilation warning in eval.c
12714         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
12715         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
12716         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
12718 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
12720         Adapt Tramp version.  Do not merge
12722         * doc/misc/trampver.texi:
12723         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
12724         (customize-package-emacs-version-alist): Add Tramp version
12725         integrated in Emacs 26.1.
12727 2017-09-17  Tom Tromey  <tom@tromey.com>
12729         Search for Syntax section when viewing MDN
12731         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
12732         "Syntax" section.
12734 2017-09-17  Tom Tromey  <tom@tromey.com>
12736         Allow smerge-keep-current to work for empty hunks
12738         Bug#25555
12739         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
12740         match-end.
12741         * test/lisp/vc/smerge-mode-tests.el: New file.
12743 2017-09-17  Tom Tromey  <tom@tromey.com>
12745         Call vc-setup-buffer in vc-git-log-{in,out}going
12747         Bug#28427:
12748         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
12749         vc-setup-buffer.
12751 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
12753         Fix last change to textmodes/page-ext.el
12755         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
12756         while we build it (bug#28431).
12758 2017-09-16  Glenn Morris  <rgm@gnu.org>
12760         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
12762 2017-09-16  Glenn Morris  <rgm@gnu.org>
12764         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
12766         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
12768 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
12770         Fix compilation warning in etags.c
12772         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
12773         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
12775 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
12777         Add lisp variable lcms-d65-xyz
12779         This serves as the default optional argument for functions in this
12780         library.
12781         * src/lcms.c (lcms-d65-xyz): New variable.
12782         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
12783         color1 -> color2.
12784         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
12785         (lcms-colorspacious-d65): New variable.
12787 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
12789         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
12791 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
12793         Avoid MinGW64 compiler warnings in unexw32.c
12795         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
12796         64-bit build.
12798 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
12800         Start emacs-26 release branch
12802         * configure.ac:
12803         * nt/README.W32:
12804         * README:
12805         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
12807         * lisp/cus-edit.el (customize-changed-options-previous-release):
12808         Update value to "25.3".
12810 2017-09-16  Alan Mackenzie  <acm@muc.de>
12812         Cope better with C++ and Objective-C protection keywords in class declarations
12814         This fix fixes the fontification of a method inside a class at the time it is
12815         typed, when there is a protection keyword clause preceding it.
12817         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
12818         keywords.
12819         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
12820         clauses too eagerly.
12822         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
12823         lang defconsts and defvars.
12825         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
12826         keyword following a semicolon or brace, move forward over it before attempting
12827         to parse a type.
12829 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
12831         Fix order of sorted overlays returned by 'overlays-at'
12833         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
12834         list of results, to have their order as per the documentation.
12835         (Bug#28390)
12837         * etc/NEWS: Mention the change in the behavior of overlays-at.
12839 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
12841         Disable execution of unsafe Lisp by Enriched Text mode
12843         * src/xdisp.c (handle_display_spec): If the display property is
12844         wrapped in 'disable-eval' form, disable Lisp evaluation while
12845         processing this property.
12846         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
12847         If that argument is false, don't evaluate Lisp while processing
12848         display properties.
12850         * lisp/textmodes/enriched.el
12851         (enriched-allow-eval-in-display-props): New defcustom.
12852         (enriched-decode-display-prop): If
12853         enriched-allow-eval-in-display-props is nil, wrap the display
12854         property with 'disable-eval' to disable Lisp evaluation when the
12855         display property is processed for display.  (Bug#28350)
12856         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
12857         enriched text.
12859         * doc/lispref/display.texi (Display Property): Document the
12860         'disable-eval' wrapping of 'display' properties.
12861         * doc/emacs/text.texi (Enriched Properties): Document
12862         'enriched-allow-eval-in-display-props'.
12864         * etc/NEWS: Describe the security issues with Enriched Text mode
12865         and their solution.
12867 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
12869         Avoid MinGW64 compilation warning in w32.c
12871         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
12873 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
12875         Fix MS-Windows build broken by recent changes in lcms.c
12877         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
12878         and cmsxyY2XYZ function pointers.
12879         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
12880         cmsxyY2XYZ from liblcms2.
12881         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
12882         corresponding function pointers.
12883         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
12884         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
12886 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
12888         Avoid GCC 7 compilation warning in data.c
12890         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
12891         warnings.  Reported by Fabrice Popineau
12892         <fabrice.popineau@centralesupelec.fr>.
12894 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
12896         Add lcms-temp->white-point and initial tests
12898         * src/lcms.c (lcms-temp->white-point): New function.
12899         * test/src/lcms-tests.el: New file.
12901 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
12903         Use cl-print in timer list
12905         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
12906         for handling functions.
12907         (timer-list-mode): Capitalize major mode name.  Set bidi direction
12908         as in tabulated-list-mode.
12910 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
12912         Make landscape layout with geometry package rather than a PostScript special.
12914         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
12915         default class option.
12916         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
12917         request to `cal-tex-insert-preamble' function call within the
12918         class option string.
12919         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
12920         to `cal-tex-insert-preamble' function, as it is default.
12921         (cal-tex-insert-preamble): Suppress landscape and size
12922         argument, and replace them by a class-options string
12923         argument. Do not insert any longer "\special{landscape}" in
12924         case of landscape layout, as the job is made by the geometry
12925         package.
12927 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
12929         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
12931 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
12933         One more attempt to avoid GCC 7 warnings in dispnew.c
12935         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
12936         eassert, to avoid compilation warnings about NULL pointer
12937         dereferences.
12939 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
12941         Fix color-distance docstring
12943         Also feed the translated color to the metric argument.
12944         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
12945         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
12946         instead of the function's color arguments.
12948 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
12950         Improve Tramp behavior according to bug#27986
12952         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
12953         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
12954         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
12955         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
12956         directory name when existing.  Use `file-name-as-directory'
12957         where appropriate.
12959 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
12961         More JSON optimization
12963         Last I checked, inlining json-skip-whitespace didn't make much
12964         difference.  However, changing defsubsts to define-inline results
12965         in roughly 15% reduction in read time on a 200K file.
12966         * lisp/json.el (json-advance, json-peek, json-pop):
12967         (json-skip-whitespace): Inline with define-inline.
12968         (json-read-keyword): Don't use whitespace syntax.
12969         (json-add-to-object): Simpler condition.
12971 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
12973         Avoid crashes due to invalid error forms from sentinels/filters
12975         * src/process.c (exec_sentinel_error_handler): Make sure the error
12976         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
12978 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
12980         Avoid compilation warnings with GCC 7 on MS-Windows
12982         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
12983         (w32_read_socket): Initialize variables to shut up bogus
12984         compilation warnings from GCC 7.
12985         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
12986         to avoid compiler warnings about printing signed values using %x
12987         format spec.
12988         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
12989         compiler warning about possible NULL pointer dereference.
12990         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
12992 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
12994         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
12996         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
12997         case only to avoid unused macros warning otherwise.
12999 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
13001         In w32heap.c bump up DUMPED_HEAP_SIZE
13003         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
13004         to 13*1024*1024 for 32-bit non-wide-integer builds.
13006 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
13008         Bind n,p in timer-list
13010         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
13011         to next- and previous-line, respectively.
13013 2017-09-14  Glenn Morris  <rgm@gnu.org>
13015         * lisp/net/tls.el (tls-program): Fix :version.
13017 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
13019         * configure.ac (--with-lcms2, --without-lcms2): New options.
13021 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
13023         Avoid 64-bit compilation warnings in unexw32.c
13025         * src/unexw32.c (pDWP): New macro.
13026         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
13027         pDWP for printing values that can be either 32-bit or 64-bit wide.
13029 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
13031         Fix warnings about formats in printf-like functions on MS-Windows
13033         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
13034         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
13035         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
13036         for the details.
13037         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
13038         definition specific to MinGW64.
13039         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
13040         __mingw_printf__ in ANSI-compatible mode.
13042 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
13044         Support lcms2 in MS-Windows builds
13046         * lisp/term/w32-win.el (dynamic-library-alist): Include
13047         association for the lcms2 library.
13049         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
13050         DEF_DLL_FN to define pointers to dynamically loaded lcms2
13051         functions.
13052         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
13053         (cmsCIECAM02Done): New macros.
13054         (init_lcms_functions, Flcms2_available_p): New functions.
13055         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
13056         init_lcms_functions.
13057         (syms_of_lcms2): Defsubr lcms2-available-p.
13058         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
13060         * configure.ac: Include lcms2 in the final report and in
13061         emacs_config_features.
13063         * nt/INSTALL:
13064         * nt/INSTALL.W64: Update with the information about lcms2 library.
13066 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
13068         Port renameat_noreplace to openSUSE 12.3
13070         Problem reported by M. Nomiya in:
13071         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
13072         * src/sysdep.c (renameat_noreplace):
13073         Call renameat2 only if CYGWIN.
13075 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
13077         Prefer HTTPS to FTP and HTTP in documentation
13079         Most of this change is to boilerplate commentary such as license URLs.
13080         This change was prompted by ftp://ftp.gnu.org's going-away party,
13081         planned for November.  Change these FTP URLs to https://ftp.gnu.org
13082         instead.  Make similar changes for URLs to other organizations moving
13083         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
13084         fsf.org when this works, as this will further help defend against
13085         man-in-the-middle attacks (for this part I omitted the MS-DOS and
13086         MS-Windows sources and the test tarballs to keep the workload down).
13087         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
13088         for now.
13090 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
13092         Prefer HTTPS to HTTP for gnu.org
13094         This patch just changes code files; a followup companion patch
13095         (much larger) will affect the commentary.  This part is
13096         separated out to make it easier to review.
13097         * .dir-locals.el (change-log-mode):
13098         * lisp/org/org-info.el (org-info-other-documents)
13099         (org-info-map-html-url):
13100         * lisp/org/ox-html.el (org-html-creator-string):
13101         * lisp/startup.el (fancy-startup-text, fancy-about-text)
13102         (fancy-splash-head):
13103         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
13104         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
13105         Use HTTPS instead of HTTP.
13107 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
13109         Add tests for color.el
13111         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
13112         docstrings that RGB triplets should use four digits per component.
13113         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
13114         warning.
13116         * test/lisp/color-tests.el: New file.
13118 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
13120         Make gnutls-verify-error work again with url-retrieve-synchronously
13122         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
13123         we're doing async connections (bug#26835).
13125         * lisp/url/url-parse.el (url): Add an asynchronous slot.
13127         * lisp/url/url.el (url-asynchronous): New variable.
13128         (url-retrieve-internal): Store the value.
13129         (url-retrieve-synchronously): Bind the variable.
13131 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
13133         Improve backward compatibility of tramp-tests
13135         * test/lisp/net/tramp-tests.el (seq): Don't require.
13136         (tramp--test-emacs26-p): New defun.
13137         (tramp-test10-write-region, tramp-test11-copy-file)
13138         (tramp-test12-rename-file, tramp-test15-copy-directory)
13139         (tramp-test21-file-links): Use it.
13140         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
13142 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
13144         * lisp/net/trampver.el (customize-package-emacs-version-alist):
13146         Add Tramp version integrated in Emacs 25.3.
13148 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
13150         Add clarification to if-let* docstring
13152         Also make its behavior consistent with and-let* in that empty bindings
13153         results in success, not failure.
13154         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
13156 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
13158         Make fully qualified domain names more fully qualified
13160         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
13161         system-name without any periods as a fully qualified domain name.
13163 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13165         Remove unused file lib/getopt_.h
13167         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
13168         on 2011-01-08, but I forgot to remove the old file.
13170 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
13172         Remove "baroque" use of prefix argument from gensym
13174         'cl-gensym' was simply moved here, but let us take an opportunity to
13175         shed some historical baggage.
13176         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
13177         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
13178         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
13179         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
13181 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
13183         Provide an lcms2 feature
13185         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
13187 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
13189         Add lcms2 interface
13191         configure.ac: Add boilerplate for configuring and detecting liblcms2.
13192         etc/NEWS: Mention new configure option and color-distance change.
13193         src/Makefile.in: Add references to lcms.c and liblcms.
13194         src/emacs.c: Define lcms2 symbols.
13195         src/lcms.c: New file.
13196         src/lisp.h: Add declaration for lcms2.
13197         src/xfaces.c: Add optional METRIC argument.
13199 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
13201         Add other D series white points and some simple conversions
13203         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
13204         constants.
13205         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
13206         (color-lch-to-lab): New functions.
13208 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
13210         Permit non-integral color gradients
13212         * lisp/color.el (color-gradient): Float the step-number.
13214 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
13216         Protect against malformed MIME messages that cause inf-loop (bugfix)
13218         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
13219         Protect against malformed MIME messages that cause inf-loop.
13221 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13223         Merge from Gnulib
13225         This incorporates:
13226         2017-09-13 all: prefer https: URLs
13227         This just changes http: to https: in comments,
13228         in files copied from Gnulib.
13230 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
13232         Call vc-resynch-buffer in vc-git-resolve-when-done
13234         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
13235         Call vc-resynch-buffer on the current file (bug#28121).
13236         Move its autoload to before this function.
13238 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
13240         Allow write-contents-functions to short-circuit buffer save
13242         Bug#28412
13244         * lisp/files.el (basic-save-buffer): Re-arrange function so that
13245           write-contents-functions are run earlier. If they return non-nil,
13246           consider the buffer saved without requiring the buffer to be
13247           visiting a file.
13248           (save-some-buffers): This function should consider any buffer with a
13249           buffer-local value for write-contents-functions eligible for
13250           saving.
13251         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
13252           test.
13253         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
13254         * etc/NEWS: And in NEWS.
13256 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13258         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
13260 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13262         Less chatter for ’make info/dir’
13264         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
13265         that an ordinary make says just "GEN info/dir" rather than
13266         also having a seemingly-unrelated mv line.
13268 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13270         Tweak Gnus doc re gnus-copy-file
13272         * doc/misc/gnus.texi (Saving Articles):
13273         Document behavior with directory name targets (Bug#27986).
13274         Problem reported by Katsumi Yamaoka in:
13275         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
13277 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
13279         Update uses of if-let and when-let
13281         * lisp/dom.el (dom-previous-sibling):
13282         * lisp/emacs-lisp/package.el (package--with-work-buffer):
13283         (package--sort-deps-in-alist, package--sort-by-dependence):
13284         (package-install-from-archive, package-install):
13285         (package-menu-execute, package-menu--populate-new-package-list):
13286         * lisp/filenotify.el (file-notify--rm-descriptor):
13287         (file-notify--event-watched-file, file-notify--event-file-name):
13288         (file-notify--event-file1-name, file-notify-rm-watch):
13289         (file-notify-valid-p):
13290         * lisp/gnus/message.el (message-toggle-image-thumbnails):
13291         * lisp/gnus/nnimap.el (nnimap-request-move-article):
13292         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
13293         * lisp/mpc.el (mpc-format):
13294         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
13295         (eww-save-history):
13296         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
13297         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
13298         * lisp/svg.el (svg-remove):
13299         * lisp/textmodes/css-mode.el (css--named-color):
13300         (css--colon-inside-funcall):
13301         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
13302         (html-current-buffer-ids): Use if-let* and when-let* instead.
13304 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
13306         Implement and-let*
13308         This also includes changes to if-let and when-let.  The single tuple
13309         special case is ambiguous, and binding a symbol to nil is not as
13310         useful as binding it to its value outside the lexical scope of the
13311         binding.  (Bug#28254)
13312         * etc/NEWS: Mention.
13313         * lisp/emacs-lisp/subr-x.el (internal--listify):
13314         (internal--build-binding-value-form): Extend to account for
13315         solitary symbols and (EXPR) items in binding varlist.
13316         (if-let*, when-let*): Nix single tuple case and incumbent
13317         bind-symbol-to-nil behavior.
13318         (and-let*): New macro.
13319         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
13320         they implicitly gain the new features without breaking existing code.
13321         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
13322         single-tuple special case, lack of binding solitary symbols to nil,
13323         and the introduction of uninterned symbols for (EXPR) bindings.  Add
13324         SRFI-2 test suite adapted to Elisp.
13326 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
13328         Fix minor typos in the Emacs manual
13330         * doc/emacs/text.texi (Org Organizer):
13331         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
13333 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13335         Merge Emacs 25.3 fixes
13337         The security patches released for Emacs 25.3 were less drastic
13338         than what we had immediately put into master.  Adjust master to
13339         match 25.3 (Bug#28350).
13340         * lisp/textmodes/enriched.el (enriched-translations):
13341         Re-enable FUNCTION and display translations that are safe.
13342         (enriched-handle-display-prop): Bring back.
13343         (enriched-decode-display-prop): Bring back, but disable
13344         the unsafe part.
13346 2017-09-12  Alan Mackenzie  <acm@muc.de>
13348         Don't match C++ template delims starting within a token.  FIxes bug #28418.
13350         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
13351         attempted match from the start of a token (in particular, "<<"), move to the
13352         next token rather than the nex character before searching for the next "<".
13354 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
13356         Move gensym to core Elisp
13358         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
13359         after make-symbol.
13360         * etc/NEWS: Mention.
13361         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
13362         gensym-counter.
13363         (cl-gensym): Alias to gensym.
13364         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
13365         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
13366         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
13367         (ert--expand-should-1, ert--expand-should):
13368         (ert--should-error-handle-error):
13369         * lisp/emacs-lisp/generator.el (cps--gensym):
13370         * lisp/emacs-lisp/gv.el (setf):
13371         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
13372         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
13373         (pcase--funcall, pcase--u1): Use gensym.
13374         * lisp/subr.el (gensym-counter): New variable.
13375         (gensym): New function, assimilated from cl-lib.
13377 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
13379         Fix cl-gentemp
13381         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
13382         (cl-gentemp): Use it.  Change prefix to "T".
13384 2017-09-12  Sam Steingold  <sds@gnu.org>
13386         gnus-score-file-name: Do not append empty suffix.
13388 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
13390         Extend tramp-tests according to bug#27986
13392         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
13393         (tramp-test12-rename-file, tramp-test15-copy-directory)
13394         (tramp-test21-file-links): Extend tests.
13395         (tramp-test13-make-directory, tramp-test14-delete-directory):
13396         Specifiy error symbol in `should-error'.
13398 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
13400         Add cl-print method for hash tables
13402         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
13404 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
13406         Add docstrings to cl-print entry points
13408         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
13409         (cl-prin1, cl-prin1-to-string): Add docstrings.
13411 2017-09-12  Glenn Morris  <rgm@gnu.org>
13413         Improve reproducibility of generated leim-list.el
13415         * lisp/international/quail.el (quail-update-leim-list-file):
13416         Sort the quail directory listing, for more stable output.
13418 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
13420         Include sxhash of object with printed bytecode
13422         This printing, while succint, is rather opaque.  At least give an
13423         immediate clue of whether different byte code printouts are for the
13424         same or different byte code objects.
13425         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
13426         printed token "#<bytecode>".
13428 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
13430         Update documentation of 'max-lisp-eval-depth'
13432         * doc/lispref/eval.texi (Eval): Update the documented default
13433         value of 'max-lisp-eval-depth'.
13435 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
13437         Another place to produce debugging output in etags
13439         * lib-src/etags.c (Ruby_functions): One more place to print
13440         debugging output under --debug.
13442 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
13444         Improve documentation of etags-related features
13446         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
13447         'xref-prompt-for-identifier'.  (Bug#28403)
13448         (Etags Regexps): Document \D back references in etags regexps.
13450 2017-09-11  Alan Third  <alan@idiocy.org>
13452         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
13454         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
13455         Change macOS compatibility from 10.9 to 10.10.
13457 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
13459         Further optimization in Tramp's file name decomposition
13461         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
13462         components.  Call `custom-set-variables' after loading.
13463         (tramp-build-prefix-format, tramp-build-prefix-regexp)
13464         (tramp-build-method-regexp)
13465         (tramp-build-postfix-method-format)
13466         (tramp-build-postfix-method-regexp)
13467         (tramp-build-prefix-ipv6-format)
13468         (tramp-build-prefix-ipv6-regexp)
13469         (tramp-build-postfix-ipv6-format)
13470         (tramp-build-postfix-ipv6-regexp)
13471         (tramp-build-postfix-host-format)
13472         (tramp-build-postfix-host-regexp)
13473         (tramp-build-file-name-regexp)
13474         (tramp-build-completion-file-name-regexp): New defuns.
13475         (tramp-prefix-format, tramp-prefix-regexp)
13476         (tramp-method-regexp, tramp-postfix-method-format)
13477         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
13478         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
13479         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
13480         (tramp-postfix-host-regexp)
13481         (tramp-remote-file-name-spec-regexp)
13482         (tramp-file-name-structure, tramp-file-name-regexp)
13483         (tramp-completion-file-name-regexp): Convert defuns into defvars.
13484         (tramp-prefix-regexp-alist)
13485         (tramp-postfix-method-regexp-alist)
13486         (tramp-prefix-ipv6-regexp-alist)
13487         (tramp-postfix-ipv6-regexp-alist)
13488         (tramp-postfix-host-regexp-alist)
13489         (tramp-remote-file-name-spec-regexp-alist): Remove.
13490         (tramp-build-remote-file-name-spec-regexp)
13491         (tramp-build-file-name-structure): Simplify.
13492         (tramp-completion-file-name-regexp-alist): New defconst.
13493         (tramp-tramp-file-p, tramp-dissect-file-name)
13494         (tramp-make-tramp-file-name)
13495         (tramp-completion-make-tramp-file-name)
13496         (tramp-rfn-eshadow-update-overlay-regexp)
13497         (tramp-register-file-name-handlers)
13498         (tramp-completion-handle-file-name-all-completions)
13499         (tramp-completion-dissect-file-name, tramp-clear-passwd):
13500         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
13501         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
13502         (tramp-compute-multi-hops): Use variables but functions for
13503         file name components.
13505         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
13506         Use variables but functions for file name components.
13508 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13510         Port tramp-tests to new copy-directory behavior
13512         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
13513         Use directory name as arg for copy-directory when we want
13514         the special behavior.
13516 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13518         Adjust thumbs to new rename-file behavior
13520         * etc/NEWS: Mention this.
13521         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
13522         as special only if it is a directory name.  When there is
13523         a marked list, turn the destination into a directory name
13524         if it is not already.
13526 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13528         Adjust ob-tangle to new copy-file behavior
13530         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
13531         Port to new copy-file behavior.
13533 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13535         Make gnus-copy-file act like copy-file etc.
13537         * etc/NEWS: Mention this.
13538         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
13539         as special only if it is a directory name.
13541 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13543         Make write-file act like copy-file etc.
13545         Change write-file to be consistent with the new behavior
13546         of copy-file, etc.
13547         * etc/NEWS: Mention this.
13548         * lisp/files.el (write-file): Treat the destination as special
13549         only if it is a directory name.
13551 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13553         Make copy-directory act like copy-file etc.
13555         Do the special dance with the destination only if it is a
13556         directory name, for consistency with copy-file etc. (Bug#27986).
13557         * doc/emacs/files.texi (Copying and Naming):
13558         * doc/lispref/files.texi (Create/Delete Dirs):
13559         * etc/NEWS: Document this.
13560         * lisp/files.el (copy-directory): Treat NEWNAME as special
13561         only if it is a directory name.
13563 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13565         Fix some make-directory bugs
13567         * lisp/files.el (files--ensure-directory): New function.
13568         (make-directory): Use it to avoid bugs when (make-directory FOO t)
13569         is invoked on a non-directory, or on a directory hierarchy that
13570         is being built by some other process while Emacs is running.
13571         * test/lisp/files-tests.el (files-tests--make-directory): New test.
13573 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13575         Fix race with rename-file etc. with dir NEWNAME
13577         This changes the behavior of rename-file etc. slightly.
13578         The old behavior mostly disagreed with the documentation, and had
13579         a race condition bug that could allow attackers to modify victims'
13580         write-protected directories (Bug#27986).
13581         * doc/lispref/files.texi (Changing Files): Document that in
13582         rename-file etc., NEWFILE is special if it is a directory name.
13583         * etc/NEWS: Document the change in behavior.
13584         * src/fileio.c (directory_like): Remove.  All uses removed.
13585         (expand_cp_target): Test only whether NEWNAME is a directory name,
13586         not whether it is currently a directory.  This avoids a race.
13587         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
13588         Document behavior if NEWNAME is a directory name.
13589         (Frename_file): Simplify now that the destdir behavior occurs
13590         only when NEWNAME is a directory name.
13591         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
13592         (tramp-test12-rename-file, tramp--test-check-files):
13593         Adjust tests to match new behavior.
13595 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
13597         Extend --debug printouts in etags
13599         * lib-src/etags.c (regex_tag_multiline, readline): Under
13600         "--debug", print tags found via regexps.
13602 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
13604         Add --debug option to etags
13606         * lib-src/etags.c (make_tag): Print found tags under --debug.
13607         (longopts): Add --debug.
13609 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13611         Spelling fixes
13613         * lisp/progmodes/cc-langs.el:
13614         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
13615         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
13617 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13619         Merge from gnulib
13621         This incorporates:
13622         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
13623         2017-08-24 warnings: fix compilation with old autoconf
13624         2017-08-23 glob: merge from glibc with Zanella glob changes
13625         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
13626         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
13627         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
13628         * m4/warnings.m4:
13629         Copy from Gnulib.
13630         * lib/gnulib.mk.in: Regenerate.
13632 2017-09-10  Ken Brown  <kbrown@cornell.edu>
13634         Implement renameat_noreplace on recent Cygwin
13636         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
13637         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
13638         (Bug#27986)
13640 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
13642         Avoid warnings about file names in autoloads on MS-Windows
13644         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
13645         avoid warnings from find-file-noselect when making autoloads.  For
13646         the details, see
13647         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
13649 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
13651         Avoid looking at localized strings
13653         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
13654         localized strings.
13655         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
13656         parsing l10n strings doesn't error but is essentially a no-op.
13658 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13660         * etc/NEWS.25: Document 25.3 changes.
13662 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
13664         Remove unsafe enriched mode translations
13666         * lisp/gnus/mm-view.el (mm-inline-text):
13667         Do not worry about enriched or richtext type.
13668         * lisp/textmodes/enriched.el (enriched-translations):
13669         Remove translations for FUNCTION, display (Bug#28350).
13670         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
13672 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13674         Be more consistent about "directory name" in manual
13676         This clarifies the documentation, partly in response to the
13677         discussion in Bug#27986.
13679 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
13681         Remove more compilation warnings in MinGW64 build
13683         * src/w32.c (faccessat, map_w32_filename):
13684         * src/w32fns.c (w32_wnd_proc):
13685         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
13686         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
13687         warnings with GCC 7 and later.
13689 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13691         Improve --enable-gcc-warnings for MinGW64
13693         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
13694         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
13695         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
13696         * lib-src/etags.c (process_file_name, TeX_commands):
13697         * src/buffer.c (fix_overlays_before):
13698         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
13699         (cons_to_signed):
13700         * src/editfns.c (Ftranslate_region_internal):
13701         Prefer UNINIT to some stray value, as this simplifies
13702         code-reading later.
13703         * src/eval.c (CACHEABLE): New macro.
13704         (internal_lisp_condition_case): Use it.
13705         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
13707 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
13709         Fix font-lock in Compilation mode
13711         * lisp/progmodes/compile.el (compilation-face): Restore function
13712         lost during recent changes.  (Bug#28349)
13714 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
13716         Add function to read all entries in a group
13718         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
13719         entries in all groups were read and returned by xdg-desktop-read-file.
13720         * lisp/xdg.el (xdg-desktop-read-group): New function.
13721         (xdg-desktop-read-file): Use it.
13722         * test/data/xdg/malformed.desktop: New file.
13723         * test/data/xdg/test.desktop: Add another section.
13724         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
13725         in another group.  Test reading a prescribed group.  Test detecting a
13726         malformed key=value.
13728 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
13730         Reduce Tramp's memory usage
13732         Construct Tramp syntax strings and regular expressions once instead
13733         of every time they are used, and store them in alists keyed by Tramp
13734         syntax.
13735         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
13736         (tramp-build-file-name-structure): New functions.
13737         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
13738         (tramp-method-regexp-alist)
13739         (tramp-postfix-method-format-alist)
13740         (tramp-postfix-method-regexp-alist)
13741         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
13742         (tramp-postfix-ipv6-format-alist)
13743         (tramp-postfix-ipv6-regexp-alist)
13744         (tramp-postfix-host-format-alist)
13745         (tramp-postfix-host-regexp-alist)
13746         (tramp-remote-file-name-spec-regexp-alist)
13747         (tramp-file-name-structure-alist): New constants.
13748         (tramp-lookup-syntax): New function.
13749         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
13750         (tramp-postfix-method-format, tramp-postfix-method-regexp)
13751         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
13752         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
13753         (tramp-postfix-host-format, tramp-postfix-host-regexp)
13754         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
13755         Use it.
13757 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
13759         Fix compilation warnings in MinGW64 build using GCC 7
13761         Reported by Richard Copley <rcopley@gmail.com>.
13762         * src/w32heap.c (init_heap): Declare enable_lfh only for
13763         mingw.org's MinGW build.
13765         * src/w32console.c (w32con_write_glyphs):
13766         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
13767         mismatches of data type vs format spec.
13769         * src/w32fns.c (compute_tip_xy):
13770         * src/w32proc.c (stop_timer_thread):
13771         * src/w32notify.c (remove_watch):
13772         * src/eval.c (internal_lisp_condition_case):
13773         * src/editfns.c (Ftranslate_region_internal):
13774         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
13775         (cons_to_signed):
13776         * src/buffer.c (fix_overlays_before): Initialize variables to
13777         avoid compiler warnings.
13779         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
13780         variables to avoid compilation warnings.
13782 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
13784         Avoid infloop when scrolling under scroll-preserve-screen-position
13786         * src/window.c (window_scroll_pixel_based): If screen position is
13787         to be preserved, make sure its recorded Y coordinate is outside
13788         the scroll margin.  (Bug#28342)
13790 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
13792         Clarification in tramp-texi
13794         * doc/misc/tramp.texi (Connection caching): Two connections are
13795         regarded as different now when they differ in the port number only.
13797 2017-09-09  Miles Bader  <miles@gnu.org>
13799         * admin/quick-install-emacs: Tweak configure.ac parsing
13801 2017-09-09  Miles Bader  <miles@gnu.org>
13803         Use text-property buttons in rcirc-markup-urls
13805         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
13806         instead of `make-button'; the former is much more efficient in large
13807         buffers, and for the purposes of rcirc, changes no functionality.
13809 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
13811         Fix line-pixel-height for lines of variable height
13813         * src/xdisp.c (Fline_pixel_height): Start moving from the
13814         beginning of the screen line, to capture the full metrics of the
13815         line.  (Bug#28391)
13817 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
13819         New variable 'dired-confirm-killing-deleted-buffers'
13821         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
13822         New variable.
13823         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
13824         visiting deleted files without confirming if
13825         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
13826         * etc/NEWS: Document the change.
13828 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
13830         Support SVN files with svn:externals property
13832         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
13833         marked with the svn:externals property.
13835 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
13837         List locally removed files in vc-dir with SVN back-end
13839         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
13840         with ?! as needs-update.
13842 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
13844         Fix Rmail editing with reapplying encoding to message body
13846         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
13847         content-type in edited headers, look for one in original
13848         headers and add it to edited headers.  (Bug #26918)
13849         Use a marker to track start of new body, so that
13850         content-transfer-encoding gets applied only to body.  (Bug #27353).
13851         Ensure blank line at end of message after encoding, not
13852         before.
13854 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
13856         Document last change in dired.el
13858         * etc/NEWS (Dired): Document the last change in dired.el.
13859         (Bug#27435)
13861 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
13863         Make mouse clicks in Dired more customizable
13865         * lisp/dired.el (dired-mouse-find-file): Allow callers to
13866         specify functions to visit file/directory.
13867         (dired-mouse-find-file-other-window)
13868         (dired-mouse-find-file-other-frame): New functions to visit
13869         files in another window/frame.  (Bug#27435)
13871 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
13873         Avoid compiler warnings on MS-Windows with GCC 6 and 7
13875         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
13876         bit-shifting, to avoid compiler warnings.
13877         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
13878         a warning.  For details of the warning, see
13879         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
13880         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
13881         in that build.
13882         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
13883         function is not used in that build.
13885         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
13887 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
13889         Fix 'directory-file-name' on DOS_NT systems as well
13891         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
13892         to be consistent with last change.
13894         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
13895         Disable on MS-Windows.
13896         (fileio-tests--directory-file-name-dos-nt)
13897         (fileio-tests--file-name-as-directory-dos-nt): New tests.
13899 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
13901         Fix various verilog-mode.el issues.
13903         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
13904         "*/*", msg2284. Reported by Jonathan Ferguson.
13905         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
13906         by Victor Lau.
13907         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
13908         verilog-substitute-file-name-path): Support -F in verilog getopt files,
13909         bug1171. Reported by George Cuan.
13910         (verilog-do-indent): Fix misindenting symbols starting with t,
13911         bug1169. Reported by Hoai Tran.
13912         (verilog-read-auto-template-middle): Fix slow template matching on
13913         AUTOINST. Reported by Jeffrey Huynh.
13914         (verilog-pretty-expr): The extra whitespace addition before "=" operators
13915         is now done only if the whole assignment block contains the 2-character
13916         "<=" operator.  Remove the unused argument _myre.  Use `unless',
13917         `save-excursion' and `when' functions where possible.  Internal variables
13918         refactored for clarity.  Follow elisp convention for closing parentheses.
13919         By Kaushal Modi.
13920         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
13921         refactored for clarity.  Earlier EDPOS argument was expected to be a
13922         marker; it is now renamed to END and is now expected to be a position.
13923         Use `when' instead of `if'.  By Kaushal Modi.
13924         (electric-verilog-terminate-line): Remove the unused second argument from
13925         `verilog-pretty-expr' call.  By Kaushal Modi.
13926         (verilog-calc-1): Fix indentation of a virtual class definition after a
13927         typedef class, bug1080.  By Kaushal Modi.
13929 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
13931         Don't use summary window to visit group buffer (bugfix)
13933         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
13934         the window to open the group buffer doesn't visit the summary buffer.
13935         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
13936         by trying to select nonexistent summary window.
13938 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13940         Fix bug: (directory-file-name "///") returned "//"
13942         * src/fileio.c (directory_file_name): For "///" and longer,
13943         return "/", not "//", as per POSIX.
13944         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
13945         (fileio-tests--file-name-as-directory): New tests.
13947 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13949         Remove obsolete vc-mistrust-permissions doc
13951         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
13952         for vc-mistrust-permissions, which no longer exists.
13954 2017-09-07  Alan Third  <alan@idiocy.org>
13956         Set frame size to actual requested size (bug#18215)
13958         * src/nsterm.m (x_set_window_size): Don't use
13959         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
13961 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
13963         autogen.sh: omit bogus chatter if no .git
13965         Problem reported by Angelo Graziosi in:
13966         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
13967         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
13969 2017-09-07  Glenn Morris  <rgm@gnu.org>
13971         Skip emacsclient tests if --enable-profiling was used
13973         * test/lib-src/emacsclient-tests.el
13974         (emacsclient-test-call-emacsclient): Make it a macro.
13975         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
13976         (emacsclient-test-alternate-editor-allows-arguments)
13977         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
13979 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
13981         Fix a minor markup problem in ELisp manual
13983         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
13984         @example and @group.  For the details, see
13985         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
13987 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
13989         Add XDG desktop file parsing and tests
13991         * lisp/xdg.el: Add support for Desktop Entry Specification.
13992         (xdg--user-dirs-parse-line): Check if file is readable.
13993         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
13994         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
13995         New functions.
13996         * test/lisp/xdg-tests.el:
13997         * test/data/xdg/test.desktop:
13998         * test/data/xdg/wrong.desktop: New files.
14000 2017-09-06  Glenn Morris  <rgm@gnu.org>
14002         Allow for adjusting line length of test backtraces
14004         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
14005         (%.log): Respect backtrace line length.
14007 2017-09-06  Glenn Morris  <rgm@gnu.org>
14009         Allow customizing line length of ert backtraces in batch mode
14011         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
14012         Make it a user option.
14013         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
14015 2017-09-06  Glenn Morris  <rgm@gnu.org>
14017         Minor emacsclient-tests simplification
14019         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
14020         Simplify.  Also work when running installed.
14022 2017-09-06  Alan Third  <alan@idiocy.org>
14024         Revert "Force screen update after drawing cursor glyph (bug#23774)"
14026         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
14028         See bug#28358
14030 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
14032         Refactor some loops in mailcap.el
14034         * lisp/net/mailcap.el (mailcap-mime-types):
14035         (mailcap-file-default-commands): Convert nested maps to loops.
14037 2017-09-05  Glenn Morris  <rgm@gnu.org>
14039         emacsclient-tests: remove some debug statements
14041         * test/lib-src/emacsclient-tests.el
14042         (emacsclient-test-call-emacsclient): Remove debug statements.
14044 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
14046         Handle non-zero exit status from psql more gracefully
14048         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
14049         exit statuses from `psql -ltX' more gracefully by returning nil.
14051         * test/lisp/progmodes/sql-tests.el
14052         (sql-tests-postgres-list-databases-error): New test.
14054 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
14056         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
14058         * src/w32proc.c (sys_kill): Preserve the up/down state of the
14059         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
14061 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
14063         * src/image.c (Fimagemagick_types): Doc fix.
14065 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
14067         Move soundex.el test to a proper test
14069         * test/lisp/soundex-tests.el: New file.
14070         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
14072 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
14074         Add tests for mailcap.el
14076         * test/data/mailcap/mime.types: New file.
14077         * test/lisp/net/mailcap-tests.el: New file.
14079 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
14081         Doc precisment about remote link targets
14083         * doc/lispref/files.texi (Truenames): Explain handling of
14084         targets of `file-truename' and `make-symbolic-link', which
14085         look like a remote file name.
14087         * etc/NEWS: Precise examples for symlinks which look like
14088         remote file names.  MUSTBENEW of `write-region' is not
14089         propagated to file name handlers.
14091 2017-09-05  John Wiegley  <johnw@newartisans.com>
14093         Remove an opinionated section on "What Eshell is not"
14095         I don't find this information to accurately reflect possible use cases
14096         for Eshell; plus, it doesn't offer much in the way of information,
14097         just opinion.
14099 2017-09-05  Ken Brown  <kbrown@cornell.edu>
14101         Fix configure test for Xpm
14103         Problem reported by Ashish Shukla in
14104         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
14105         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
14106         noX/xpm.h in configure test.
14108 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
14110         Revert recent float→double Motif change
14112         Problem reported by Martin Rudalics in:
14113         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
14114         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
14115         (x_set_toolkit_scroll_bar_thumb)
14116         (x_set_toolkit_horizontal_scroll_bar_thumb):
14117         Go back to using ‘float’ temporaries rather than ‘double’.
14118         Although quite possibly this masks an underlying bug,
14119         we lack time to look into that now.
14121 2017-09-04  Glenn Morris  <rgm@gnu.org>
14123         emacsclient-tests: add some debug statements
14125         * test/lib-src/emacsclient-tests.el
14126         (emacsclient-test-call-emacsclient): Add debug statements.
14128 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
14130         Work on Tramp's (symbolic) links
14132         * doc/misc/tramp.texi (Traces and Profiles): Mention the
14133         backtrace when tramp-verbose is greater than or equal to 10.
14135         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
14136         Use `tramp-handle-add-name-to-file'.
14138         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
14139         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
14141         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
14143         * lisp/net/tramp-smb.el (tramp-smb-errors):
14144         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
14145         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
14146         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
14147         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
14148         if one of the attributes is non-nil.
14149         (tramp-smb-handle-file-local-copy): Use `file-truename'.
14150         (tramp-smb-handle-file-truename): Move to tramp.el.
14151         (tramp-smb-handle-insert-directory): Show symlinks.
14152         (tramp-smb-handle-make-symbolic-link): Improve.
14153         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
14155         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
14156         (tramp-handle-file-truename): New defuns.
14158         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
14159         (tramp--test-check-files): Make check for "smb".
14161 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
14163         Embed JSON readtable into json-read
14165         Also unroll dispatch into a cond.
14166         * lisp/json.el (json-readtable): Remove.
14167         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
14168         (json-read): Use the macro.
14170 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
14172         Hexify strings in EWW search queries
14174         Previously, inputting "cats & dogs" would lose dogs because the
14175         ampersand signifies a query parameter.  Instead, hexify each word while
14176         preserving quotes with split-string.
14177         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
14178         with + separators, instead of replacing whitespace with +.
14180 2017-09-03  Glenn Morris  <rgm@gnu.org>
14182         emacsclient-tests: call-process may return non-integer
14184         * test/lib-src/emacsclient-tests.el
14185         (emacsclient-test-alternate-editor-allows-arguments)
14186         (emacsclient-test-alternate-editor-allows-quotes):
14187         Handle non-integer return from call-process.
14189 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
14191         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
14193 2017-09-03  Alan Third  <alan@idiocy.org>
14195         Force screen update after drawing cursor glyph (bug#23774)
14197         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
14198         drawing the glyph over the cursor.
14200 2017-09-03  Alan Mackenzie  <acm@muc.de>
14202         Correct the fontification of quote marks after buffer changes in CC Mode.
14204         * lisp/progmodes/cc-defs.el
14205         (c-search-forward-char-property-with-value-on-char): New macro.
14207         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
14208         (c-parse-quotes-after-change): Rewrite the functions, simplifying
14209         considerably, and removing unnecessary optimizations.
14210         Invalidate two caches after manipulating text properties.
14212 2017-09-03  Alan Mackenzie  <acm@muc.de>
14214         Fix fontification of "operator~" in C++ Mode.
14216         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
14217         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
14219         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
14220         two other symbols) as a cast without good evidence.  Prefer an overloaded
14221         operator in ambiguous cases.
14223 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
14225         In delete_frame do not delete terminal for any toolkit build
14227         * src/frame.c (delete_frame): Neither delete terminal for
14228         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
14229         Bug#27816).
14231 2017-09-02  Philipp Stephani  <phst@google.com>
14233         Improve error messages for improper plists (Bug#27726)
14235         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
14236         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
14237         improper plists instead of ‘listp.’
14239         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
14240         (lax-plist-get/odd-number-of-elements)
14241         (plist-put/odd-number-of-elements)
14242         (lax-plist-put/odd-number-of-elements)
14243         (plist-member/improper-list): Add unit tests.
14245 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
14247         Fix decrypting in plstore.el on MS-Windows
14249         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
14250         raw-text, instead of using insert-file-contents-literally.
14251         (Bug#28114)
14253 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
14255         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
14257 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
14259         Rewrite Antinews for Emacs 26
14261         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
14262         * doc/lispref/elisp.texi (Top): Update the top-level menu's
14263         Antinews entry.
14264         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
14265         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
14266         entry.
14268         * etc/NEWS: Rearrange some entries in a more reasonable order.
14270 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
14272         Fix a mis-binding in a test
14274         * test/lisp/progmodes/python-tests.el
14275         (python-shell-calculate-process-environment-3): Fix binding of
14276         process-environment.  A level of parens was missing.
14278         This was found after Glenn Morris noticed a similar problem with the
14279         patch for Bug#28319.
14281 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
14283         Fix a mis-binding and a bad defun name in a test (Bug#28319)
14285         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
14286         emacsclient-test-call-emacsclient.
14287         (emacsclient-test-alternate-editor-allows-arguments)
14288         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
14289         process-environment.
14291         Thanks to Glenn Morris for noticing these errors.
14293 2017-09-02  Glenn Morris  <rgm@gnu.org>
14295         * test/Makefile.in (check-no-automated-subdir): Silence by default.
14297         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
14299 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
14301         Turn off checkdoc complaint about default argument order
14303         * etc/NEWS: Mention change.
14304         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
14305         Disable by default, note version.
14307 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
14309         Stop emacsclient tests hanging (Bug#28319)
14311         * test/lib-src/emacsclient-tests.el
14312         (emacsclient-test-alternate-editor-allows-arguments): Use a
14313         non-existent file to communicate with server, so that any existing
14314         default server will not be hijacked (in fact, the test does
14315         not need a server).
14316         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
14318 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
14320         * lisp/obsolete/html2text.el: Don't require CL
14322         (html2text-clean-anchor): Mark unused arg.
14324 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
14326         Don't remove undisplayers from inlined MIME parts (bugfix)
14328         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
14329         Don't remove undisplayers from inlined MIME parts (bugfix);
14330         Simplify criterion that finds attachments.
14332 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
14334         Make ucs-names a hash table (Bug#28302)
14336         * etc/NEWS: Mention the type change.
14337         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
14338         Hardcode BEL's name into the function instead of needlessly mapping
14339         over the hash table in the spirit of rassoc.
14340         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
14341         function docstrings.  Initialize a hash table for ucs-names--the
14342         number of entries is 42845 here.  Switch to hash-table
14343         getters/setters.
14344         (mule--ucs-names-annotation): Use hash-table getter.
14345         (char-from-name): Upcase the string if ignore-case is truthy.
14346         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
14348 2017-08-31  Alan Third  <alan@idiocy.org>
14350         Remove unneeded version checks (bug#28222)
14352         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
14353         check.
14354         * src/macfont.m (macfont_draw): Remove version check, and test for
14355         existence of CGContextSetFontSmoothingStyle.
14357 2017-08-31  Alan Mackenzie  <acm@muc.de>
14359         Fix a glitch in CC Mode's syntactic whitespace cache.
14361         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
14362         comment close at the end of a macro.
14364 2017-08-31  Alan Mackenzie  <acm@muc.de>
14366         Correct the fontification of C++ Mode enclosed declarations.
14368         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
14369         spurious check that the character before the start of an enclosed declaration
14370         must be ; or }.  It might also be {.
14372 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
14374         In xterm.c fix some recently introduced compiler warnings
14376         * src/xterm.c (xaw_jump_callback)
14377         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
14378         -Wdouble-promotion warnings.
14380 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
14382         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
14384         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
14385         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
14386         react to state changes received via ConfigureNotify.
14388 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
14390         Respect directory a user enters (bug#28299)
14392         * lisp/gnus/mm-decode.el (mm-save-part):
14393         Respect directory a user enters (bug#28299).
14395 2017-08-31  Samuel Freilich  <sfreilich@google.com>
14397         Do not split line before width of fill-prefix
14399         When auto-filling a paragraph, don't split a line before the width of the
14400         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
14401         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
14402         the line than the width of the fill-prefix.  This is a more general solution
14403         than the previous logic, which only skipped over the exact fill-prefix.  The
14404         fill-prefix doesn't necessarily match the prefix of the first line of a
14405         paragraph in adaptive-fill-mode.
14407 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
14409         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
14411         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
14412         Consider any documentation that ended up in code as a docstring (e.g.,
14413         autogenerated (fn ARG1 ARG2) type things), not just what the user
14414         passed.
14416 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
14418         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
14420         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
14421         to drop the docstring.  Add a simple docstring to the compiler-macro.
14423 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14425         Quote file-truename symlink to "../foo:bar:"
14427         Problem reported by Michael Albinus (Bug#28264#19).
14428         * lisp/files.el (files--splice-dirname-file): Fix bug where
14429         a relative symlink to "../foo:bar:" did not quote the result.
14431 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
14433         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
14435         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
14436         corresponding command-line argument, into quote- or space-separated
14437         tokens.  If a token starts with a quote, then it naturally is expected
14438         to end with a quote; escaping is not supported. This is enough to cope
14439         with the typical case of requiring the initial path to be quoted,
14440         common on Windows where it may contain spaces.
14441         * etc/NEWS: Document.
14442         * doc/emacs/misc.texi: Likewise.
14443         * doc/man/emacsclient.1: Tweak to remove the implication that only an
14444         editor can be specified (the manual already mentions a “command”).
14445         Fix a small error where “EDITOR” is referred to rather than
14446         “ALTERNATE_EDITOR”.
14447         * test/lib-src/emacsclient-tests.el: Add tests.
14449 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
14451         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
14453 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
14455         Correct "hide others" shortcut on macOS (bug#28215)
14457         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
14459 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
14461         Sync NEWS with the documentation
14463         * etc/NEWS: Mark entries according to documentation.
14465         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
14467 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
14469         Improve symlinks for Tramp
14471         * lisp/files.el (files--splice-dirname-file): Quote whole file.
14473         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
14474         Do not expand TARGET, it could be remote.
14475         (tramp-sh-handle-file-truename): Check for cyclic symlink also
14476         in case of readlink.  Quote result if it looks remote.
14477         (tramp-sh-handle-file-local-copy): Use `file-truename'.
14479         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
14480         (tramp-test09-insert-file-contents): Test also file missing.
14481         (tramp-test21-file-links): Extend test.
14483 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
14485         Preserve display's foreground color when clearing internal borders (Bug#28278)
14487         * src/xterm.c (x_after_update_window_line): Preserve display's
14488         foreground color when clearing internal borders (Bug#28278).
14490 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
14492         Use cl-print for all values printed by `describe-variable'
14494         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
14495         global values too.
14497 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
14499         Minor simplification for byte-compile-constant-push
14501         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
14502         of the code from here...
14503         (byte-compile-constant-push): ... to here.  No need to bind
14504         byte-compile--for-effect anymore.
14506 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14508         Prefer file-name-quote to concat "/:"
14510         Suggested by Michael Albinus (Bug#28264#13).
14511         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
14512         rather than attempting to do it by hand.
14514 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14516         * configure.ac: fix typo in previous change
14518 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14520         Be more conservative in link time optimization doc
14522         While testing --enable-link-time-optimization with GCC 7.1.1
14523         I ran into a serious GCC code-generation bug which makes me
14524         think that --enable-link-time-optimization should be
14525         discouraged for typical installs (Bug#28213).  See:
14526         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
14528 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14530         Make garbage collection more conservative
14532         Check for a pointer anywhere within the object, as opposed to just
14533         the start of the object.  This is needed for gcc -Os -flto on
14534         x86-64 (Bug#28213).  This change means that the garbage collector
14535         is more conservative, and will incorrectly keep objects that it
14536         does not need to, but that is better than incorrectly discarding
14537         objects that should be kept.
14538         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
14539         this is easier to debug.
14540         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
14541         Now a function with two args, not a macro with three.
14542         All callers changed.
14543         (live_string_holding, live_cons_holding, live_symbol_holding)
14544         (live_misc_holding, live_vector_holding, live_buffer_holding):
14545         New functions, which check for any object containing the addressed
14546         byte, not just for an object at the given address.
14547         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
14548         (live_vector_p, live_buffer_p):
14549         Redefine in terms of the new functions.
14550         (live_float_p): Refactor slightly to match the new functions.
14551         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
14552         Don’t bother checking mark bits, as mark_object already does that,
14553         and omitting the checks here simplifies the code.  Although
14554         mark_maybe_object can continue to insist that tagged pointers
14555         still address the start of the object, mark_maybe_pointer now is
14556         more conservative and checks for pointers anywhere into an object.
14558 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14560         Improve stack-top heuristic
14562         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
14563         of the stack when scanning for heap roots, causing Emacs to crash
14564         later (Bug#28213).  The problem is that Emacs's hack for getting an
14565         address near the stack top does not work when link-time optimization
14566         moves stack variables around.
14567         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
14568         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
14569         (write_globals, scan_c_stream): Support noinline.
14570         * src/alloc.c (NEAR_STACK_TOP): New macro.
14571         (SET_STACK_TOP_ADDRESS): Use it.
14572         (flush_stack_call_func, Fgarbage_collect): Now noinline.
14574 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14576         Align stack bottom properly.
14578         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
14579         * src/emacs.c (main): Align stack-bottom variable as a pointer,
14580         since mark_memory requires this.
14582 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
14584         Avoid spinning waiting for git-gui.exe on Windows
14586         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
14587         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
14588         process exited.  (Bug#28268)
14590 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
14592         Document '--module-assertions'
14594         * doc/emacs/cmdargs.texi (Initial Options): Document the
14595         '--module-assertions' command-line option.
14596         * doc/lispref/loading.texi (Dynamic Modules): Add a
14597         cross-reference to the description of '--module-assertions'.
14599         * etc/NEWS: Update the NEWS entry for --module-assertions.
14601 2017-08-29  Alan Third  <alan@idiocy.org>
14603         Add news entry about new macOS features
14605         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
14606         ns-use-thin-smoothing.
14608 2017-08-29  Alan Third  <alan@idiocy.org>
14610         Fix cross macOS version building (bug#28222)
14612         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
14613         declaration.
14614         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
14616 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
14618         Enable thin font smoothing in macOS (bug#28222)
14620         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
14621         * src/macfont.m (macfont_draw): Use font smoothing.
14623 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
14625         Minor improvement in documentation of display-line-numbers
14627         * doc/emacs/display.texi (Display Custom): Document the
14628         display-line-numbers-mode and related options.
14630 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
14632         Avoid aborting in 'waitpid' on MS-Windows
14634         * src/w32proc.c (waitpid): Don't allow quitting if called with
14635         WNOHANG in OPTIONS.  (Bug#28268)
14637 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
14639         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
14641         (sh-syntax-propertize-function): Fix off-by-one error.
14642         Fixes bug#23526.
14644 2017-08-29  Rasmus  <rasmus@gmx.us>
14646         Update Org to v9.0.10
14648         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
14649         release.
14651 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14653         Silence false alarms for symlinks to sources
14655         Problem reported by Glenn Morris (Bug#28264).
14656         * lisp/files.el (files--splice-dirname-file): New function.
14657         (file-truename, file-chase-links): Use it.
14659 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14661         Simplify remove_slash_colon
14663         * src/process.c (remove_slash_colon): Simplify
14664         and avoid a special case for "/:" by itself.
14666 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
14668         Remove font family from minibuffer-prompt face
14670         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
14671         minibuffer-prompt face.
14673 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
14675         Further fixes in tramp-smb.el
14677         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
14678         (tramp-smb-file-name-handler-alist): Use it.
14679         (tramp-smb-handle-make-symbolic-link): Unquote target.
14681         * test/lisp/net/tramp-tests.el
14682         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
14683         (tramp-test18-file-attributes, tramp-test21-file-links)
14684         (tramp--test-check-files): Use it.
14686 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
14688         Don’t assume -g3 in .gdbinit
14690         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
14691         Use reasonable defaults if not in the symbol table.
14693 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
14695         Use string-match to check for dotfiles in ido
14697         * lisp/ido.el (ido-make-file-list): Use string-match to check
14698         for dotfiles instead of substring, as when using tramp
14699         simplified syntax ido-temp-list may contain empty strings.
14701 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
14703         Font-lock FDO desktop files correctly
14705         Single and double quotes do not have a special meaning in
14706         desktop files.
14707         https://standards.freedesktop.org/desktop-entry-spec/latest/
14708         * etc/NEWS: Mention new mode.
14709         * lisp/files.el (auto-mode-alist): Split out an entry for handling
14710         the .desktop extension with conf-desktop-mode.
14711         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
14712         variable with rules for booleans and format specifiers.
14713         (conf-unix-mode): Remove desktop file entry example from docstring.
14714         (conf-desktop-mode): New derived major mode.
14716 2017-08-27  Tom Tromey  <tom@tromey.com>
14718         Fix auto-fill bug in js-mode
14720         * lisp/progmodes/js.el (js-do-auto-fill): New function.
14721         (js-mode): Set normal-auto-fill-function.
14722         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
14723         test.
14725 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
14727         Disable completion while entering python multiline statements
14729         The "legacy" completion mechanism sends newlines to the running python
14730         process to get the list of completions, which confuses things if the
14731         user is in the middle of entering a multiline statement (Bug#28051).
14732         It's better to disable completion in this case.
14733         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
14734         (python-shell-prompt-set-calculated-regexps): Set it.
14735         (python-shell-completion-at-point): Return 'ignore' as the completion
14736         function when the current prompt is a block prompt.
14738 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
14740         Tramp cleanup
14742         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
14743         (tramp-sh-handle-make-symbolic-link): More robust check for
14744         TARGET remoteness.
14746         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
14747         Disable copying by tar temporarily, it doesn't work reliably.
14748         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
14749         (tramp-smb-handle-make-symbolic-link): Fix implementation.
14751         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
14753         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
14754         Extend test.
14756 2017-08-27  Glenn Morris  <rgm@gnu.org>
14758         Fix previous xterm.h change for non-gtk builds
14760         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
14762 2017-08-27  Philipp Stephani  <phst@google.com>
14764         Fix GdkSettings-related deprecation warnings
14766         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
14767         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
14768         instead of deprecated gtk_settngs_set_string_property otherwise.
14770 2017-08-27  Philipp Stephani  <phst@google.com>
14772         Always use gtk_window_move in new versions
14774         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
14775         GTK+.
14776         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
14778         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
14779         is ignored.
14781         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
14783 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
14785         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
14787         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
14788         narrowing, and widen the buffer before searching for the name of the
14789         file corresponding to the diff.
14791         With thanks to Noam Postavsky.
14793 2017-08-27  Philipp Stephani  <phst@google.com>
14795         Remove use of a deprecated GTK+ function in new versions
14797         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
14798         if available
14800 2017-08-27  Philipp Stephani  <phst@google.com>
14802         Stop using deprecated GdkScreen monitor functions in newer GDK
14804         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
14805         objects instead of the deprecated GdkScreen functions in GDK 3.22+
14807 2017-08-27  Philipp Stephani  <phst@google.com>
14809         Use GdkSeat in new GDK versions
14811         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
14812         GdkDeviceManager in GDK 3.20+
14814 2017-08-27  Philipp Stephani  <phst@google.com>
14816         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
14818 2017-08-27  Philipp Stephani  <phst@google.com>
14820         Remove call of deprecated GDK function
14822         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
14823         GDK 3.22 or later.
14825 2017-08-27  Alan Mackenzie  <acm@muc.de>
14827         Amend the CC Mode macro cache to cope with changes at the macro start
14829         Fixes bug #28233.
14831         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
14832         error.
14834 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
14836         Fix over-protection of byte-compiled files
14838         Problem reported by Sven Joachim (Bug#28244).
14839         Also, fix similar problem for autoload files.
14840         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
14841         Set temp file modes to the buffer-file-name file modes (or 666
14842         if not available) as adjusted by umask.
14843         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
14844         Set temp file modes to 666 as adjusted by umask.
14846 2017-08-27  Tom Tromey  <tom@tromey.com>
14848         Refine conf-toml-mode font-lock
14850         Bug#28218
14851         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
14852         conf-toml-recognize-section.  Use \s- in variable regexp.
14853         (conf-toml-recognize-section): New function.
14855 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
14857         Do not munge contents of local symbolic links
14859         This lets Emacs deal with arbitrary local symlinks without
14860         mishandling their contents (Bug#28156).  For example,
14861         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
14862         now consistently creates a symbolic link from '/tmp/x' to '~'.
14863         Formerly, it did that only if the working directory was on the
14864         same filesystem as /tmp; otherwise, it expanded the '~' to
14865         the user's home directory.
14866         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
14867         instead of rolling our own code.
14868         * lisp/files.el (files--name-absolute-system-p): New function.
14869         (file-truename, file-chase-links): Use it to avoid mishandling
14870         symlink contents that begin with ~.
14871         (copy-directory, move-file-to-trash):
14872         Use concat rather than expand-file-name, to avoid mishandling
14873         symlink contents that begin with ~.
14874         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
14875         target unless interactive.  Strip leading "/:" if interactive.
14876         (emacs_readlinkat): Do not prepend "/:" to the link target if
14877         it starts with "/" and contains ":" before NUL.
14878         * test/src/fileio-tests.el (try-link): Rename from try-char,
14879         and accept a string instead of a char.  All uses changed.
14880         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
14881         to test the new behavior.
14883 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
14885         Remove invalid regexp for shell builtins for wksh
14887         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
14888         be literal strings, so remove a regexp for wksh. In any case, it’s a
14889         defunct proprietary shell.
14891 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14893         Improve doc for file-name-absolute-p.
14895 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
14897         Fix Tramp part of Bug#28156
14899         * lisp/files.el (file-name-non-special): Use `file-name-quote'
14900         instead prefixing "/:", the file could already be quoted.
14902         * lisp/net/tramp.el (tramp-error): Handle null arguments.
14903         (tramp-handle-make-symbolic-link):
14904         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
14905         (tramp-sh-handle-add-name-to-file):
14906         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
14907         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
14908         stronger semantics in Emacs.  (Bug#28156)
14910         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
14911         Extend test.
14913 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
14915         Fix bugs merged with bug#25428
14917         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
14918         (Bug#13926)  (Bug#25434)  (Bug#25435)
14920 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
14922         Improve documentation of Info virtual files and nodes
14924         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
14925         (Bug#28237)
14927 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
14929         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
14931 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
14933         Support multi-lingual detection of SEE ALSO man sections
14935         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
14936         section detection in several langages: French, German, Spanish,
14937         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
14939 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14941         Improve expand-file-name doc
14943         * doc/lispref/files.texi (Relative File Names, Directory Names)
14944         (File Name Expansion):
14945         * doc/lispref/minibuf.texi (Reading File Names):
14946         Document expand-file-name behavior with ~ more clearly
14947         and accurately.
14948         * doc/misc/org.texi (Batch execution): Simplify example
14949         script so that it does not need expand-file-name and thus
14950         will not mishandle file names with leading ~.
14952 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
14954         Support all perl variable declarators and prefixes (Bug#27613)
14956         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
14957         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
14958         'local', 'state', 'supersede', 'let', and 'temp'.
14960 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
14962         Fix file-attributes race on GNU hosts
14964         * doc/lispref/files.texi (File Attributes):
14965         Document file-attributes atomicity.
14966         * etc/NEWS: Document the fix.
14967         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
14968         for diagnostics.  All callers changed.  On platforms like
14969         GNU/Linux that support O_PATH, fix a race condition in
14970         file-attributes and similar functions, so that these functions do
14971         not return nonsense if a directory entry is replaced while getting
14972         its attributes.  On non-GNU platforms, do a better (though not
14973         perfect) job of detecting the race, and return nil if detected.
14975 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
14977         Simplify expand_and_dir_to_file
14979         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
14980         argument, since in practice it always has the default value.  All
14981         callers changed.  Prefer C99 style decls in nearby code.
14983 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
14985         Fix file-name completion on network shares
14987         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
14988         (Bug#28207)
14990 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
14992         Fix a FIXME with an exegetical comment
14994         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
14995         regexp for wksh builtins.
14997 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
14999         Minor docstring language fix
15001         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
15003 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
15005         Remove old commented code from sh-script.el
15007         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
15008         and variable, commented since 2001.
15010 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
15012         * lisp/emacs-lisp/package.el: Don't let failure stop us
15014         (package-activate-1): Don't throw an error for missing deps.
15015         (package-unpack): Don't bother compiling if activation failed.
15016         (package-initialize): Report failures but keep activating other packages.
15018 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15020         Prefer ‘double’ for FP temps in xterm.c
15022         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
15023         (x_set_toolkit_scroll_bar_thumb)
15024         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
15025         ‘float’ for individual local floating-point temporaries.
15027 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
15029         Avoid using string-to-multibyte in ispell.el
15031         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
15032         decode-coding-string instead. Note that decode-coding-string returns a
15033         string that satisfies multibyte-string-p even if its input is pure
15034         ASCII and the third argument is t, so the result of
15035         ispell-get-decoded-string is always a multibyte string.
15037 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
15039         Store the regexp just when there are matches
15041         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
15042         disabled and there are no matches do not store REGEXP
15043         in hi-lock-interactive-patterns.
15045 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
15047         Keep face available if there are no matches
15049         If font-lock-mode is disabled in the current buffer, and
15050         there are no matches for REGEXP, then keep FACE available
15051         for a next search.
15052         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
15053         hi-lock--unused-faces if font-lock-mode is disabled and
15054         there are no matches.
15055         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
15057 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
15059         Minor improvements for tramp-interrupt-process, documentation
15061         * doc/lispref/processes.texi (Signals to Processes):
15062         * etc/NEWS: Document interrupt-process-functions.
15064         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
15065         `process-live-p'.
15067         * src/process.c (Vinterrupt_process_functions): Fix docstring.
15069         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
15070         Extend test.
15072 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
15074         Fix a comment whitespace typo.
15076         src/fileio.c: A double space was added after "..", used in a code
15077         example. Make it a single space.
15079 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
15081         Remove old commented code and obsolete comments
15083         * lisp/files.el (locate-dominating-files): Remove old commented
15084         implementation from 9 years ago.  Since the current version
15085         appears (at least to me) not just more efficient but clearer than the
15086         version removed, also delete a comment in the new version referring to
15087         the old version. Remove old commented heuristic code,
15088         and explanatory comments.
15090 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
15092         Remove old duplicate commented code
15094         * lisp/files.el (file-relative-name): Remove old commented version,
15095         replaced 14 years ago in commit 753ad9889.
15097 2017-08-24  Tom Tromey  <tom@tromey.com>
15099         Add conf-toml-mode
15101         * etc/NEWS: Mention conf-toml-mode.
15102         * lisp/files.el (auto-mode-alist): Add entry for .toml.
15103         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
15104         (conf-toml-font-lock-keywords): New defvars.
15105         (conf-toml-mode): New mode.
15107 2017-08-23  Alan Third  <alan@idiocy.org>
15109         Use lisp type in log message (bug#28176)
15111         * src/nsimage.m (ns_load_image): Use make_number on index.
15113 2017-08-23  Alan Third  <alan@idiocy.org>
15115         Fix PNGs on macOS (bug#28176)
15117         * src/nsimage.m (ns_load_image): Remove index check.
15118         (EmacsImage::getAnimatedBitmapImageRep): New function.
15119         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
15120         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
15121         is valid.
15123 2017-08-23  Alan Third  <alan@idiocy.org>
15125         Add ability to change macOS WM theme (bug#27973)
15127         * src/frame.c (make_frame, frame_parms, syms_of_frame)
15128         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
15129         options.
15130         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
15131         represent NSAppearance options.
15132         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
15133         ns_transparent_titlebar frame parameters.
15134         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
15135         ns_set_appearance and ns_set_transparent_titlebar handlers.
15136         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
15137         frame parameters.
15138         (Qdark): Add new symbol for use with ns-appearance.
15139         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
15140         [NS_IMPL_COCOA]: Add prototypes.
15141         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
15142         [NS_IMPL_COCOA]: New functions.
15143         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
15144         ns-transparent-titlebar frame parameters.
15145         * doc/lispref/frames.texi (Window Management Parameters): Document
15146         ns-apperance and ns-transparent-titlebar.
15148 2017-08-22  Alan Mackenzie  <acm@muc.de>
15150         When looking for the end of a declarator, prevent macros fouling up the search
15152         The practical implication of this bug was a random jit-lock chunk remaining
15153         entirely unfontified.
15155         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
15156         restrict two forward searches to the end of that macro.
15158 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
15160         Test `file-expand-wildcards' for Tramp
15162         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
15163         Remove, not needed anymore.
15165         * test/lisp/net/tramp-tests.el (top): Require seq.el.
15166         (tramp-test16-directory-files): Simplify.
15167         (tramp-test16-file-expand-wildcards): New test.
15168         (tramp-test28-interrupt-process): Skip for older Emacsen.
15170 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
15172         Add tests for cl-macs.el (Bug#27559)
15174         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
15175         duplicate.
15176         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
15177         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
15179 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
15181         Optimize skkdic conversion (Bug#28043)
15183         The primary speedup comes from the optimizing lookup-nested-alist and
15184         set-nested-alist for the case where the key is a string.  This brings
15185         the time down to less than half the original.
15187         * lisp/international/mule-util.el (lookup-nested-alist)
15188         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
15189         string.
15191         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
15192         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
15193         of calculating ratio of work done inline.
15195         (skkdic-reduced-candidates): Call `char-category-set' on the first
15196         character of the string directly, instead of using a regexp for the
15197         character category.
15198         (skkdic--japanese-category-set): New constant.
15199         (skkdic-collect-okuri-nasi): Just set
15200         `skkdic-okuri-nasi-entries-count' at once at the end rather than
15201         updating it throughout the loop.
15203         (skkdic-convert-postfix skkdic-convert-prefix)
15204         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
15205         (skkdic-extract-conversion-data): Use `match-string-no-properties'
15206         instead of `match-string'.
15208 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
15210         Treat tests in lib-src like tests in src
15212         * test/Makefile.in (test_template): Depend on a .c source file for a
15213         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
15214         in the right direction.)
15216 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
15218         Port /bin/sh scripts to Solaris 10
15220         Its /bin/sh builtin ‘test’ command does not support -e.
15221         * autogen.sh, build-aux/git-hooks/pre-commit:
15222         * build-aux/gitlog-to-emacslog, make-dist:
15223         Use test -r, not test -e.
15225 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
15227         Avoid losing the buffer restriction in flyspell-mode
15229         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
15230         as we have the buffer widened, to make sure the restriction is
15231         preserved.  (Bug#28161)
15233 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
15235         Fix the 'versionclean' target in src/Makefile
15237         * src/Makefile.in (versionclean): Don't accidentally remove
15238         emacs-module.h.  (Bug#28169)
15240 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
15242         Implement `interrupt-process-functions'
15244         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
15245         `tramp-advice-interrupt-process'.  Adapt according to changed API.
15246         (top): Add it to `interrupt-process-functions'.
15248         * src/process.c (Finternal_default_interrupt_process): New defun.
15249         (Finterrupt_process): Change implementation, based on
15250         Vinterrupt_process_functions.
15251         (Vinterrupt_process_functions): New defvar.
15253         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
15254         test removal of advice.
15256 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
15258         Avoid floating-point exceptions while drawing underwave
15260         * src/w32term.c (x_get_scale_factor):
15261         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
15262         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
15263         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
15265 2017-08-21  Sam Steingold  <sds@gnu.org>
15267         mark flymake-mode as safe local variable when the value is nil
15269 2017-08-21  Sam Steingold  <sds@gnu.org>
15271         allow nil init in flymake-allowed-file-name-masks to disable flymake
15273         (flymake-allowed-file-name-masks): Update doc and :type.
15274         (flymake-get-file-name-mode-and-masks): Handle nil init.
15276 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
15278         Remove the workaround for bug#20719
15280         * lisp/cedet/semantic/symref/grep.el
15281         (semantic-symref-grep-use-template): Remove the workaround for
15282         bug#20719, it's been fixed for a while now.
15284 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
15286         Fix byte-compilation warnings in semantic/symref/grep
15288         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
15289         (grepflags): Rename to semantic-symref-grep-flags.
15290         (semantic-symref-grep-expand-keywords): Update accordingly.
15291         (semantic-symref-grep-use-template): Remove the last two
15292         arguments to make sure they don't shadow the (not renamed)
15293         global variables.
15294         (semantic-symref-perform-search)
15295         (semantic-symref-parse-tool-output-one-line): Use slot names
15296         instead of keywords, like the byte-compiler wants us to.
15298 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
15300         Simplify eldoc-message
15302         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
15303         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
15305 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
15307         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
15309         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
15310         carriage returns into the temporary file when running in unbuffered
15311         mode, the w32 build of python 2.7 chokes on them.
15313 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
15315         Add missing require
15317         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
15319 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
15321         Implement `interrupt-process' for remote processes (Bug#28066)
15323         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
15324         Support sending signals remotely.
15325         (tramp-open-connection-setup-interactive-shell):
15326         Trace "remote-tty" connection property.
15328         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
15329         (top): Add advice to `interrupt-process'.  (Bug#28066)
15331         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
15332         New test.
15333         (tramp-test29-shell-command)
15334         (tramp-test30-environment-variables)
15335         (tramp-test30-environment-variables-and-port-numbers)
15336         (tramp-test31-explicit-shell-file-name)
15337         (tramp-test32-vc-registered)
15338         (tramp-test33-make-auto-save-file-name)
15339         (tramp-test34-make-nearby-temp-file)
15340         (tramp-test35-special-characters)
15341         (tramp-test35-special-characters-with-stat)
15342         (tramp-test35-special-characters-with-perl)
15343         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
15344         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
15345         (tramp-test36-utf8-with-ls)
15346         (tramp-test37-asynchronous-requests)
15347         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
15348         (tramp-test40-unload): Rename.
15349         (tramp-test40-unload): Test also removal of advice.
15351 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
15353         Document Enchant support
15355         * doc/emacs/fixit.texi: Mention Enchant.
15356         * doc/misc/efaq.texi: Likewise.
15357         * etc/NEWS: Add an item on Enchant support.
15359 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
15361         Remove old comments and a redundant FIXME
15363         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
15364         commented code, a redundant FIXME, and outdated usage instructions.
15366 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
15368         Add Enchant support to ispell.el (Bug#17742)
15370         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
15371         (ispell-really-enchant): Add variable.
15372         (ispell-check-version): If using Enchant, check it’s new enough (at
15373         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
15374         without.)
15375         (ispell-enchant-dictionary-alist): Add variable.
15376         (ispell-find-enchant-dictionaries): Add function, based on
15377         ispell-find-aspell-dictionaries.
15378         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
15379         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
15380         old ispell name to locale mapping code for Enchant too.
15381         (ispell-send-replacement): Make it work with Enchant.
15383 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
15385         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
15387 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
15389         Stop printing '4' in .elc files after 'define-symbol-prop' calls
15391         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
15392         Return nil in case we have compiled the form, to prevent a redundant
15393         constant from getting added to the compiled output.
15395 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15397         Change recent symlink tests to just test ASCII
15399         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
15400         Be less ambitious about testing non-ASCII chars and encoding
15401         errors, as there are too many portability issues.
15403 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15405         Don’t adjust CRLF in file names
15407         * doc/misc/gnus.texi (Non-ASCII Group Names):
15408         * etc/NEWS:
15409         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
15410         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
15411         that CRLF in file names is left alone.
15412         * lisp/international/mule-cmds.el (set-default-coding-systems):
15413         Do not alter CRLF in file name coding systems.
15414         (prefer-coding-system): Ignore differences in CRLF processing when
15415         checking whether we used the user-specified file name coding system.
15416         * test/src/fileio-tests.el: New file.
15418 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
15420         Make list-processes support display-line-numbers
15422         * lisp/simple.el (process-menu-mode): Move the call to
15423         tabulated-list-init-header from here...
15424         (list-processes--refresh): ...to here.  (Bug#27895)
15426 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
15428         Improve support of display-line-numbers in package.el
15430         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
15431         the header.  (Bug#27895)
15432         * lisp/emacs-lisp/tabulated-list.el
15433         (tabulated-list-line-number-width): Fix the case when
15434         display-line-numbers is nil.
15436 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
15438         Improve support of display-line-numbers in tabulated-list-mode
15440         * lisp/emacs-lisp/tabulated-list.el
15441         (tabulated-list-line-number-width): New function.
15442         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
15443         (Bug#27895)
15445 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
15447         Fix one more issue reported by Alex (Bug#27999)
15449         * doc/lispref/windows.texi (Preserving Window Sizes)
15450         (Window Parameters): Use the term `window-preserved-size'
15451         instead of `preserved-size' (Bug#27999).
15453 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
15455         Rename `no-delete-other-window' to `no-delete-other-windows'
15457 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
15459         Fix two side window problems noted by Alex (Bug#27999)
15461         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
15462         typo.
15463         (delete-other-windows): Rename the `no-delete-other-window'
15464         parameter to `no-delete-other-windows' (see the discussion in
15465         Bug#27999 for the rationale of this change).
15466         * doc/lispref/windows.texi (Deleting Windows)
15467         (Frame Layouts with Side Windows, Window Parameters): Rename
15468         `no-delete-other-window' to `no-delete-other-windows'.
15470 2017-08-19  Alex Schroeder  <alex@gnu.org>
15472         Use define-minor-mode for rcirc-omit-mode
15474 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15476         Clarify behavior of symlinks and directories
15478         * doc/lispref/files.texi (Saving Buffers): Document how functions
15479         like rename-file work with symlinks and directories.  This patch
15480         attempts to document the current behavior better, in preparation
15481         for possibly changing it.  See Bug#27986.
15483 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15485         Fix recently-introduced file descriptor leak
15487         * src/fileio.c (Fmake_temp_file_internal):
15488         Don’t leak a file descriptor if write_region signals an error.
15490 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15492         Improve make-temp-file performance on local files
15494         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
15495         the work of inserting the text.
15496         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
15497         All callers changed.
15499 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
15501         Don't lose arguments to eshell aliases (Bug#27954)
15503         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
15505 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
15507         * lisp/files.el (make-temp-file): Fix directory use case.
15509 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
15511         Fix and document make-temp-file optional text parameter
15513         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
15514         (files--make-magic-temp-file): Support optional TEXT parameter.
15515         * etc/NEWS: Document it.
15516         * doc/lispref/files.texi: Document it.
15517         * test/lisp/auth-source-tests.el: Minor reformat.
15519 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
15521         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
15523         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
15525 2017-08-19  João Távora  <joaotavora@gmail.com>
15527         Fix default value of electric-pair-pairs and electric-pair-text-pairs
15529         (Bug#24901)
15531         A previous change, titled "Add support for curly quotation marks to
15532         electric-pair-mode", attempted to add these characters to the default
15533         value of these variables.  But it did so in a quoted list, preventing
15534         evaluation of the relevant expressions and resulting in an invalid
15535         format.
15537         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
15538         Use backquote and comma.
15540 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
15542         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
15544         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
15545         explicitly in the interactive case.
15547 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
15549         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
15551 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
15553         Add auth-source tests and codify its API better
15555         The auth-source behavior was unclear in some API use cases, so these
15556         extra tests codify and test it. For details see
15557         https://github.com/DamienCassou/auth-password-store/issues/29
15559         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
15560         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
15561           auth-source tests and simplify them with the new `make-temp-file'.
15563 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
15565         Don't call the same hook twice due to obsolete aliases
15567         * lisp/international/robin.el (robin-activate):
15568         * lisp/international/quail.el (quail-activate):
15569         * lisp/international/mule-cmds.el (deactivate-input-method):
15570         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
15571         Don't call the same hook twice, when the obsolete and the
15572         advertised symbols are aliased.  (Bug#28118)
15574 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
15576         A new face for show-paren in expression mode
15578         * lisp/faces.el (show-paren-match-expression): Define the new face.
15579         * lisp/paren.el (show-paren-function): Apply the different face
15580         when in expression mode.  (Bug#28047)
15582 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
15584         Non-ASCII support for man page section and header names
15586         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
15587         (Man-heading-regexp): Replace ASCII character classes by
15588         equivalent classes that allow non-ASCII characters.  Suggested by
15589         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
15591 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
15593         Implement HiDPI support for underwave on MS-Windows
15595         * src/w32term.c (x_get_scale_factor): New function.
15596         (w32_draw_underwave): Use it.
15597         * src/xterm.c (x_draw_underwave): Offset the wave starting point
15598         to make it identical with original code.
15600 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
15602         Support HiDPI displays for wave style underlines
15604         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
15605         based on scale factor.
15606         (x_get_scale_factor): New function.
15608 2017-08-18  Bastien  <bzg@gnu.org>
15610         Delete library-of-babel.org
15612         * etc/org/library-of-babel.org: Delete file.
15614 2017-08-18  Glenn Morris  <rgm@gnu.org>
15616         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
15618 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
15620         Remove custom version parsing from epg-config.el (Bug#27963)
15622         * lisp/epg-config.el (epg-config--compare-version)
15623         (epg-config--parse-version): Remove.
15624         (epg-check-configuration): Use `version<=' instead.
15626 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
15628         Treat control characters in JSON strings as invalid
15630         * lisp/json.el (json-peek): Reduce to following-char.
15631         (json-pop, json-read): Zero (null char) means end of file.
15632         (json-read-escaped-char): Delimit URL properly.
15633         (json-read-string): Signal error for ASCII control characters.
15634         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
15635         :json-eof symbol.
15636         (test-json-read-string): New test for control characters in JSON
15637         strings.
15639 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
15641         Support Posix semantics of 'rename' on MS-Windows
15643         * src/w32.c (sys_rename_replace): Support Posix semantics of
15644         'rename': return an error if OLD is a directory while NEW is not,
15645         or vice versa.
15647 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
15649         * src/w32.c (sys_rename_replace): Support renaming a directory.
15651 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
15653         Fix the MS-Windows build
15655         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
15656         'open'.
15658         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
15660 2017-08-17  João Távora  <joaotavora@gmail.com>
15662         Add flymake-backends defcustom
15664         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
15665         Rename from flymake-can-syntax-check-file.  Suitable for adding to
15666         flymake-backends.
15667         (flymake-proc-start-syntax-check): Rename from
15668         flymake-start-syntax-check.  Don't check again if buffer can be
15669         checked.
15670         (add-to-list flymake-backends): Hook only flymake-ui.el
15672         * lisp/progmodes/flymake-ui.el (flymake-backends): New
15673         defcustom.
15674         (flymake-on-timer-event, flymake-after-change-function)
15675         (flymake-after-save-hook, flymake-find-file-hook): Call new
15676         flymake--start-syntax-check-buffer and
15677         flymake--can-syntax-check-buffer.
15678         (flymake-mode): Call flymake--can-syntax-check-buffer and set
15679         flymake-backend.
15680         (flymake--backend): New buffer-local variable.
15682 2017-08-17  João Távora  <joaotavora@gmail.com>
15684         Split flymake.el into flymake-proc.el and flymake-ui.el
15686         flymake.el is now a stub that requires both files.
15688         * lisp/progmodes/flymake-proc.el: New file.
15690         * lisp/progmodes/flymake-ui.el: New file.
15692         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
15693           flymake-proc.el.  Require both files.
15695 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
15697         Set `default-directory' for watchdog in tramp-test.el
15699         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
15700         Set `default-directory' for watchdog.
15702 2017-08-17  Andreas Schwab  <schwab@suse.de>
15704         * lisp/term/konsole.el: New file.
15706 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
15708         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
15710         (woman2-RS): Use plain `push' instead of `woman-push'.
15711         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
15713 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15715         Merge from Gnulib; use ‘open’ for O_CLOEXEC
15717         This incorporates:
15718         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
15719         2017-08-15 extensions: enable NetBSD specific extensions
15720         2017-08-14 open: support O_CLOEXEC
15721         2017-08-13 reallocarray: new module
15722         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
15723         it now supports O_CLOEXEC and this simplifies Emacs.
15724         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
15725         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
15726         Copy from Gnulib.
15727         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
15728         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
15729         New files, copied from Gnulib.
15730         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15731         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
15732         Remove, as Gnulib does this for us.
15733         * src/filelock.c (create_lock_file):
15734         * src/sysdep.c (emacs_open, emacs_pipe):
15735         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
15737 2017-08-16  Alan Third  <alan@idiocy.org>
15738             Charles A. Roelli  <charles@aurox.ch>
15740         Allow use of run-time OS version checks on macOS (bug#27810)
15742         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
15743         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
15744         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
15745         defines.
15746         (NSWindowStyleMaskFullScreen,
15747         NSWindowCollectionBehaviorFullScreenPrimary,
15748         NSApplicationPresentationFullScreen,
15749         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
15750         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
15751         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
15752         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
15753         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
15754         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
15755         Allow use of run-time checks and replace version check macros.
15756         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
15757         * src/macfont.m (macfont_draw): Use run-time OS version checks.
15758         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
15760 2017-08-16  Alan Third  <alan@idiocy.org>
15762         Add multiframe image support to NS port (bug#21714)
15764         * src/nsimage.m (ns_load_image): Handle multiple frames.
15765         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
15766         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
15767         function prototypes.
15769 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
15771         files-tests.el: Remove unused lexical variable
15773         * test/lisp/files-tests.el (file-test--do-local-variables-test);
15774         Remove unused var 'files-test-queried'.
15776 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
15778         * doc/emacs/files.texi (Copying and Naming): Mention
15780         restrictions to add-name-to-file and make-symbolic-link on
15781         remote systems.
15783 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
15785         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
15787 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
15789         Add tests for previous commit
15791         * test/lisp/progmodes/elisp-mode-tests.el
15792         (elisp-mode-tests--face-propertized-string): New function.
15793         (elisp--highlight-function-argument-indexed)
15794         (elisp--highlight-function-argument-keyed-1)
15795         (elisp--highlight-function-argument-keyed-2): New tests.
15797 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
15799         Fix eldoc highlighting for &key args (Bug#27272)
15801         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
15802         Only switch to keyword-based searching if INDEX point beyond `&key' in
15803         the argument list.  All arguments prior to the `&key' are position
15804         based.  Additionally, be more strict about what is a keyword when
15805         searching for the current keyword.
15807 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15809         Do not assume regular Git .git/hooks dir
15811         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
15812         Problem reported by Ted Zlatanov in:
15813         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
15814         * autogen.sh (git_sample_hook_src): New function.  Use it to work
15815         even if .git/hooks or its samples do not exist.
15817 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15819         New manual section "Copying and Naming"
15821         * doc/emacs/files.texi (Copying and Naming):
15822         New section, split off from Misc File Ops and containing the
15823         operations that copy, name or rename files.  This fixes some
15824         confusion caused by the incorrect phrase "The same rule applies
15825         to all the remaining commands in this section" in the old manual.
15826         This change does not affect the confusion about directories (see
15827         Bug#27986 for ongoing discussion).
15829 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
15831         Fix the MS-Windows build
15833         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
15834         ENOSYS.  (Bug#28097)  (Bug#27986)
15836 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
15838         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
15840         * .gitlab-ci.yml: add Git to the installed packages.
15842 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
15844         Support indentation of detached Less CSS rulesets
15846         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
15847         for indentation of detached rulesets passed to Less mixins.
15849         * test/manual/indent/less-css-mode.less: New file.
15851 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
15853         Fixes and tweaks for the new Less CSS mode
15855         * etc/NEWS: Add an entry for the new mode.
15857         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
15858         (less-css-lessc-command): Tweak docstring. Don't mark it as
15859         safe. Don't autoload.
15860         (less-css-compile-at-save, less-css-lessc-options)
15861         (less-css-output-directory): Tweak docstrings. Don't autoload.
15862         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
15863         (less-css-input-file-name): Tweak docstring. Don't autoload.
15864         (less-css-compile-maybe): Use `when' for one-armed `if'.
15865         (less-css--output-path): Tweak docstring.
15866         (less-css--maybe-shell-quote-command): Remove function.
15867         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
15868         compiler warning. Use `string-join' instead of `mapconcat'.
15869         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
15870         variables.
15871         (less-css-mode-syntax-table, less-css-mode-map): New variables.
15872         (less-css-mode): Change status line mode name from "LESS" to
15873         "Less". Tweak docstring. Move syntax table definitions to
15874         `less-css-mode-syntax-table'.
15875         (less-css-indent-line): Remove function.
15877 2017-08-15  Steve Purcell  <steve@sanityinc.com>
15879         New major mode: Less CSS mode
15881         * lisp/textmodes/less-css-mode.el: New file.
15883 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
15885         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
15887         * lisp/arc-mode.el (archive-int-to-mode):
15888         Swap order of 2048 and 1024 tests (Bug#28092).
15889         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
15890         Update test.
15892 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15894         Improve rename-file port to macOS
15896         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
15897         fail with errno == ENOTSUP on file systems where it is not
15898         supported, according to the Apple documentation.
15900 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
15902         Speed up ./configure with more caching (Bug#27960)
15904         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
15905         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
15906         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
15907         characters', and 'Windows API header' checks.  Remove pause after
15908         warning about GTK bug.
15910 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15912         Improve rename-file behavior on macOS
15914         Problem reported by Philipp Stephani (Bug#27986).
15915         * src/fileio.c (Frename_file):
15916         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
15917         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
15918         since this provides the necessary atomicity guarantees.
15920 2017-08-14  Glenn Morris  <rgm@gnu.org>
15922         Clean up temp files after some tests
15924         * test/lisp/emacs-lisp/bytecomp-tests.el
15925         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
15926         * test/lisp/progmodes/etags-tests.el
15927         (etags-buffer-local-tags-table-list): Delete temp file at end.
15929 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
15931         Implement renameat_noreplace for MS-Windows
15933         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
15934         emulation for MS-Windows.  (Bug#27986)
15936 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
15938         Fix 'rename' on MS-Windows
15940         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
15941         the primitive rename errors out with EEXIST.
15943 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
15945         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
15947 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
15949         Tiny JSON performance improvement
15951         Get rid of some needless uses of apply.  Measuring with
15952           (benchmark-run 10 (json-read-file "test.json"))
15953         showed 1.5-2.5% reduction of execution time.
15954         * lisp/json.el (json-peek): Nix let-binding.
15955         (json-read-string): Use concat for making a string from chars.
15956         (json-read-array): Use cond and more appropriate conversion instead
15957         of blindly applying.
15959 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
15961         Be consistent in spelling 'ok-if-already-exists'.
15963 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
15965         Use 'header-line-highlight' face in proced and erc
15967         * lisp/erc/erc-list.el (erc-list-button):
15968         * lisp/proced.el (proced-format): Use the 'header-line-highlight
15969         face.  (Bug#28033)
15971 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
15973         Remove feeds with dead uris from newsticker--raw-url-list-defaults
15975         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
15976           Remove feeds with dead uris.
15978 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
15980         Fix vertical cursor motion when cursor is on the fringe
15982         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
15983         setting temporary-goal-column when newline overflows into the
15984         fringe.  Support that use case in R2L paragraphs as well.
15986 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
15988         Fix vertical cursor motion across too wide images
15990         * src/indent.c (Fvertical_motion): If lines are truncated and we
15991         end up beyond the right margin of the window, don't assume we are
15992         in the next screen line, unless VPOS actually says so.  (Bug#28071)
15994 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
15996         Add test suites for arc-mode and tar-mode
15998         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
15999         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
16000         New tests.
16002 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
16004         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
16006 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
16008         Fix uri of Emacs Wiki
16010         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
16011           uri of Emacs Wiki.  (Bug#27981)
16013 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
16015         Fix make-temp-file bug with ""/"."/".." prefix
16017         The bug with "." and ".." has been present for a while; I
16018         introduced the bug with "" earlier today in my patch for Bug#28023.
16019         * lisp/files.el (make-temp-file): Do not use expand-file-name if
16020         PREFIX is empty or "." or "..", as it does the wrong thing.
16021         Compute absolute-prefix here ...
16022         (files--make-magic-temp-file): ... instead of here ...
16023         * src/fileio.c (Fmake_temp_file_internal): ... or here.
16025         * lisp/files.el (make-temp-file): If the prefix is empty, append
16026         "/" to the absolute prefix so that the new files are children
16027         rather than siblings of temporary-file-directory.  This fixes a
16028         bug introduced in the previous change.
16029         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
16030         New test, for the bug.
16032 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
16034         Improve make-temp-file performance on local files
16036         For the motivation behind this patch, please see Bug#28023 and:
16037         http://emacshorrors.com/posts/make-temp-name.html
16038         Although, given the recent changes to Tramp, the related security
16039         problem in make-temp-file is already fixed, make-temp-file still has
16040         several unnecessary system calls.  In the typical case on GNU/Linux,
16041         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
16042         getpid, unlink, umask) by 2 (open, close).
16043         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
16044         that Emacs is using it directly.
16045         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
16046         no longer needed.
16047         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16048         * lisp/files.el (files--make-magic-temp-file): Rename from
16049         make-temp-file.
16050         (make-temp-file): Use make-temp-file-internal for
16051         non-magic file names.
16052         * src/fileio.c: Include tempname.h.
16053         (make_temp_name_tbl, make_temp_name_count)
16054         (make_temp_name_count_initialized_p, make_temp_name): Remove.
16055         (Fmake_temp_file_internal): New function.
16056         (Fmake_temp_name): Use it.
16057         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
16058         instead of make_temp_name.
16060 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16062         Document internal-use naming conventions
16064         * doc/lispref/functions.texi (Function Names):
16065         * doc/lispref/variables.texi (Tips for Defining):
16066         Document naming conventions for internal-use functions and vars.
16067         See Bug#28023#59.
16069 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16071         Simplify re and document 'autoconf.sh all'
16073         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
16074         ./autogen.sh defaults to "all".  All uses removed.
16075         * README: Mention autoconf.sh's effect on Git configuration.
16077 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16079         Default autogen.sh to 'all'
16081         This addresses a problem noted by RMS in:
16082         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
16083         * autogen.sh (do_git): Set to true if this script is invoked
16084         with no arguments and there is a .git subdirectory.
16086 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16088         Adjust jka-compr to recent Tramp changes.
16090         * lisp/jka-compr.el (jka-compr-write-region):
16091         Two new args LOCKNAME and MUSTBENEW.
16093 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
16095         Improve doc strings of 2 functions in simple.el
16097         * lisp/simple.el (beginning-of-visual-line)
16098         (move-beginning-of-line): Doc fix.  Reported by
16099         Justin Burkett <justin@burkett.cc>.
16101 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
16103         Fix completion on directory names on MS-DOS/MS-Windows
16105         * src/msdos.c (faccessat):
16106         * src/w32.c (faccessat): Support relative file names, and add D_OK
16107         to 'mode' if the argument is a directory.  This unbreaks file-name
16108         completion when the completion result is a directory.
16110 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
16112         Implement EXCL of write-region for Tramp
16114         * lisp/net/ange-ftp.el (ange-ftp-write-region):
16115         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
16116         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
16117         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
16118         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
16119         Implement MUSTBENEW.
16121         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
16122         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
16123         (tramp-sh-handle-add-name-to-file)
16124         (tramp-do-copy-or-rename-file)
16125         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
16126         Adapt error message for `file-already-exists'.
16128         * src/lisp.h:
16129         * src/eval.c (call8): New function.
16131         * src/fileio.c (write_region): Pass also lockname and
16132         mustbenew to the file name handler.
16134         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
16135         Add tests for MUSTBENEW.
16137 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
16139         Adapt Proced display to display-line-numbers
16141         * lisp/proced.el (proced-header-line): Account for the width taken
16142         by display-line-numbers.  (Bug#27895)
16144 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
16146         Adapt tabulated list when display-line-number is turned on
16148         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
16149         a hook to revert the display when display-line-numbers is turned
16150         on.  (Bug#27895)
16152 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
16154         Use Gnulib 'tempname' on MS-Windows
16156         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
16157         now in nt/inc/ms-w32.h.
16158         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
16159         (mkostemp): Remove.
16161         * src/w32.c (mkostemp): Remove.
16162         (sys_mkdir): Accept a second (unused) argument.
16163         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
16164         specific call to mkdir.  (Bug#28023)
16166         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
16167         to accept 2 arguments.
16168         (open): Remove from "#ifdef emacs".
16169         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
16170         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
16171         (OMIT_GNULIB_MODULE_tempname): Remove.
16173 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
16175         Add new face 'header-line-highlight'
16177         * lisp/faces.el: Define the face.
16178         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
16179         * lisp/info.el (Info-fontify-node): Use the new face.
16180         * doc/emacs/display.texi (Standard Faces):
16181         * etc/NEWS: Document the new face.  (Bug#28033)
16183 2017-08-12  Arash Esbati  <arash@gnu.org>
16185         Make a case-sensitive match for strings
16187         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
16188         let-bind `case-fold-search' to nil in order to be case-sensitive
16189         when matching a string.  (Bug#27518)
16191 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
16193         Fix a minor todo-mode regression
16195         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
16196         save-excursion.  This fixes a regression introduced by the fix
16197         for bug#27609, whereby trying to raise the priority of the
16198         first item or lower the priority of the last item, which
16199         should be noops, moves point to the item's start.  Clarify
16200         comment.
16202         * test/lisp/calendar/todo-mode-tests.el
16203         (todo-test-raise-lower-priority): Add test cases for trying to
16204         raise first item and lower last item.
16205         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
16206         (todo-test-toggle-item-header02): Remove ":expected-result
16207         :failed" and tests of point after todo-next-item, since the
16208         effect when using Todo mode is not reproducible in the test
16209         environment.  Add commentary about this.
16211 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16213         Improve performance for rename-file etc.
16215         Although this does not fix Bug#27986, it is a step forward.
16216         I plan to propose a more-significant patch later.
16217         * lisp/files.el (directory-name-p): Move from here ...
16218         * src/fileio.c (Fdirectory_name_p): ... to here.
16219         (directory_like, cp_like_target): New static functions.
16220         (Fcopy_file, Frename_file, Fadd_name_to_file)
16221         (Fmake_symbolic_link):
16222         Use them, to avoid directory-testing syscalls on file names that
16223         must be directories if they exist.  Omit unnecessary
16224         initializations and CHECK_STRING calls.
16225         (Frename_file): Don't call file_name_case_insensitive_p
16226         twice on the same file.  Compare both file names expanded, instead
16227         of the old name expanded and the new one unexpanded.
16229 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
16231         Respect buffer-local value of tags-table-list (Bug#27772)
16233         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
16234         buffer around the `tags-table-including' calls so as to get buffer
16235         local variables from the right buffer later.
16236         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
16237         New test.
16238         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
16239         constant.
16240         (etags-bug-158, etags-bug-23164): Use it so that when running the test
16241         interactively, setting EMACS_TEST_DIRECTORY is not needed.
16243 2017-08-10  Tom Tromey  <tom@tromey.com>
16245         Fix auto-filling regression
16247         Bug#28003
16248         * lisp/newcomment.el (comment-indent-new-line): Check
16249         comment-auto-fill-only-comments.  Reverts earlier change.
16250         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
16251         do-auto-fill.
16253 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16255         Merge from gnulib
16257         This incorporates:
16258         2017-08-09 tempname: do not depend on secure_getenv
16259         2017-08-08 extensions: add _OPENBSD_SOURCE
16260         2017-08-06 manywarnings: Add support for C++
16261         2017-08-06 warnings, manywarnings: Add support for multiple languages
16262         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
16263         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
16264         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
16265         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
16266         Copy from gnulib.
16268 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
16270         Fix crashing emacs-module tests on MS-Windows
16272         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
16273         variable.
16274         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
16275         away, without displaying the Abort dialog, which waits for the user.
16277         * test/src/emacs-module-tests.el (module--test-assertion): Run the
16278         inferior Emacs with the w32 abort dialog disabled.  Expect the
16279         status of the aborted Emacs sub-process to be 3 on MS-Windows and
16280         2 on MS-DOS.
16282 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
16284         dired-delete-file:  Dont't ask for empty dirs
16286         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
16287         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
16289         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
16290         New auxiliar macro.
16291         (dired-test-bug27940): Add new test.
16293 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
16295         Ask files for deletion in buffer order: top first, botton later
16297         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
16298         Call `nreverse' t invert the output of `dired-map-over-marks'.
16300 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
16302         Use help-mode xrefs in describe-font
16304         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
16305         (Bug#27890).
16307 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
16309         Don't try to jump to non-existent part (bug#28013)
16311         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
16312         the next part if there is the only one part in the article (bug#28013).
16314 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
16316         Replace some uses of eval
16318         There are a number of places where eval is used unnecessarily to get
16319         or set the value of a symbol.
16320         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
16321         custom setter.
16322         * lisp/desktop.el (desktop-clear): Use set-default instead.
16323         * lisp/international/ogonek.el (ogonek-read-encoding): Use
16324         symbol-value.
16326 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
16328         Convert uses of looking-at in viper-ex to following-char
16330         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
16331         (following-char) and use it in the subsequent cond's clauses.
16332         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
16333         Convert single branch ifs to when
16335 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
16337         Some cleanup in message.el
16339         * lisp/gnus/message.el (message-cross-post-insert-note):
16340         (message-strip-forbidden-properties): Mark unused args.
16341         (message-canlock-generate): Remove extinct variable
16342         sha1-maximum-internal-length.
16343         (message-make-mail-followup-to): Use loop's thereis clause.
16345 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
16347         Document make-temp-name magic limitations
16349         * doc/lispref/files.texi (Unique File Names):
16350         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
16351         does not guarantee uniqueness on magic file names.
16353 2017-08-08  Tom Tromey  <tom@tromey.com>
16355         Show number of errors in compilation-mode mode-line
16357         Bug#25354
16358         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
16359         default value.
16360         (compilation-num-warnings-found, compilation-num-infos-found): New
16361         defvars.
16362         (compilation-mode-line-errors): New defconst.
16363         (compilation-face): Remove.
16364         (compilation-type, compilation--note-type): New functions.
16365         (compilation-parse-errors): Call compilation--note-type.
16366         (compilation-start): Include compilation-mode-line-errors in
16367         mode-line-process.
16368         (compilation-setup): Initialize compilation-num-* variables to 0.
16369         (compilation-handle-exit): Include compilation-mode-line-errors in
16370         mode-line-process.
16371         * doc/emacs/building.texi (Compilation): Document new feature.
16373 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
16375         Do some cleanup in mailcap.el
16377         * lisp/net/mailcap.el: Use lexical-binding.
16378         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
16379         destructuring.
16380         (mailcap-mime-data): Remove some entries for ancient functions.
16381         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
16382         (mailcap-parse-mimetype-file): Just use append.
16383         (mailcap-command-p): Remove unused function.
16385 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
16387         query-replace: Undo replacements performed with 'comma
16389         During a `query-replace', the char ',' replaces the character
16390         at point and doesn't move point;  right after, the char 'u'
16391         must undo such replacement (Bug#27268).
16392         * lisp/replace.el (replace--push-stack):
16393         New macro extracted from `perform-replace'.
16394         (perform-replace): Use it.
16395         * test/lisp/replace-tests.el (query-replace--undo): Add test.
16397 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
16399         Don't define gv expanders in compiler's runtime (Bug#27016)
16401         This prevents definitions being compiled from leaking into the current
16402         Emacs doing the compilation.
16403         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
16404         of `put' with `eval-and-compile'.
16405         * test/lisp/emacs-lisp/gv-tests.el: New tests.
16407 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
16409         Let the cl-typep effects of defclass work during compilation (Bug#27718)
16411         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
16412         instead of `put'.
16413         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
16414         (eieio-tests--dummy-function): Remove.
16415         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
16416         expect to fail if compiled.
16418 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
16419             Noam Postavsky  <npostavs@gmail.com>
16421         Let `define-symbol-prop' take effect during compilation
16423         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
16424         (Fget): Consult it.
16425         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
16426         it to nil.
16427         (byte-compile-define-symbol-prop): New function, handles compilation
16428         of top-level `define-symbol-prop' and `function-put' calls by putting
16429         the symbol setting into `overriding-plist-environment'.
16431 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
16433         Add a test of handling of circular values to testcover-tests
16435         * test/lisp/emacs-lisp-testcover-resources/testcases.el
16436         (testcover-testcase-cyc1): New function.
16437         (testcover-tests-circular-lists-bug-24402): New test.
16439 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
16441         Don't error on circular values in testcover
16443         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
16444         Consider circular lists to be non-equal instead of signaling error.
16446 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
16448         Catch argument and macroexpansion errors in ert
16450         This kludge catches errors caused by evaluating arguments in ert's
16451         should, should-not, and should-error macros; it also catches
16452         macroexpansion errors inside of the above macros (Bug#24402).
16454         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
16455         (ert--expand-should-1): Catch macroexpansion errors.
16456         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
16457         (ert-test-should-error-macroexpansion): Tests for argument and
16458         expansion errors.
16460 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
16462         Revert "Add Enchant support to ispell.el (Bug#17742)"
16464         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
16466 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
16468         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
16470         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
16472 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
16474         Add support for arguments in ALTERNATE_EDITOR to emacsclient
16476         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
16477         corresponding command-line argument, into space-separated tokens.
16478         * etc/NEWS: Document.
16479         * test/lib-src/emacsclient-tests.el: Add a test.
16481 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
16483         Add Enchant support to ispell.el (Bug#17742)
16485         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
16486         (ispell-really-enchant): Add variable.
16487         (ispell-check-version): If using Enchant, check it’s new enough (at
16488         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
16489         without.)
16490         (ispell-enchant-dictionary-alist): Add variable.
16491         (ispell-find-enchant-dictionaries): Add function, based on
16492         ispell-find-aspell-dictionaries.
16493         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
16494         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
16495         old ispell name to locale mapping code for Enchant too.
16496         (ispell-send-replacement): Make it work with Enchant.
16498 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
16500         Allow async command output buffer to be shown only on output
16502         * lisp/simple.el (async-shell-command-display-buffer): Add
16503         defcustom.
16504         (shell-command): Use the new defcustom to determine whether to show
16505         the buffer immediately, or add a process filter that shows it only
16506         when there is some output.
16507         * etc/NEWS: Document the new variable.
16508         * doc/emacs/misc.texi: Likewise.
16510         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
16512 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
16514         Fix infinite recursion under prettify-symbols-mode and linum-mode
16516         * src/xdisp.c (get_overlay_strings_1)
16517         (handle_single_display_spec, push_prefix_prop): Invalidate the
16518         composition information before starting to iterate on a string.
16519         Otherwise we might think in set_iterator_to_next that we are
16520         delivering characters from a composition, and do all kinds of
16521         nonsensical things, like over-step the string end.  (Bug#27761)
16523 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
16525         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
16527 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
16529         Fix doc-string of `delete-other-windows'
16531         * lisp/window.el (delete-other-windows): Fix doc-string.
16533 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
16535         Fix a couple more make-temp-file races
16537         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
16538         Use make-temp-name, not make-temp-file with retry.
16539         (basic-save-buffer-2): Use condition-case, instead of
16540         unwind-protect with a success flag.
16542 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
16544         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
16546         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
16547         characters following filename in grep context lines.
16548         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
16549         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
16550         (grep-regexp-alist): Recombine their contents here.
16551         (grep-mode):
16552         * lisp/cedet/semantic/symref/grep.el
16553         (semantic-symref-parse-tool-output-one-line):
16554         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
16555         `grep-regexp-alist' rather than the function.
16557 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
16559         Fix some crashes on self-modifying Elisp code
16561         Prompted by a problem report by Alex in:
16562         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
16563         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
16564         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
16565         it is likely to run a bit faster with typical hardware caches.
16566         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
16567         self-modifying S-expressions.
16568         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
16569         instead of trusting an Flength prepass, to avoid problems when the
16570         code is self-modifying.
16571         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
16572         where either will do.  This is mostly to document the fact that
16573         the value must be a proper list.  It's also a tiny bit faster on
16574         typical machines nowadays.
16575         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
16576         (eval_sub): Check that the args are a list as opposed to some
16577         other object that has a length. This prevents e.g. (if . "string")
16578         from making Emacs dump core in some cases.
16579         * test/src/eval-tests.el (eval-tests--if-dot-string)
16580         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
16581         New tests.
16583 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
16585         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
16587 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
16589         Minor tweak in a dired test
16591         * test/lisp/dired-tests.el (dired-test-bug27968):
16592         Ensure the new header has different length than the original one.
16594 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
16596         dired-delete-file: Do not TAB complete the user answer
16598         This action might delete directories containing valuable information.
16599         Before previous commit, we prompted users with `yes-or-no-p'
16600         which doesn't TAB complete the user answer.  Let's play safe and
16601         keep requiring full answers.
16602         * lisp/dired.el (dired-delete-file): Use `read-string'
16603         instead of `completing-read' to read the user answers.
16605 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
16607         dired-do-delete: Allow to delete dirs recursively without prompts
16609         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
16610         'all', to delete all directories recursively and no prompt anymore.
16611         'quit', to cancel directory deletions (Bug#27940).
16612         Show help message when user inputs 'help'.
16613         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
16614         so that we can overwrite its global value.
16615         Wrapp the loop within a catch '--delete-cancel to catch when
16616         the user abort the directtry deletion.
16617         * doc/emacs/dired.texi (Dired Deletion): Update manual.
16618         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
16619         Announce this change.
16621 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16623         Fix a couple of make-temp-file races
16625         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
16626         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
16627         Use make-temp-file, not make-temp-name, to avoid an unlikely race
16628         that could lose data.  Remove the deletion hook as quickly as
16629         possible after the file is renamed; though a race still remains
16630         here, it is smaller than before.
16632 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
16634         Dired w/ eshell-ls: Handle shell wildcards in file name
16636         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
16637         Use eshell-extended-glob (Bug#27844).
16638         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
16640 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
16642         dired-revert: save line numbers instead of positions
16644         Positions might change if the length of one dired header line
16645         changes; this happen, for instance, if we add new files.
16646         Instead, line numbers are invariant under shrinks/enlargements
16647         of the file header.
16648         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
16649         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
16650         (dired-restore-positions): Use forward-line to restore the original
16651         position (Bug#27968).
16652         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
16654 2017-08-06  Tom Tromey  <tom@tromey.com>
16656         Respect comment-auto-fill-only-comments
16658         Respect comment-auto-fill-only-comments when auto-filling and a
16659         comment syntax is defined.
16661         * lisp/newcomment.el (comment-indent-new-line): Do not check
16662         comment-auto-fill-only-comments.
16663         * lisp/simple.el (internal-auto-fill): New defun.
16664         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
16665         auto_fill_function.
16666         (syms_of_cmds): Define Qinternal_auto_fill.
16668 2017-08-05  Richard Stallman  <rms@gnu.org>
16670         * etc/tutorials/TUTORIAL: Update.
16672 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16674         Unify CNS11643-15 in a way that avoids segfaults
16676         * lisp/international/mule-conf.el: Redo unification of
16677         cns11643-15.  (Bug#27964)
16678         (chinese-cns11643-15): Add the missing :unify-map attribute.
16680 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16682         Avoid segfaults while producing Punct.el
16684         * lisp/international/mule-conf.el: Undo unification of
16685         cns11643-15, as that causes segfaults during bootstrap.
16686         (Bug#27964)
16688 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16690         Make header line in some modes be sensitive to display-line-numbers
16692         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
16693         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
16694         (tabulated-list-print-entry): Account for the width taken by
16695         line-number display.  (Bug#27895)
16697 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16699         Fix a bug in 'generate-new-buffer-name'
16701         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
16702         nil before calling string-equal, since the latter will compare
16703         "nil and 'nil' as equal.  (Bug#27966)
16705         * test/src/buffer-tests.el
16706         (test-generate-new-buffer-name-bug27966): New test.
16708 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16710         Unify CNS11643-15
16712         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
16713         unify-charset form for it.  (Bug#27964)
16715 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16717         Improve test of error message when Emacs cannot be suspended
16719         * lisp/term/x-win.el (x-win-suspend-error):
16720         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
16721         message.  (Bug#27901)
16723 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
16725         Make "C-h o" show faces as well as variables
16727         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
16728         the placement of variables/faces in describe-symbol, to put more
16729         emphasis on the variable entry rather than the face.  (Bug#24543)
16731 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16733         Fix files-tests.el for MS-Windows
16735         * test/lisp/files-tests.el
16736         (files-tests--file-name-non-special--subprocess): Fix this test
16737         for MS-Windows.
16739 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
16741         Improve documentation of 'region-extract-function'
16743         * lisp/simple.el (region-extract-function): Rename the argument to
16744         METHOD.  Doc fix.  (Bug#27927)
16746 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16748         Merge from gnulib
16750         This incorporates:
16751         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
16752         2017-08-01 manywarnings: port to 32-bit GCC bug
16753         * lib/gnulib.mk.in: Regenerate.
16754         * m4/manywarnings.m4: Copy from gnulib.
16756 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16758         Port recent rename changes to Ubuntu 14.04
16760         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
16761         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
16763 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
16765         insert-directory-wildcard-in-dir-p: Tweak regexp
16767         This function must return non-nil for a wildcard like '/*/*.txt'.
16768         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
16769         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
16770         Add test.
16772 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
16774         Implement iterator generator for avl-trees.
16776         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
16778 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
16780         ls-lisp: Drop eshell dependencies
16782         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
16783         expand the wildcards.
16784         Suggested by Fabrice Popineau in:
16785         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
16786         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
16788 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
16790         Fix dired-test-bug27631 on MS-Windows
16792         Skip the test if Dired use 'ls' emulation with lisp.  The same
16793         bug is tested in their respective test suites: ls-lisp-tests.el
16794         and em-ls-tests.el.
16795         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
16796         or 'eshell' features are enabled.
16798 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
16800         Fix dired-test-bug25609 on MS-Windows
16802         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
16803         pass temporary files through file-truename, to avoid bogus
16804         failures due to file-name comparison as strings.
16806 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
16808         Fix 2 tests that fail in MS-Windows
16810         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
16811         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
16812         Add comments to explain the test logic.
16813         Pass '--binary' option to 'patch' program in windows environments.
16814         Check explicitly that a backup is created before compare file contents.
16816         * test/lisp/dired-tests.el (dired-test-bug25609):
16817         Declare variable 'dired-dwim-target' right before the test.
16818         Add comments to explain the test logic.
16819         Ensure, before test the bug condition, that we are displaying the
16820         2 dired buffers created in this test, and no other dired buffer
16821         is shown.
16823 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
16825         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
16827         * lisp/files.el (insert-directory): Don't hardcode "-c".
16828         * lisp/term.el (term, ansi-term): Use shell-file-name.
16830 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
16832         Fix version numbers for some GnuTLS features
16834         Problem reported by Glenn Morris (Bug#27708#58).
16835         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
16836         New macro.  Use it instead of low-level version number checks.
16837         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
16838         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
16839         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
16840         (HAVE_GNUTLS3_HMAC): Remove, since these were available
16841         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
16842         is defined.  Remove all uses; this simplifies the code a bit.
16844 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
16846         Port recent rename changes to RHEL 7 + NFS
16848         Problem reported by Ted Zlatanov in:
16849         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
16850         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
16851         with errno == EINVAL when it is not supported.  So treat that case
16852         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
16853         nil nor an integer, just call plain rename; this avoids an extra
16854         syscall to renameat2 when the latter fails with errno == EINVAL or
16855         ENOSYS or ENOENT.
16857 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16859         Port GnuTLS usage to Ubuntu 16.04.2 LTS
16861         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
16862         later, as opposed to the old 3.4.0 or later.
16864 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16866         Simplify configuration of HAVE_GNUTLS3 etc.
16868         There's only one GnuTLS, so configuring these symbols at
16869         'configure' time is overkill.  Simplify things by moving their
16870         configuration to src/gnutls.h (Bug#27708).
16871         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
16872         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
16873         from here ...
16874         * src/gnutls.h: ... to here, and simplify.
16876 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16878         Default to --with-mailutils if it is installed
16880         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
16881         is installed.  See:
16882         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
16884 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16886         Clarify when autogen.sh should run only autoconf
16888         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
16889         not plain ‘./autogen.sh’, to make it clear that only
16890         autoconf-related tools should be run here.
16892 2017-08-02  Toon Claes  <toon@iotcl.com>
16894         .gitlab-ci.yml: Use stretch Debian image instead of unstable
16896 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
16898         Add debugging messages to a Dired test
16900         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
16901         positions saved and restored by dired-revert to try and find
16902         out why the test fails on Hydra.
16904 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
16906         ls-lisp: Autoload call instead of cookie
16908         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
16910 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16912         When renaming a file, ask only if EEXIST or ENOSYS
16914         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
16915         more than once on FILE.  Use renameat_noreplace, so that we can
16916         ask the user (and unlink and retry) only if this fails with errno
16917         == EEXIST or ENOSYS.  This avoids the need to ask the user for
16918         permission to do an operation that will fail anyway.  Simplify
16919         computation of ok_if_already_exists for subsidiary functions.
16920         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
16921         if it works, as this avoids the need to link and unlink.
16922         * src/lisp.h (renameat_noreplace): New decl.
16923         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
16924         (renameat_noreplace): New function.
16926 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16928         When creating a link, ask only if EEXIST
16930         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
16931         Ask the user (and unlink and retry) only if link creation fails
16932         with errno == EEXIST.  This avoids the need to ask the user for
16933         permission to do an operation that will fail anyway.
16935 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
16937         dired-align-file: Inherit text properties in inserted spaces
16939         * lisp/dired.el (dired-align-file): Inherit text
16940         properties in inserted spaces (Bug#27899).
16941         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
16943 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
16945         Don't assume /bin/sh as the 'sh' location in the local host
16947         * lisp/dired.el (dired-insert-directory): Use executable-find in
16948         a local host.
16950 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
16952         Move dired tests using ls emulation to different files
16954         Suggested in:
16955         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
16956         * test/lisp/dired-tests.el (dired-test-bug27693)
16957         (dired-test-bug27762, dired-test-bug27817)
16958         (dired-test-bug27631, dired-test-bug27843): Delete those
16959         parts requiring either ls-lisp or eshell-ls.
16961         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
16962         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
16963         Add all dired tests using ls-lisp here.
16965         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
16966         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
16967         all dired tests using eshell-ls here.
16969 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
16971         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
16973 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
16975         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
16976         Say the handle is already decoded.
16977         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
16979 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16981         Don’t worry about unlink if errno == ENOENT
16983         * src/fileio.c (Fdelete_file):
16984         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
16985         remove a file if unlink fails with errno == ENOENT.  This can
16986         happen even if Emacs is the only program removing the file, in
16987         case an NFS cache overflows.  The file does not exist if errno ==
16988         ENOENT, so it is OK to proceed.
16990 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
16992         Fix misalignment in Dired when dired-directory is a cons
16994         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
16995         New defuns.
16996         (dired-internal-noselect): Call dired--align-all-files when
16997         dired-directory is a cons (Bug#27762).
16998         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
17000 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
17002         Fix some dired-tests.el on MS-Windows
17004         * test/lisp/dired-tests.el (dired-test-bug27243-01)
17005         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
17006         file-truename, to avoid bogus failures due to file-name comparison
17007         as strings.
17009 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
17011         Insert subdir content if dir-or-list is a string w/o wildcards
17013         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
17014         Append '("-d") into 'eshell-ls-dired-initial-args'
17015         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
17016         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
17018 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
17020         Update todo-mode defcustoms in a less hideous way
17022         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
17023         (todo-reevaluate-default-file-defcustom)
17024         (todo-reevaluate-category-completions-files-defcustom)
17025         (todo-reevaluate-filter-files-defcustom): Delete these functions.
17026         (todo-update-filelist-defcustoms): New function.  This replaces
17027         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
17028         property instead of re-evaluating the defcustoms.
17029         (todo-add-file, todo-rename-file, todo-delete-file)
17030         (todo-delete-category, todo-move-category)
17031         (todo-convert-legacy-files, todo-check-file): Replace call of
17032         todo-reevaluate-filelist-defcustoms by
17033         todo-update-filelist-defcustoms.
17034         (todo-show, todo-category-completions): Replace call of
17035         todo-reevaluate-* function by use of 'custom-type' property.
17037 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
17039         Add more should form calls in a failing dired test
17041         Some dired tests fail intermittently in hydra.  Add few
17042         more should form calls for debugging.
17043         See:
17044         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
17045         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
17046         forms for debugging.
17048 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
17050         Follow SAUNA recommendations for display-line-numbers-type
17052         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
17054         * lisp/menu-bar.el (display-line-numbers-type): Declare.
17056 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
17058         Avoid most stat calls when completing file names
17060         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
17061         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
17062         * m4/d-type.m4: New file, copied from gnulib.
17063         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
17064         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
17065         (dirent_type): New function.
17066         (file_name_completion): Use it, to avoid unnecessary calls to
17067         stat-like functions on GNU/Linux and other platforms with d_type.
17068         (file_name_completion_stat): Just follow the link; there is no
17069         need to try first with AT_SYMLINK_NOFOLLOW since the directory
17070         entry was already checked to exist.
17072 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
17074         dired-tests: Unload tested features after test them
17076         Some tests are for Dired with ls-lisp or eshell-ls.
17077         Requiring these features add an advice on `dired' and
17078         might affect other tests.
17079         Do not require these features at the top of the file; require
17080         then inside the tests and unload then at the end.
17081         * test/lisp/dired-tests.el (dired-test-bug27693)
17082         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
17083         require ls-lisp and/or eshell-ls inside the test; unload the
17084         features at the end.
17086 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
17088         Small adaptions for directory wildcards
17090         * lisp/dired.el (dired-insert-directory): Remove "--dired"
17091         when there are wildcards, and the directory is remote.
17093         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
17094         Adapt docstring.
17095         (tramp-test17-dired-with-wildcards): Skip for all methods but
17096         those from tamp-sh.p.
17098 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
17100         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
17101         string bounds.
17103 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
17105         Merge from gnulib
17107         This incorporates:
17108         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
17109         * lib/tempname.c: Copy from gnulib.
17111 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
17113         ls-lisp: Do not require em-glob at top of the file
17115         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
17116         not break the Emacs build.
17117         See following thread for details:
17118         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
17119         * lisp/ls-lisp.el (dired-goto-next-file)
17120         (dired-read-dir-and-switches, eshell-extended-glob):
17121         Add function declarations.
17122         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
17124 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
17126         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
17128         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
17130 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
17132         Change default CSS property face
17134         * lisp/textmodes/css-mode.el (css-property): Inherit from
17135         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
17136         distinguish CSS properties from variables.
17138 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
17140         Dired: Handle posix wildcards in directory part
17142         Allow Dired to handle calls like
17143         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
17144         the directory part of the file argument (Bug#27631).
17145         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
17146         (insert-directory-clean): New defun extracted from insert-directory.
17147         (insert-directory)
17148         * lisp/dired.el (dired-internal-noselect)
17149         (dired-insert-directory): Use the new predicate; when it's true,
17150         handle the directory wildcards with a shell call.
17151         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
17152         (eshell-ls-unload-hook): New defun.  Use it in
17153         eshell-ls-unload-hook instead of an anonymous function.
17154         (eshell-ls--dired)
17155         * lisp/ls-lisp.el (ls-lisp--dired):
17156         Advice dired to handle wildcards in the directory part with both
17157         eshell-ls and ls-lisp.
17158         * etc/NEWS: Announce it.
17159         * doc/emacs/dired.texi (Dired Enter): Update manual.
17160         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
17162 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
17164         * lisp/find-lisp.el: Enable lexical binding
17166         * lisp/find-dired.el: Enable lexical binding
17168 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
17170         * lisp/kmacro.el: Use lexical binding.
17172 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
17174         Use lexical-binding in dired-aux.el
17176         * lisp/dired.el: Use lexical binding.
17177         (dired-do-shell-command): Remove unused bindings.
17179 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
17181         * lisp/ido.el: Use lexical binding.
17183         * lisp/whitespace.el: Use lexical binding.
17185 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
17187         artist.el: Avoid error with keyboard command invocation
17189         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
17190         Call x-popup-menu with t instead of last-nonmenu-event as the
17191         value of the position argument; this allows invoking the
17192         command from the keyboard without raising an error (bug#27819).
17194 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
17196         Preserve point under 'dired-auto-revert-buffer' (third case)
17198         * lisp/files.el (find-file): Use pop-to-buffer-same-window
17199         instead of switch-to-buffer.  This preserves Dired window
17200         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
17202         * test/lisp/dired-tests.el (dired-test-bug27243-01)
17203         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
17204         The first two replace a previous test that combined them; that
17205         test intermittently fails in the Hydra build system, so maybe
17206         separating the two cases will help locate the point of
17207         failure.  The third test involves find-file but is here
17208         because it, like the others, is testing the effect of
17209         dired-auto-revert-buffer.
17211 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
17213         Do not unset user key remaps in dired-x
17215         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
17216         sets dired-x-hands-off-my-keys.  (Bug#27828)
17218 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
17220         Improve documentation of 'occur'
17222         * doc/emacs/search.texi (Other Repeating Search):
17223         * lisp/replace.el (occur): Make the documentation of 'occur' be
17224         more accurate when matches overlap.  (Bug#27818)
17226 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
17228         Minor copyedits of comments in faces.el
17230         * lisp/faces.el (face-font-family-alternatives): More info about
17231         requirements from "Monospace Serif".
17233 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
17235         Do not worry about paxctl on newer NetBSD
17237         Problem reported privately by Thomas Klausner.
17238         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
17239         on newer NetBSD platforms, where it is not needed.  Also use it to
17240         simplify Cygwin diagnostic.
17242 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
17244         Clarify documentation of ':inherit' face attribute
17246         * doc/lispref/display.texi (Face Attributes): Document the special
17247         treatment of 'unspecified' in the ':inherit' attribute.
17249 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
17251         * lisp/password-cache.el (password-data): Use a hash-table
17253         * lisp/auth-source.el (auth-source-magic): Remove.
17254         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
17255         format of password-data.
17256         (auth-source-format-cache-entry): Just use a cons.
17258         (password-cache-remove, password-cache-add, password-reset)
17259         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
17261         (Bug#26699)
17263 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
17265         * lisp/subr.el (define-symbol-prop): New function
17267         (symbol-file): Make it find symbol property definitions.
17269         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
17270         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
17271         (ert-describe-test): Adjust call to symbol-file accordingly.
17273 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
17275         * lisp/subr.el (method-files): Move function to cl-generic.el
17277         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
17278         (cl--generic-method-files): New function, moved from subr.el.
17279         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
17280         * test/lisp/emacs-lisp/cl-generic-tests.el:
17281         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
17283 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
17285         Preserve this-command-keys across recursive-edit invocations
17287         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
17288         restore this-command-keys, to preserve it across recursive-edit.
17289         (Bug#27470)
17291 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
17293         Improve doc string of 'locate-dominating-file'
17295         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
17297 2017-07-28  Drew Adams  <drew.adams@oracle.com>
17299         New commands 'apropos-local-variable', 'apropos-local-value'
17301         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
17302         New functions.  (Bug#27424)
17304         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
17305         and 'apropos-local-value'.
17306         * etc/NEWS: Mention the new commands.
17308 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
17310         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
17312         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
17314 2017-07-27  Alan Mackenzie  <acm@muc.de>
17316         Fix C++ class initializers not always being fontified at mode start.
17318         The problem here happened when an "outer list" of declarations moved beyond an
17319         "inner list" containing class initializers.  These weren't being checked for
17320         by the code.
17322         Also, fix places in c-get-fontification-context where point is undefined.
17324         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
17325         not-front-decl is set, test for class initializers.  Also, anchor point in
17326         places where it is moved and is otherwise undefined.
17328 2017-07-27  Alan Mackenzie  <acm@muc.de>
17330         Fix variables in C++ "for" statement not always being fontified.
17332         The error happened when there was a comma inside template delimiters.
17334         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
17335         statements, recognize template delimiters containing "," and "&".
17337 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
17339         Add watchdog process to tramp-test36-asynchronous-requests
17341         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
17342         New defun.
17343         (tramp-test36-asynchronous-requests): Use a watchdog process,
17344         listening for SIGUSR1.
17346 2017-07-27  Alan Mackenzie  <acm@muc.de>
17348         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
17350         If a declarator is so cut off, extend the fontification chunk to include it.
17352         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
17353         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
17355 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
17357         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
17359         (smerge--refine-long-words): New var.
17360         (smerge--refine-chopup-region): Use it.
17362 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
17364         * lisp/url/url-cookie.el: Use lexical-binding
17366         (url-cookie-host-can-set-p): Remove unused var `last'.
17367         Use string-suffix-p.
17368         (url-cookie-list): De morgan.
17369         (url-cookie-quit): Remove.
17370         (url-cookie-mode): Inherit from special-mode.
17371         (url-cookie-mode-map): Simplify accordingly.
17373 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
17375         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
17377         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
17379 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
17381         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
17383         Record this as the function's definition site if it's the first def.
17385 2017-07-26  Glenn Morris  <rgm@gnu.org>
17387         * doc/lispref/loading.texi (When to Autoload): New section.
17389 2017-07-26  Glenn Morris  <rgm@gnu.org>
17391         Stop using unibyte buffers for ert backtraces
17393         * lisp/emacs-lisp/ert.el
17394         (ert-results-pop-to-backtrace-for-test-at-point):
17395         Set multibyte true, not false.  This copies a
17396         debugger-setup-buffer change from 2009-08-30, and stops the
17397         "Backtrace for" header line containing ^X and ^Y.
17399 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
17401         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
17403         * lisp/cedet/semantic/symref/grep.el
17404         (semantic-symref-grep--line-re): Delete.
17405         (semantic-symref-parse-tool-output-one-line):
17406         Use regexp and group numbers from (grep-regexp-alist).
17408 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
17410         Fix cl-defmethod indentation
17412         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
17413         Declare (indent defun).  Fixes bug#23994.
17415 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
17417         Fix two customization types in frame.el
17419         * lisp/frame.el (window-divider-default-bottom-width)
17420         (window-divider-default-right-width): Fix customization types.
17422 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
17424         Dired: Support eshell-ls from the beginning if the user wants to
17426         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
17427         as well (Bug#27817).
17428         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
17430 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
17432         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
17434 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
17436         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
17438         Adjust to change in cl-generic-ensure-function.
17440 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
17442         ls-lisp: Add an unload function and enable lexical binding
17444         Enable lexical binding.
17445         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
17446         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
17448 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
17450         register-read-with-preview: Quit if user input C-g or ESC
17452         * lisp/register.el (register-read-with-preview):
17453         Quit if user input C-g or ESC (bug#27634).
17454         * doc/emacs/regs.texi (Registers): Update manual.
17455         * test/lisp/register-tests.el (register-test-bug27634): Add test.
17457 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
17459         Recognize MirBSD Korn shell rc file
17461         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
17463 2017-07-25  Glenn Morris  <rgm@gnu.org>
17465         * configure.ac: Be explicit about ImageMagick version in summary.
17467 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
17469         Properly align global lispsym
17471         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
17472         Lisp_Symbols inside struct.
17473         * src/alloc.c (sweep_symbols): Update use of lispsym.
17474         * src/lisp.h (builtin_lisp_symbol): Likewise.
17476 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
17478         Do not use ImageMagick 7 and later
17480         Suggested by Glenn Morris (Bug#25967#15).
17481         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
17483 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
17485         * lisp/progmodes/perl-mode.el: Add support for indented here docs
17487         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
17488         Recognize the new <<~ syntax for indented here docs.
17489         (perl-syntax-propertize-special-constructs): Adjust search of the
17490         end of here docs accordingly.
17492         * test/manual/indent/perl.perl: Add test for indented here docs.
17494 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
17496         (loadhist-unload-element): Move ERT and cl-generic methods
17498         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
17499         and ert methods here.
17500         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
17502         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
17503         unload method for cl-defmethod.
17504         (cl-generic-ensure-function): Remove redundant `defalias'.
17506         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
17507         setting here...
17508         (ert-deftest): ...from here.
17509         (loadhist-unload-element): Define unload method for ert-deftest.
17511 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
17513         Fix Bug#27371
17515         * lisp/loadhist.el (loadhist-unload-element): Declare for
17516         different entry types of `load-history'.
17517         (loadhist--restore-autoload): New variable.
17518         (loadhist--unload-function): New defun.
17519         (unload-feature): Use `loadhist-unload-element'.  Recommended by
17520         Stefan Monnier.  (Bug#27371)
17522         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
17523         Check, that the `tramp-file-name' structure has been unloaded.
17525 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
17527         Ensure that we parse images right in shr.el
17529         * lisp/net/shr.el (shr-image-fetched): Go back to the
17530         beginning of the buffer before trying to parse the image
17531         fetched.
17533 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17535         Update .gitignore for Valgrind and no Automake
17537         * .gitignore: Remove .deps/ since we no longer use Automake.
17538         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
17540 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17542         Merge from gnulib
17544         This incorporates:
17545         2017-07-23 Rename module 'strftime' to 'nstrftime'
17546         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
17547         * build-aux/config.guess: Copy from gnulib.
17548         * lib/nstrftime.c: Rename from lib/strftime.c.
17549         * m4/nstrftime.m4: Rename from m4/strftime.m4.
17550         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
17552 2017-07-23  Philipp Stephani  <phst@google.com>
17554         Add 'rx' pattern for pcase.
17556         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
17557         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
17559 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
17561         Use a named function for global minor mode turn-on argument
17563         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
17564         New function.
17565         (global-display-line-numbers-mode): Use it.
17567 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
17569         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
17571         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
17572         from 'src/emacs'.
17574         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
17575         launched outside of a macOS application bundle, change its
17576         activation policy from the default 'prohibited' to 'regular'.
17578 2017-07-23  Alan Mackenzie  <acm@muc.de>
17580         Convert CC Mode's c-found-types from an obarray to a hash table.
17582         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
17583         rather than an obarray.
17584         (c-copy-found-types): Remove.
17585         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
17586         the new hash table.
17587         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
17589 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
17591         Fix image/svg+xml display in shr
17593         * lisp/net/shr.el (shr-put-image): Display svg images as svg
17594         (bug#27799).  I suspect the previous change was checked in by
17595         accident in conjuction with some other svg changes.
17597 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
17599         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
17601 2017-07-23  Glenn Morris  <rgm@gnu.org>
17603         Don't automatically enable Gconf if Gsettings was found
17605         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
17606         Don't test for Gconf unless specifically requested.
17607         Gconf was deprecated in favor of Gsettings several years ago.
17609 2017-07-23  Glenn Morris  <rgm@gnu.org>
17611         * configure.ac (MODULES_SUFFIX): Always give it a value.
17613         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
17615 2017-07-23  Glenn Morris  <rgm@gnu.org>
17617         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
17619 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
17621         Add line numbers display to the Options menu
17623         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
17624         (menu-bar-display-line-numbers-mode): New defun.
17625         (menu-bar-showhide-line-numbers-menu): New defvar.
17626         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
17628 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
17630         Signal error for symbol names with strange quotes (Bug#2967)
17632         * src/lread.c (read1): Signal an error when a symbol starts with a
17633         non-escaped quote-like character.
17634         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
17635         test.
17636         * etc/NEWS: Announce change.
17638 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
17640         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
17642         It turns out that this change is not needed, and it leaves several
17643         command loops settings not done.
17645         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
17646         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
17648 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
17650         Add a minor mode interface for display-line-numbers
17652         * lisp/cus-start.el: Use the new display-line-numbers group.
17653         * lisp/display-line-numbers.el: New file.
17655         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
17656         belong to linum-mode.
17657         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
17658         * etc/NEWS: Document display-line-numbers-mode and its customization
17659         variables, and mention that display-line-numbers-width is
17660         buffer-local.
17662         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
17663         typo.
17665 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
17667         Support indented HERE-DOCs in cperl-mode
17669         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
17670         indented here-docs.  (Bug#27254) (Bug#27697)
17672 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
17674         Document the support for "scrollBar" X resource
17676         * doc/emacs/xresources.texi (Table of Resources): Document the new
17677         'scrollBar' setting.
17678         * etc/NEWS: Document the new 'scrollBar' setting.
17680 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
17682         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
17684         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
17685         settings.
17687 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
17689         Update ld-script mode (bug#27629)
17691         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
17692         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
17693         numbers for PROVIDE/PROVIDE_HIDDEN commands.
17694         (ld-script-builtins): New builtin function LOG2CEIL added.
17696 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
17698         Index 'rectangle' in the ELisp manual
17700         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
17701         (Bug#27541)
17703 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
17705         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
17707 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
17709         Doc fixes for kmacro.el functions
17711         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
17712         (kmacro-end-and-call-macro): Don't use "permanent name", as that
17713         could be misinterpreted.  (Bug#27492)
17715 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
17717         ElDoc: add docstrings and minor refactoring
17719         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
17720         docstring.
17721         (turn-on-eldoc-mode): Fix capitalization.
17722         (eldoc--supported-p): Add docstring.
17723         (eldoc-schedule-timer): Add docstring and use
17724         'eldoc--supported-p'.
17725         (eldoc-message): Add docstring and make calling convention
17726         clearer.
17727         (eldoc--message-command-p):
17728         (eldoc-pre-command-refresh-echo-area):
17729         (eldoc-display-message-p):
17730         (eldoc-display-message-no-interference-p):
17731         (eldoc-print-current-symbol-info):
17732         (eldoc-docstring-format-sym-doc):
17733         (eldoc-add-command, eldoc-add-command-completions):
17734         (eldoc-remove-command, eldoc-remove-command-completions):
17735         Add docstring.  (Bug#27230)
17737 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
17739         Mention 'C-M-i' as key binding for 'ispell-complete-word'
17741         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
17742         can also be invoked by C-M-i.  (Bug#27349)
17744 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
17746         Fix the eww-search-words description in the Emacs manual
17748         * doc/emacs/search.texi (Word Search):
17749         Include the key binding for eww-search-words in the manual.
17750         Fix the spelling of the 'eww-search-words' command.
17752 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
17754         Introduce defcustom 'executable-prefix-env'
17756         * lisp/progmodes/executable.el (executable-prefix): Update the doc
17757         string.
17758         (executable-prefix-env): New defcustom.
17759         (executable-set-magic): Use executable-prefix-env.
17761         * etc/NEWS: Document the new variable.
17763 2017-07-22  Glenn Morris  <rgm@gnu.org>
17765         * test/lisp/ibuffer-tests.el: Delete temporary files.
17767 2017-07-21  Glenn Morris  <rgm@gnu.org>
17769         Further attempt to avoid hang in network-stream-tests
17771         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
17772         Limit the time we wait for the external process.
17774 2017-07-21  Glenn Morris  <rgm@gnu.org>
17776         Stop skipping many ibuffer tests by default
17778         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
17779         Rename so it sorts first.
17780         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
17781         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
17782         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
17783         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
17784         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
17785         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
17786         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
17788 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
17790         Use lexical-binding in todo-mode.el
17792         Adjust code accordingly and make various minor improvements.
17794         * lisp/calendar/todo-mode.el: Enable lexical-binding.
17795         (dayname, monthname, day, month, year): Make forward defvars
17796         of these keywords from macros defined in calendar.el; wrap
17797         them in with-no-warnings.
17798         (todo-files, todo-files-function, todo-date-pattern)
17799         (todo-mode-line-function, todo-show, todo-forward-category)
17800         (todo-edit-item--header, todo-set-category-number)
17801         (todo-adjusted-category-label-length)
17802         (todo-total-item-counts, todo-filter-items)
17803         (todo-print-buffer-function, todo-convert-legacy-date-time)
17804         (todo-category-number, todo-category-completions)
17805         (todo-read-file-name, todo-read-category)
17806         (todo-validate-name, todo-read-date)
17807         (todo-set-show-current-file, todo-modes-set-1)
17808         (todo-modes-set-2, todo-modes-set-3, todo-mode):
17809         Use #' instead of ' to quote functions.
17810         (todo-files): Use \' instead of $ in regexp.
17811         (todo--files-type-list): New function.
17812         (todo-default-todo-file, todo-category-completions-files)
17813         (todo-filter-files, todo-multiple-filter-files)
17814         (todo-reevaluate-default-file-defcustom)
17815         (todo-reevaluate-category-completions-files-defcustom)
17816         (todo-reevaluate-filter-files-defcustom): Use it.
17817         (todo-show, todo-rename-file, todo-move-category)
17818         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
17819         (todo-item-undone, todo-unarchive-items, todo-search)
17820         (todo-filter-items, todo-filter-items-1, todo-find-item)
17821         (todo-category-select, todo-read-date)
17822         (todo-nondiary-marker-matcher, todo-date-string-matcher)
17823         (todo-diary-expired-matcher, todo-convert-legacy-files)
17824         (todo-read-category): Reformat to avoid code hiding behind a
17825         more deeply embedded element.
17826         (todo-forward-category, todo-set-category-number):
17827         Use 'funcall' instead of 'apply'.
17828         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
17829         (todo-edit-category-diary-inclusion)
17830         (todo-insert-sort-button, todo-insert-category-line)
17831         (todo-multiple-filter-files): Mark unused local variables.
17832         (todo-edit-item--header, todo-move-item, todo-print-buffer)
17833         (todo-edit-item--header, todo-move-item, todo-check-file)
17834         (todo-edit-item--next-key): Remove unused local variables.
17835         (todo-insert-sort-button, todo-insert-category-line):
17836         Use a closure instead of a backquoted lambda.
17837         (todo-update-categories-display, todo-print-buffer): Simplify code.
17838         (todo-print-buffer-function): Document calling convention.
17839         (todo-category-completions): Use cl-pushnew instead of add-to-list.
17840         (todo-mode-map, todo-archive-mode-map)
17841         (todo-categories-mode-map, todo-filtered-items-mode-map):
17842         Remove superfluous call of suppress-keymap, since it's already
17843         in the parent special-mode-map.
17845 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
17847         dired: Revert buffer when DIRNAME is a cons
17849         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
17850         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
17851         Update the comments.
17852         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
17854 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
17856         Handle when dired-directory is a cons in some Dired functions
17858         * lisp/dired-aux.el (dired-rename-subdir-1)
17859         * lisp/dired-x.el (dired-mark-omitted):
17860         Handle when dired-directory is a cons.
17862 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
17864         Make eshell-next-prompt more reliable (Bug#27405)
17866         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
17867         `eshell-prompt-regexp' (and `read-only' text-property if
17868         `eshell-highlight-prompt' is set) rather than trying to use
17869         `forward-paragraph'.
17870         (eshell-previous-prompt): Don't count prompt on current line.
17872 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
17874         Simplify recent gnutls.c changes
17876         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
17877         All uses replaced by calls to explicit_bzero; that’s clear enough.
17878         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
17879         coalescing duplicate actions.  There is no need to invoke
17880         SAFE_FREE before calling ‘error’.
17882 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
17884         Stylistic changes in tramp-cache.el
17886         * lisp/net/tramp-cache.el (tramp-get-file-property)
17887         (tramp-set-file-property): Use `bound-and-true-p'.  Add
17888         counter variables to `tramp-cache-unload-hook'.
17890 2017-07-20  Glenn Morris  <rgm@gnu.org>
17892         * admin/notes/hydra: Small updates.
17894 2017-07-20  Glenn Morris  <rgm@gnu.org>
17896         Make tramp unloading handle debug counter variables
17898         * lisp/net/tramp-cache.el (tramp-get-file-property)
17899         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
17901 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
17903         Fix hscrolling calculations when display-line-numbers is set
17905         * src/xdisp.c (move_it_in_display_line_to): Account for line
17906         numbers in hscrolled lines.  (Bug#27756)
17908 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
17910         Fix the bogus change made 13 years ago (bug#27084)
17912         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
17913         Fix the way to test if there is no visible header (bug#27084).
17915 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
17917         Use grep's --null option (Bug#6843)
17919         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
17920         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
17921         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
17922         constants, replacing `grep-regexp-alist'.
17923         (grep-regex-alist): Mark the variable obsolete, add a new function of
17924         the same name to replace it.
17925         (grep-compute-defaults): Compute default for
17926         `grep-use-null-filename-separator'.
17927         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
17928         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
17929         according to `grep-use-null-filename-separator'.
17930         * lisp/progmodes/xref.el (xref-collect-matches): Call
17931         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
17932         grep-regexp-alist match groups.
17933         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
17934         item under "Grep" heading as well.
17936 2017-07-19  Philipp Stephani  <phst@google.com>
17938         * src/gnutls.c (clear_storage): Define only if needed.
17940 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
17942         Adjust todo-quit to recent change in dired
17944         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
17945         bury-buffer to exit todo-mode.  This restores the desired behavior
17946         of not immediately returning to the exited todo-mode buffer on
17947         quitting another buffer, which a dired bug fix had changed (see
17948         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
17950 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
17952         Add test for bugs 7131, 27762
17954         Require 'ls-lisp' at top of the file.
17955         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
17956         New tests.
17957         (dired-test-bug27693): Delete Dired buffer at the end.
17959 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
17961         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
17963 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
17965         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
17967         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
17969 2017-07-18  Glenn Morris  <rgm@gnu.org>
17971         Use a more specific test for running on hydra.nixos.org
17973         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
17974         * test/Makefile.in (WRITE_LOG):
17975         * test/lisp/filenotify-tests.el:
17976         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
17977         (eieio-test-method-order-list-6):
17978         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
17979         (eieio-test-37-obsolete-name-in-constructor):
17980         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
17982 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
17984         Avoid infloop due to Eshell's "smart" redisplay
17986         * src/xdisp.c (pos_visible_p): Save and restore the window's
17987         mode-line and header-line height.  (Bug#27752)
17989 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
17991         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
17993 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
17995         Fix indentation when display-line-numbers is non-nil
17997         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
17998         to go one more tab stop to display a TAB.  (Bug#27743)
18000 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
18002         Don't use gtk_widget_get_scale_factor on old GTK3 versions
18004         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
18005         only present since GTK 3.10.
18007 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
18009         Let delete-selection-mode work with popup-menu commands (Bug#27569)
18011         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
18012         `this-command' set to the selected command.
18014 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
18016         Port gnutls.c to older (buggier?) GnuTLS
18018         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
18019         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
18020         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
18021         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
18022         perhaps hydra was using a modified GnuTLS.
18023         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
18024         is at the end of the list returned by gnutls_cipher_list,
18025         or that the earlier ciphers all have non-null names.
18027 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18029         Fix relocation with named cell referred to by a one-symbol formula.
18031         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
18032         work also with one symbol formulas.
18034         * test/lisp/ses-tests.el
18035         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
18036         test for renaming with relocating a one symbol formula.
18038 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18040         Fix symbol completion and document it.
18042         * doc/misc/ses.texi (Configuring what printer function
18043         applies): Add description of keys for completing local printer
18044         symbols and listing local printers in a help buffer.
18045         (Formulas): Add decription for key to list the named cell
18046         symbols in a help buffer.
18048         * lisp/ses.el (ses-completion-keys): New constant.
18049         (ses--completion-table): New defvar.
18050         (ses--list-orig-buffer): New defvar.
18051         (ses-mode-edit-map): Fixed for symbol completion, plus add
18052         help functions to list named cells or local printers.
18053         (ses-edit-cell-complete-symbol)
18054         (ses--edit-cell-completion-at-point-function): New defuns for
18055         completion during formula edition.
18056         (ses-edit-cell): Redefine dynamically edit keymap for
18057         completion keys to point at the right function.
18058         (ses-read-printer-complete-symbol)
18059         (ses--read-printer-completion-at-point-function): New defuns
18060         for completion during printer edition.
18061         (ses-read-printer): Redefine dynamically edit keymap for
18062         completion keys to point at the right function.
18063         (ses-list-local-printers): New defun.
18064         (ses-list-named-cells): New defun.
18066 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
18068         Move comments around
18070 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
18072         Make scaling work (?) on pre-GTK3 systems
18074         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
18075         (xg_get_scale): Use it on non-GTK3 systems.
18077 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
18079         Always return the GDK scale
18081         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
18083 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
18085         Remove usage of the GDK_SCALE variable
18087         * src/gtkutil.c (xg_get_gdk_scale): Remove.
18088         (xg_get_default_scrollbar_height)
18089         (xg_get_default_scrollbar_width): Pass in a frame to check for
18090         scaling.
18091         (xg_frame_set_char_size): Use the API for querying scale
18092         instead of looking at the GDK_SCALE variable.
18093         (xg_get_default_scrollbar_width): Ditto.
18094         (xg_get_default_scrollbar_height): Ditto.
18095         (xg_update_scrollbar_pos): Ditto.
18097         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
18098         frame to get the width.
18100 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
18102         Get positions of menus and tooltips right on HiDPI
18104         * src/gtkutil.c (xg_get_scale): New function.
18105         (xg_show_tooltip): Use it.
18107         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
18108         right place.
18110 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
18112         Allow user control on what starts and ends a paragraph for bidi
18114         * src/buffer.h (struct buffer): New members
18115         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
18116         * src/buffer.c (bset_bidi_paragraph_start_re)
18117         (bset_bidi_paragraph_separate_re): New setters/
18118         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
18119         bidi-paragraph-separate-re.
18120         (init_buffer_once): Init the values of bidi-paragraph-start-re and
18121         bidi-paragraph-separate-re.
18122         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
18123         New per-buffer variables.
18124         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
18125         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
18126         (bidi_move_to_visually_next): Handle correctly the case when the
18127         separator matches an empty string.  (Bug#27526)
18129         * doc/emacs/mule.texi (Bidirectional Editing):
18130         * doc/lispref/display.texi (Bidirectional Display): Document
18131         bidi-paragraph-start-re and bidi-paragraph-separate-re.
18133         * etc/NEWS: Mention bidi-paragraph-start-re and
18134         bidi-paragraph-separate-re.
18136 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
18138         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
18140 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
18142         alist-get: Add optional arg TESTFN
18144         If TESTFN is non-nil, then it is the predicate to lookup
18145         the alist.  Otherwise, use 'eq' (Bug#27584).
18146         * lisp/subr.el (alist-get): Add optional arg FULL.
18147         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
18148         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
18149         * doc/lispref/lists.texi (Association Lists): Update manual.
18150         * etc/NEWS: Announce the changes.
18151         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
18152         (test-map-elt-testfn): New tests.
18154 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
18156         Fix `tramp-test39-unload'
18158         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
18159         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
18160         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
18161         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
18162         variables and autoload functions; they are not removed.  Check
18163         also for `-function(s)'.
18165 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
18167         Preserve point under 'dired-auto-revert-buffer' (second case)
18169         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
18170         of switch-to-buffer.  This preserves Dired window point when
18171         dired-auto-revert-buffer is non-nil.  (Bug#27243)
18173         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
18175 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
18177         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
18179         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
18180         undefined to allow --with-gnutls=no builds to proceed.
18182 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18184         * src/gnutls.c: Restore some comments.
18186 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18188         Use memset, not bzero
18190         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
18191         of the (less-portable) bzero.
18193 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18195         Use explicit_bzero to clear GnuTLS keys
18197         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
18198         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
18199         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
18200         * src/gnutls.c (clear_storage): New function.
18201         (gnutls_symmetric_aead): Use it instead of memset.
18203 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18205         Merge from gnulib
18207         This incorporates:
18208         2017-07-16 explicit_bzero: new module
18209         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
18210         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
18211         * m4/string_h.m4:
18212         Copy from Gnulib.
18213         * lib/gnulib.mk.in: Regenerate.
18215 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
18217         Fix vc-src-dir-status-files
18219         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
18220         copy-paste from b1a765b3 (bug#27641).
18222 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
18224         Fix mismatched parens
18226         * etc/NEWS.21: Remove excess parenthesis in code example
18228 2017-07-16  Alan Third  <alan@idiocy.org>
18230         Add missing declare-function for new function
18232         * lisp/frame.el: Add declare function for
18233         ns-mouse-absolute-pixel-position.
18235 2017-07-16  R. Bernstein  <rocky@gnu.org>
18237         Realgud for tango themes
18239 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
18241         Fix test when running from test/lisp/subr-tests.elc
18243         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
18244         assume a lambda expression will be `equal' to its quoted form.  That's
18245         not true if the lambda expression has been compiled.
18247 2017-07-15  Alan Third  <alan@idiocy.org>
18249         Fix some frame handling issues on NS
18251         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
18252         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
18253         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
18254         relationship if it's broken.
18256 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
18258         ls-lisp: Fix file size format
18260         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
18261         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
18262         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
18264 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
18266         Avoid link errors with older versions of GnuTLS
18268         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
18269         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
18270         calls GnuTLS functions which might be unavailable in older
18271         versions of GnuTLS.
18273 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
18275         Improve comments in faces.el
18277         * lisp/faces.el (face-font-family-alternatives): Improve
18278         commentary.
18280 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
18282         Improve some GnuTL error messages
18284         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
18285         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
18287 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
18289         Fix the Elisp manual wrt GnuTL cryptography
18291         * doc/lispref/elisp.texi (Top): Update the master menu.
18292         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
18293         avoid errors in makeinfo.
18295 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
18297         Fix compilation of gnutls.c with older GnuTLS
18299         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
18300         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
18301         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
18303 2017-07-15  rocky  <rb@dustyfeet.com>
18305         Realgud for two more light themes
18307 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
18309         Rearrange MS-Windows code that dynamically loads GnuTLS functions
18311         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
18312         of functions using the same preprocessing directives as in the code.
18314 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
18316         Fix the MS-Windows build broken in gnutls.c
18318         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
18319         loading code to after 'capabilities' has been calculated.  Remove
18320         redundant comments.
18322 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
18324         src/image.c (compute_image_size): Remove superfluous checks.
18326         * src/image.c (compute_image_size): Remove superfluous checks.
18328 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
18330         Make combinations of :width/:max-height image specs work reliably
18332         * doc/lispref/display.texi (ImageMagick Images): Document
18333         :width/:max-height combinations (etc) (bug #25583).
18335         * src/image.c (compute_image_size): Handle :width/:max-height
18336         (etc) combinations consistently (by letting "max" win and
18337         preserve ratio).
18339         * test/manual/image-size-tests.el (image-size-tests): Add
18340         tests for :width/:max-height (etc) combinations.
18342 2017-07-15  Glenn Morris  <rgm@gnu.org>
18344         Fix recent theme changes
18346         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
18347         Fix typos in recent changes.
18349 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18351         GnuTLS integer-overflow and style fixes
18353         This tweaks the recently-added GnuTLS improvements so that
18354         they avoid some integer-overflow problems and follow typical
18355         Emacs style a bit better.
18356         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
18357         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
18358         configure-time results are displayed.
18359         * src/fns.c (extract_data_from_object): Return char *, not char
18360         const *, since one gnutls caller wants a non-const pointer.  Use
18361         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
18362         instead of rolling our own code.  Prefer signed types to unsigned
18363         when either will do.  Report problems for lengths out of range,
18364         instead of silently mishandling them.
18365         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
18366         callers.  All callers of gnutls_sterror changed.
18367         (Fgnutls_boot): Check for integers out of range rather than
18368         silently truncating them.
18369         (gnutls_symmetric_aead): Check for integer overflow in size
18370         calculations.
18371         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
18372         Prefer signed to unsigned integers where either will do.
18373         (gnutls_symmetric_aead, gnutls_symmetric):
18374         Work even if ptrdiff_t is wider than ‘long’.
18375         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
18376         Check for integer overflow in algorithm selection.
18378 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
18380         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
18382 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
18384         Fix the MS-Windows build due to added GnuTLS functions
18386         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
18387         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
18388         functions.  Add #define redirections for new functions.
18389         (gnutls_symmetric_aead): Fix format specs to be more portable when
18390         printing ptrdiff_t arguments.
18391         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
18392         wrapper.
18393         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
18395         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
18396         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
18397         gnutls-available-p, otherwise GnuTLS functions might not be loaded
18398         from the DLL on MS-Windows.
18400 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
18402         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
18404         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
18405         Dig into advice wrappers to find the "real" signature.
18406         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
18407         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
18408         since bytecode functions are now handled in byte-compile--function-signature.
18410         * lisp/files.el (create-file-buffer, insert-directory):
18411         Remove workaround introduced for (bug#14860).
18413         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
18415         * lisp/help.el (help-function-arglist):
18416         Dig into advice wrappers to find the "real" signature.
18418 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
18420         GnuTLS HMAC and symmetric cipher support
18422             * etc/NEWS: Add news for new feature.
18424             * doc/lispref/text.texi (GnuTLS Cryptography): Add
18425             documentation.
18427             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
18428             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
18430             * src/fns.c (Fsecure_hash_algorithms): Add function to list
18431             supported `secure-hash' algorithms.
18432             (extract_data_from_object): Add data extraction function that
18433             can operate on buffers and strings.
18434             (secure_hash): Use it.
18435             (Fsecure_hash): Mention `secure-hash-algorithms'.
18437             * src/gnutls.h: Include gnutls/crypto.h.
18439             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
18440             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
18441             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
18442             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
18444             * test/lisp/net/gnutls-tests.el: Add tests.
18446 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
18448         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
18450         It's also defined in cl-extra.el.
18452 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18454         Do not convert ij and IJ to compatibility chars
18456         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
18457         Problem reported by James Cloos (Bug#518#10).
18459 2017-07-14  Toon Claes  <toon@iotcl.com>
18461         Remove Turkish ligatures from Dutch input method
18463         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
18465 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18467         Improve stack-overflow heuristic on GNU/Linux
18469         Problem reported by Steve Kemp (Bug#27585).
18470         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
18471         by current_thread->stack_top.
18472         (record_in_backtrace): Set current_thread->stack_top.
18473         This is for when the Lisp interpreter calls itself.
18474         * src/lread.c (read1): Set current_thread->stack_top.
18475         This is for recursive s-expression reads.
18476         * src/print.c (print_object): Set current_thread->stack_top.
18477         This is for recursive s-expression printing.
18478         * src/thread.c (mark_one_thread): Get stack top first.
18479         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
18481 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18483         Remove duplicate cl--random-state definition
18485         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
18486         This variable is now defined in cl-extra.el (Bug#27617).
18488 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
18490         Adjust timer in tramp-test36-asynchronous-requests
18492         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
18493         Adjust timer if it takes too much time.
18495 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
18497         Always display rmail progress report under user control
18499         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
18500         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
18502 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
18504         Avoid byte-compilation warnings for advised functions
18506         * lisp/files.el (insert-directory, create-file-buffer): Add an
18507         advertised-calling-convention form to shut up byte-compilation
18508         warnings.  (Bug#14860)
18510 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
18512         Add assertion related to display-line-numbers
18514         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
18515         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
18516         code.  (Bug#27668)
18518 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
18520         Prevent display corruption when display-line-numbers is set
18522         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
18523         due to display-line-numbers, clear the window's desired glyph
18524         matrix before returning, as the following call to try_window will
18525         call display_line, which expects rows of the desired matrix
18526         cleared.  (Bug#27668)
18528 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
18530         Revert "Use fixed-pitch font for display-line-numbers"
18532         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
18533         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
18534         popular demand.  For relevant discussions, see
18536          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
18537          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
18539 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18541         Merge from gnulib
18543         This incorporates:
18544         2017-07-13 Improve cross-compilation guesses for native Windows
18545         2017-07-11 More systematic m4 quoting and indentation
18546         2017-07-10 Make sure $host and $host_os are defined when used
18547         2017-07-03 stdioext: Port to OpenVMS
18548         2017-06-24 xalloc-oversized: port to icc
18549         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
18550         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
18551         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
18552         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
18553         Copy from Gnulib.
18555 2017-07-13  Alan Mackenzie  <acm@muc.de>
18557         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
18559         This fontification anomaly happened because after deleting the ">",
18560         c-forward-<>-arglist parses the preceding identifier as a putative type but
18561         stores it in c-found-types before it becomes clear it is not an unambiguous
18562         type.  c-forward-<>-arglist fails, leaving the spurious type id in
18563         c-found-types.  Fix this by "binding" c-found-types "to itself" in
18564         c-forward-<>-arglist, and restoring the original value when that function call
18565         fails.
18567         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
18568         (c-forward-<>-arglist): Record the original value of c-found-types at the
18569         beginning of the function, and restore it at the end on failure.
18571         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
18572         accurately.
18574 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
18576         Add tests for SES, and fix one more cell renaming bug.
18578         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
18579         relocate value for named cells as they keep the same symbol.
18580         (ses-rename-cell): Set new cell name symbol to cell value --- do not
18581         rely on recalculating.  Push cells with updated data --- cell name,
18582         cell reference list, or cell formula --- to deferred write list.
18584         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
18586 2017-07-12  Alan Mackenzie  <acm@muc.de>
18588         Fix some bugs in c-defun-name.  This fixes bug #25623.
18590         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
18591         etc.
18593 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
18595         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
18597         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
18598         c-mode-base-map if possible.
18600 2017-07-12  Alan Mackenzie  <acm@muc.de>
18602         CC Mode: create and use c-set-keymap-parent.
18604         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
18606         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
18607         set-keymap-parents.
18608         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
18610 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
18612         Minor tweaks of new line number display variables
18614         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
18615         (Vdisplay_line_number_width): Rename to
18616         Vdisplay_line_numbers_width.
18617         (maybe_produce_line_number): Comply with above rename.
18618         * lisp/cus-start.el (standard):
18619         * lisp/frame.el (top-level):
18620         * etc/NEWS: Comply with renaming of
18621         `display-line-number-width' to `display-line-numbers-width'.
18623 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
18625         Avoid assertion violations in close_infile_unwind
18627         * src/lread.c (close_infile_unwind): A temporary band-aid solution
18628         for bug#27642: allow 'infile' be NULL.
18630 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
18632         Use fixed-pitch font for display-line-numbers
18634         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
18635         even if the default face uses a variable-pitch font.  Reported by
18636         James Cloos <cloos@jhcloos.com>.
18638 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
18640         Improve documentation of display-line-numbers
18642         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
18643         doc string.  Suggested by Alex <agrambot@gmail.com>.
18645 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
18647         Add an optional testfn parameter to assoc
18649         * src/fns.c (assoc): New optional testfn parameter used for comparison
18650         when provided.
18651         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
18652         'testfn' parameter.
18653         * src/buffer.c:
18654         * src/coding.c:
18655         * src/dbusbind.c:
18656         * src/font.c:
18657         * src/fontset.c:
18658         * src/gfilenotify.c:
18659         * src/image.c:
18660         * src/keymap.c:
18661         * src/process.c:
18662         * src/w32fns.c:
18663         * src/w32font.c:
18664         * src/w32notify.c:
18665         * src/w32term.c:
18666         * src/xdisp.c:
18667         * src/xfont.c: Add a third argument to Fassoc calls.
18668         * etc/NEWS:
18669         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
18671 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
18673         Use `with-demoted-errors' in Tramp
18675         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
18677         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
18679 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
18681         Add Quick Start Guide to Tramp manual
18683         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
18684         "MS Windows".
18685         (Quick Start Guide): New node.
18687         * doc/misc/trampver.texi:
18688         * lisp/net/trampver.el: Change version to "2.3.3-pre".
18690 2017-07-10  Glenn Morris  <rgm@gnu.org>
18692         Fix failing module tests on GNU/Linux
18694         * test/src/emacs-module-tests.el
18695         (module--test-assertions--load-non-live-object)
18696         (module--test-assertions--call-emacs-from-gc):
18697         Avoid test failures due to backtraces.
18699 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
18701         Fix core dump in substitute-object-in-subtree
18703         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
18704         would dump core, since the C code would recurse indefinitely through
18705         the infinite structure.  This patch adds an argument to the function,
18706         and renames it to lread--substitute-object-in-subtree as the function
18707         is not general-purpose and should not be relied on by outside code.
18708         See Bug#23660.
18709         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
18710         not Lisp_Object, so that callers need not cons unnecessarily.
18711         All callers changed.  Also, remove related #if-0 code that was
18712         “temporary” in the early 1990s and has not been compilable for
18713         some time.
18714         * src/lread.c (struct subst): New type, for substitution closure data.
18715         (seen_list): Remove this static var, as this info is now part of
18716         struct subst.  All uses removed.
18717         (Flread__substitute_object_in_subtree): Rename from
18718         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
18719         doesn’t dump core when called from the top level with an
18720         already-cyclic structure.  All callers changed.
18721         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
18722         (substitute_object_recurse): Take a single argument SUBST rather
18723         than a pair OBJECT and PLACEHOLDER, so that its address can be
18724         passed around as part of a closure; this avoids the need for an
18725         AUTO_CONS call.  All callers changed.  If the COMPLETED component
18726         is t, treat every subobject as potentially circular.
18727         (substitute_in_interval): Take a struct subst * rather than a
18728         Lisp_Object, for the closure data.  All callers changed.
18729         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
18730         New test, to check that the core dump does not reoccur.
18732 2017-07-10  Philipp Stephani  <phst@google.com>
18734         Minor simplification of module_free_global_ref
18736         * src/emacs-module.c (module_free_global_ref): Remove unused variable
18737         'hashcode'.  Inline variable 'value' that's only used once.
18739 2017-07-10  Philipp Stephani  <phst@google.com>
18741         Re-add a useful assertion
18743         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
18744         the reference count is zero.  This assertion was removed in commit
18745         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
18746         test performed by XFASTINT before, because the previous reference
18747         count could have been zero already in the case of a buggy
18748         implementation.  This assertion might have detected Bug#27587.
18750 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
18752         Fix bug in module_free_global_ref (Bug#27587)
18754         * src/emacs-module.c (module_free_global_ref): Actually remove entry
18755         from hash table.
18757 2017-07-09  Philipp Stephani  <phst@google.com>
18759         Further improve electric quote support for Markdown (Bug#24709)
18761         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
18762         values.  Therefore 'electric-quote-mode' recognized it as a
18763         programming mode.  Fix this by first checking whether the current
18764         major mode is derived from 'text-mode'.
18766         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
18767         'text-mode' as stronger signal than comment syntax.
18769         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
18770         (electric-quote-markdown-in-code): Adapt unit tests.
18772 2017-07-09  Philipp Stephani  <phst@google.com>
18774         Remove pointless code in 'electric-quote-mode'
18776         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
18777         pointless form.
18779 2017-07-09  Philipp Stephani  <phst@google.com>
18781         Refactor 'electric-quote-mode'
18783         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
18784         local variable 'start', which was misnamed and only used once.
18786 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
18788         Avoid crashes on MS-Windows starting 64-bit .NET executables
18790         * src/w32proc.c (w32_executable_type): Don't assume that the
18791         import directory in a DLL will always be non-NULL.  (Bug#27527)
18793 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
18795         Avoid compilation warning in files.el
18797         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
18798         warning due to its use in auto-save-visited-mode.
18800 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
18802         Improve indexing of VC-related stuff in the Emacs manual
18804         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
18805         entry.  (Bug#27627)
18807 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
18809         Speed up display of line numbers for very large buffers
18811         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
18812         using values cached by mode-line display of line numbers.
18813         (Bug#27622)
18815 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
18817         Define internal_border_parts for window systems only (Bug#27615)
18819         * src/keyboard.c: (internal_border_parts): Define only
18820         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
18822 2017-07-09  R. Bernstein  <rocky@gnu.org>
18824         Add realgud faces faces to whiteboard...
18826         Adjust wheatgrass to use underline for enabled/disabled breakpoints
18828 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
18830         Optimize UCS normalization tests
18832         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
18833         * test/lisp/international/ucs-normalize-tests.el
18834         (ucs-normalize-tests--parse-column): Use character instead of string
18835         of length 1 for terminator.  Convert return value into string since
18836         all callers need that form anyway.
18837         (ucs-normalize-tests--normalization-equal-p): Rename from
18838         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
18839         messing with narrowing.  Take string to compare against and insert it
18840         into buffer so that compare-buffer-substrings can be used instead of
18841         allocating a new string from buffer contents.
18842         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
18843         for comparing single character.
18844         (ucs-normalize-tests--rule1-holds-p)
18845         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
18846         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
18847         `='.
18849 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
18851         Update failing lines for UCS normalize tests
18853         * test/lisp/international/ucs-normalize-tests.el
18854         (ucs-normalize-tests--failing-lines-part2): Update for new
18855         admin/unidata/NormalizationTest.txt version.
18857 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
18859         Semi-automate the procedure for updating UCS normalize test bad lines
18861         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
18862         commentary describing a manual procedure for producing the updated
18863         failing lines, it did not actually work.  Replace it with pointer to
18864         new function which prints the updated values.
18865         (ucs-normalize-tests--rule1-holds-p): Renamed from
18866         ucs-normalize-tests--invariants-hold-p.
18867         (ucs-normalize-tests--rule2-holds-p): Renamed from
18868         ucs-normalize-tests--invariants-rule2-hold-p.
18869         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
18870         ucs-normalize-tests--invariants-failing-for-part.
18871         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
18872         ucs-normalize-tests--invariants-failing-for-lines.
18873         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
18874         (ucs-normalize-part2): Set it.
18875         (ucs-normalize-part1): Always run through to end of test before
18876         checking for failures.
18877         (ucs-normalize-tests--insert-failing-lines)
18878         (ucs-normalize-check-failing-lines): New functions, used to update
18879         the *--failing-lines-part* variables.
18881 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
18883         * lisp/cus-start.el (standard): Spelling fix.
18885 2017-07-08  Philipp Stephani  <phst@google.com>
18887         Module assertions: check for garbage collections
18889         It's technically possible to write a user pointer finalizer that calls
18890         into Emacs module functions.  This would be disastrous because it
18891         would allow arbitrary Lisp code to run during garbage collection.
18892         Therefore extend the module assertions to check for this case.
18894         * src/emacs-module.c (module_assert_thread): Also check whether a
18895         garbage collection is in progress.
18897         * test/data/emacs-module/mod-test.c (invalid_finalizer)
18898         (Fmod_test_invalid_finalizer): New test module functions.
18899         (emacs_module_init): Register new test function.
18901         * test/src/emacs-module-tests.el (module--test-assertion)
18902         (module--with-temp-directory): New helper macros.
18903         (module--test-assertions--load-non-live-object): Rename existing
18904         unit test, use helper macros.
18905         (module--test-assertions--call-emacs-from-gc): New unit test.
18907 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
18909         Capitalize the menu entry for display-line-numbers
18911         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
18912         for display-line-numbers.  Suggested by Martin Rudalics
18913         <rudalics@gmx.at>.
18915 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
18917         Update Unicode data and files to Unicode 10.0
18919         * admin/notes/unicode:
18920         * admin/unidata/README:
18921         * admin/unidata/BidiBrackets.txt:
18922         * admin/unidata/BidiMirroring.txt:
18923         * admin/unidata/Blocks.txt:
18924         * admin/unidata/IVD_Sequences.txt:
18925         * admin/unidata/NormalizationTest.txt:
18926         * admin/unidata/SpecialCasing.txt:
18927         * admin/unidata/UnicodeData.txt:
18928         * lisp/international/characters.el:
18929         * lisp/international/fontset.el (script-representative-chars):
18930         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
18932 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
18934         Support '=' in Scheme and Lisp tags in 'etags'
18936         * lib-src/etags.c (get_lispy_tag): New function.
18937         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
18938         * test/manual/etags/CTAGS.good:
18939         * test/manual/etags/ETAGS.good_1:
18940         * test/manual/etags/ETAGS.good_2:
18941         * test/manual/etags/ETAGS.good_3:
18942         * test/manual/etags/ETAGS.good_4:
18943         * test/manual/etags/ETAGS.good_5:
18944         * test/manual/etags/ETAGS.good_6:
18945         * test/manual/etags/Makefile:
18946         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
18947         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
18949 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
18951         Avoid compiler warnings in xdisp.c debugging code
18953         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
18954         Use pD directives for ptrdiff_t values instead of pI, to avoid
18955         compilation warnings on 64-bit hosts.  (Bug#27597)
18957 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
18959         Commentary enhancement in frame.el
18961         * lisp/frame.el: Explain how to test whether a variable needs to
18962         be added to the list of those which are watched for buffer
18963         redisplay.
18965 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
18967         Support display of line numbers natively
18969         This merges branch 'line-numbers'.
18970         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
18971         function.
18972         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
18973         * src/dispextern.h (struct it): New members pt_lnum, lnum,
18974         lnum_bytepos, lnum_width, and lnum_pixel_width.
18975         * src/indent.c (line_number_display_width): New function,
18976         refactored from line-number width calculations in vertical-motion.
18977         (Fvertical_motion): Call line_number_display_width when the width
18978         of line-number display is needed.
18979         (Fline_number_display_width): New defun.
18980         (syms_of_indent): Defsubr it.
18981         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
18982         the width used up by line numbers by looking near the window-start
18983         point.  If window-start is outside of the accessible portion,
18984         temporarily widen the buffer.
18985         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
18986         space taken by the line-number display.
18987         * src/xdisp.c (display_count_lines_logically)
18988         (display_count_lines_visually, maybe_produce_line_number)
18989         (should_produce_line_number, row_text_area_empty): New functions.
18990         (try_window_reusing_current_matrix): Don't use this method when
18991         display-line-numbers is in effect.
18992         (try_window_id, try_cursor_movement): Disable these optimizations
18993         when the line-number-current-line face is different from
18994         line-number face and for relative line numbers.
18995         (try_window_id, redisplay_window, try_cursor_movement): For
18996         visual line-number display, disable the same redisplay
18997         optimizations as for relative.
18998         (x_produce_glyphs): Adjust tab stops for the horizontal
18999         space taken by the line-number display.
19000         (hscroll_window_tree): Adjust hscroll calculations to line-number
19001         display.
19002         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
19003         math.h; all users changed.
19004         (set_cursor_from_row): Fix calculation of cursor X coordinate in
19005         R2L rows with display-produced glyphs at the beginning.
19006         (display_line): Use should_produce_line_number to determine
19007         whether a line number should be produced for each glyph row, and
19008         maybe_produce_line_number to produce line numbers.
19009         Don't display line numbers in the minibuffer and in tooltip
19010         frames.
19011         Call row_text_area_empty to verify that a glyph
19012         row's text area is devoid of any glyphs that came from a buffer or
19013         a string.  This fixes a bug with empty-lines indication
19014         disappearing when line numbers or line-prefix are displayed.
19015         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
19016         <display-line-number-width>: New buffer-local variables.
19017         <display-line-numbers-current-absolute>: New variable.
19019         * lisp/cus-start.el (standard): Provide customization forms for
19020         display-line-numbers and its sub-features.
19021         * lisp/faces.el (line-number, line-number-current-line): New faces.
19022         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
19023         display-line-numbers-current-absolute, and
19024         display-line-number-width to the list of variables that should
19025         trigger redisplay of the current buffer.
19026         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
19027         turn display-line-numbers on and off.
19028         (toggle-display-line-numbers): New function.
19029         * lisp/simple.el (last--line-number-width): New internal variable.
19030         (line-move-visual): Use it to adjust temporary-goal-column when
19031         line-number display changes its width.
19033         * doc/emacs/basic.texi (Position Info): Add cross-reference to
19034         "Display Custom", for line-number display.
19035         * doc/emacs/custom.texi (Init Rebinding):
19036         * doc/emacs/modes.texi (Minor Modes): Remove references to
19037         linum-mode.
19038         * doc/emacs/display.texi (Display Custom): Describe the
19039         line-number display.
19040         * doc/lispref/display.texi (Size of Displayed Text): Document
19041         line-number-display-width.
19043         * etc/NEWS: Document display-line-numbers and its customizations.
19045 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
19047         Fix more ungetc bugs with encoding errors
19049         * src/lread.c (infile): New variable, replacing ...
19050         (instream): ... this.  All uses changed.
19051         (readbyte_from_stdio): New function, which deals with lookahead.
19052         (readbyte_from_file, Fget_file_char): Use it.
19053         (Fget_file_char): When misused, signal an error instead of
19054         relying on undefined behavior.
19055         (close_infile_unwind): New function.
19056         (Fload): Use it.
19057         (readevalloop): 2nd arg is now struct infile *, not FILE *.
19058         All callers changed.
19059         (read1): Handle lookahead when copying doc strings with
19060         encoding errors.
19062 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
19064         Avoid ungetc when loading charset maps from files
19066         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
19067         replacing the old EOF.  All callers changed.  This avoids the
19068         need to call ungetc.
19070 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
19072         Fix ungetc bug when reading an encoding error
19074         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
19075         error when reading an encoding error from a file, e.g., a symbol
19076         in an .elc file whose name is "\360\220\200\360".
19078 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
19080         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
19082         * lisp/window.el (display-buffer--special-action): Use a closure.
19084 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
19086         Add new todo-mode.el tests
19088         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
19089         Declare an Edebug spec.  Restore pre-test-run state of test files.
19090         (todo-test--show, todo-test--move-item)
19091         (todo-test--insert-item): New functions.
19092         (todo-test-get-archive): Remove, as subsumed by
19093         todo-test--show.  Adjust all callers.
19094         (todo-test--is-current-buffer): Rename from
19095         todo-test-is-current-buffer and adjust uses.
19096         (todo-test-item-highlighting): Use todo-test--show.
19097         (todo-test-revert-buffer01, todo-test-revert-buffer02)
19098         (todo-test-raise-lower-priority)
19099         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
19100         (todo-test-move-item02, todo-test-move-item03)
19101         (todo-test-move-item04, todo-test-move-item05)
19102         (todo-test-toggle-item-header01)
19103         (todo-test-toggle-item-header02)
19104         (todo-test-toggle-item-header03)
19105         (todo-test-toggle-item-header04)
19106         (todo-test-toggle-item-header05)
19107         (todo-test-toggle-item-header06)
19108         (todo-test-toggle-item-header07): New tests.
19110         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
19111         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
19112         Modify to accommodate new tests.
19114 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
19116         todo-mode.el: Fix handling of hidden item headers (bug#27609)
19118         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
19119         (todo-toggle-item-header): Use it.  Make this command a noop
19120         if the file has no items.
19121         (todo-move-item, todo-item-done): Instead of concatenating the
19122         items to move into one string, make a list of them to
19123         facilitate handling hidden headers.  Adjust insertion accordingly.
19124         (todo-archive-done-item): Handle hidden headers in archive file.
19125         (todo-unarchive-items): Handle hidden headers in todo file.
19126         (todo-backward-item): Use todo--item-headers-hidden and handle
19127         moving backward work when item date-time headers are hidden.
19128         (todo-remove-item): Delete date-time header overlay.
19129         (todo-get-overlay, todo-insert-with-overlays): Make them work
19130         with hidden date-time headers.
19131         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
19133 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
19135         Fix several todo-mode bugs found while debugging bug#27609
19137         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
19138         current category only once.
19139         (todo-mark-category): Update number of marked items to avoid
19140         spurious duplication in todo-categories-with-marks alist and
19141         corruption of the todo-categories alist.  Handle empty line
19142         when there are no todo items and done items are shown.
19143         (todo-set-item-priority): Make noop if called from
19144         todo-raise-item-priority or todo-lower-item-priority when
19145         point is on a done todo item or an empty line.
19146         (todo-move-item): Use markers instead of integer positions to
19147         correctly handle deleting the now moved items from the source
19148         category (without markers an infinite loop arises when moving
19149         marked item to a preceding category).
19150         (todo-unarchive-items): Put point on the (first) restored done
19151         item, instead of leaving it at the end of the done items
19152         separator string.
19153         (todo-revert-buffer): Ensure buffer remains read-only after
19154         reverting.
19156 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
19158         Exclude blank columns from value of line-number-display-width
19160         * src/indent.c (Fline_number_display_width): Don't add 2 to the
19161         number of columns we return, to make this consistent with
19162         display-line-number-width.
19164 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
19166         Fix vertical-motion across the place where line-number width changes
19168         * src/indent.c (line_number_display_width): New function,
19169         refactored from line-number width calculations in vertical-motion.
19170         (Fvertical_motion): Call line_number_display_width when the width
19171         of line-number display is needed.
19172         (Fline_number_display_width): New defun.
19173         (syms_of_indent): Defsubr it.
19175         * doc/lispref/display.texi (Size of Displayed Text): Document
19176         line-number-display-width.
19178         * etc/NEWS: Mention line-number-display-width.
19180         * lisp/simple.el (last--line-number-width): New internal variable.
19181         (line-move-visual): Use it to adjust temporary-goal-column when
19182         line-number display changes its width.
19184 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
19186         Remove Vwindow_text_change_functions and related code
19188         Vwindow_text_change_functions had been provided for implementing
19189         line numbers but apparently was never functional or in use.
19191         * src/xdisp.c (redisplay_window): Remove handling of
19192         Vwindow_text_change_functions.
19193         (syms_of_xdisp): Remove Qwindow_text_change_functions.
19194         (Vwindow_text_change_functions): Remove variable.
19195         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
19196         `window-text-change-functions'.
19198 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
19200         Convert more uses of looking-at to following-char
19202         More followup to Karl Fogel's commit a84da83c1.
19203         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
19204         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
19205         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
19206         * lisp/proced.el (proced-toggle-marks):
19207         * lisp/progmodes/f90.el (f90-indent-line):
19208         * lisp/ses.el (ses-load):
19209         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
19210         char comparisons using following-char.
19212 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
19214         Don't skip epg tests (Bug#23561)
19216         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
19217         parameter, since we supply the passphrase via pinentry-program for all
19218         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
19219         program (Bug#23619)").
19220         (epg-tests-program-alist-for-passphrase-callback): Remove.
19222 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
19224         Implement line numbers that disregard narrowing
19226         * src/xdisp.c (display_count_lines_logically): New function,
19227         counts line numbers disregarding narrowing.  Suggested by Andy
19228         Moreton <andrewjmoreton@gmail.com>.
19229         (maybe_produce_line_number): Call display_count_lines_logically
19230         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
19231         display-line-numbers-widen.
19232         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
19233         variable.
19235         * lisp/cus-start.el (standard): Provide a customization form for
19236         display-line-numbers-widen.
19237         * lisp/frame.el: Add display-line-numbers-widen,
19238         display-line-numbers-current-absolute, and
19239         display-line-number-width to the list of variables that should
19240         trigger redisplay of the current buffer.
19242         * doc/emacs/display.texi (Display Custom): Document
19243         display-line-numbers-widen.
19245 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
19247         Fix lisp-comment-indent for single-semicolon case
19249         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
19250         open paren if we're looking at multiple comment characters.
19251         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
19252         (lisp-comment-indent-2): New tests.
19254 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19256         Spelling fixes
19258         * lisp/org/org-table.el (org-table-sort-lines):
19259         Fix misspelling in prompt.
19260         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
19261         Fix misspelling in call to org-element-lineage.
19263 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
19265         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
19267         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
19268         line's code ends in open paren, set comment indentation exactly to
19269         column following it.
19270         (lisp-mode-variables): Set `comment-indent-function' to
19271         `lisp-comment-indent'.
19273 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
19275         Allow comment-indent-functions to specify exact indentation (Bug#385)
19277         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
19278         integers as indicating a range of acceptable indentation.
19279         (comment-indent): Don't apply `comment-inline-offset',
19280         `comment-choose-indent' already does that.
19281         (comment-indent-function):
19282         * doc/emacs/programs.texi (Options for Comments): Document new
19283         acceptable return values.
19284         * etc/NEWS: Announce it.
19286 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19288         Check for integer overflow in xbm images
19290         * src/image.c (XBM_TK_OVERFLOW): New constant.
19291         (xbm_scan): Check for integer overflow instead of relying on
19292         undefined behavior.  Check that octal digits are actually octal.
19294 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19296         Convert hex digits more systematically
19298         This makes the code a bit smaller and presumably faster, as
19299         it substitutes a single lookup for conditional jumps.
19300         * src/character.c (hexdigit): New constant.
19301         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
19302         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
19303         (hexdigit): New decl.
19304         (char_hexdigit): New inline function.
19305         * src/charset.c: Do not include c-ctype.h.
19306         * src/charset.c (read_hex):
19307         * src/editfns.c (styled_format):
19308         * src/image.c (xbm_scan):
19309         * src/lread.c (read_escape):
19310         * src/regex.c (ISXDIGIT) [emacs]:
19311         Use char_hexdigit insted of doing it by hand.
19313 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19315         Don’t use -Woverride-init
19317         I have some further changes in mind that would also need to
19318         disable the -Woverride-init warnings.  In practice these warnings
19319         seem to be more trouble than they’re worth, so disable them in the
19320         cc command line.
19321         * configure.ac: Disable -Woverride-init here ...
19322         * src/bytecode.c: ... rather than here.
19324 2017-07-05  Glenn Morris  <rgm@gnu.org>
19326         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
19328         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
19330 2017-07-05  Glenn Morris  <rgm@gnu.org>
19332         Small fix for bug-reference.el
19334         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
19335         Autoload safety property.  (Bug#27481)
19337 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
19339         Suppress timers in Tramp
19341         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
19343         * test/lisp/net/tramp-tests.el
19344         (tramp-test36-asynchronous-requests): Trigger timers.
19345         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
19346         Set `default-directory' to a trustworthy value.
19348 2017-07-05  rocky  <rb@dustyfeet.com>
19350         Add realgud face definitions
19352         Add realgud faces to tdsh-dark-theme
19354 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19356         * lisp/progmodes/cc-awk.el: Mark unused args
19358         * lisp/progmodes/cc-bytecomp.el: Mark unused args
19360 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19362         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
19364         ... before first use
19366 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19368         * lisp/progmodes/cc-vars.el: Mark unused args
19370 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19372         * lisp/progmodes/cc-langs.el: Mark unused args
19374         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
19375         unambiguous-prefix-ops.
19377 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19379         * lisp/progmodes/cc-engine.el: Mark unused args
19381         (c-beginning-of-statement-1, c-guess-basic-syntax):
19382         Remove unused var c-in-literal-cache.
19383         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
19384         (c-append-to-state-cache): Remove unused var `bra+1s'.
19385         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
19386         (c-invalidate-state-cache-1): Remove unused var `pa'.
19387         (c-forward-decl-or-cast-1): Change comments so they don't look like
19388         outline headers.
19389         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
19390         Declare before first use.
19391         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
19392         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
19394 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19396         * lisp/progmodes/cc-cmds.el: Remove unused vars
19398         (c-syntactic-context): Declare as dynbound.
19399         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
19401 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19403         * lisp/progmodes/cc-guess.el: Remove unused var
19405         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
19406         and computed variable `guessed-syntactic-symbols'.
19408 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19410         * lisp/progmodes/cc-align.el: Mark unused arguments
19412 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
19414         * lisp/progmodes/cc-mode.el: Mark unused arguments
19416         (c-parse-quotes-before-change, c-parse-quotes-after-change):
19417         Remove unused vars.
19419 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
19421         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
19423         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
19424         and `ffap-url-unwrap-remote'.
19426 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
19428         Fix infloop in uncomment-region-default (Bug#27112)
19430         When `comment-continue' has only blanks, `comment-padright' produces a
19431         regexp that matches the empty string, so `uncomment-region-default'
19432         will loop infinitely.
19433         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
19434         has nonblank characters.
19436 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
19438         Fix display of current line number in visual mode
19440         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
19441         of current line when line-number-current-line face was customized.
19442         Reported by Filipe Silva <filipe.silva@gmail.com>.
19444 2017-07-03  Philipp Stephani  <phst@google.com>
19446         Use hook instead of face list to inhibit electric quoting
19448         This is more flexible and doesn't couple electric quoting to font
19449         locking.
19450         Give that 'electric-quote-code-faces' was just introduced, remove it
19451         without formal deprecation.
19453         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
19454         hook variable.
19455         (electric-quote-post-self-insert-function): Run the hook.  Remove
19456         use of old 'electric-quote-code-faces' variable.
19458         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
19459         (electric-quote-markdown-in-code): Adapt unit tests.
19461 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
19463         Offer non-aligned indentation in lists in js-mode (Bug#27503)
19465         * lisp/progmodes/js.el (js--proper-indentation):
19466         New customization option 'js-indent-align-list-continuation'.
19467         Affects argument lists as well as arrays and object properties.
19468         * test/manual/indent/js-indent-align-list-continuation-nil.js:
19469         Test the change.
19471 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
19473         Avoid errors in vertical-motion when buffer is narrowed
19475         * src/indent.c (Fvertical_motion): If need to start from
19476         window-start, and it is outside of the accessible portion,
19477         temporarily widen the buffer.  This avoids errors in evil-mode.
19478         Reported by James Nguyen <james@jojojames.com>.
19480 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
19482         (Re-)activate remote tests of filenotify-tests.el
19484         * test/lisp/filenotify-tests.el
19485         (file-notify-test-remote-temporary-file-directory):
19486         Declare default host for mock method.  Offer home directory
19487         for mock method if it doesn't exist.
19488         (file-notify-test09-watched-file-in-watched-dir-remote):
19489         Remove, it doesn't work reliably.
19491 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
19493         Reset ansi escape context before printing eshell prompt (Bug#27407)
19495         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
19496         `ansi-color-context-region'.
19498 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
19500         Let ansi-color overlay hooks work in eshell (Bug#27407)
19502         * lisp/ansi-color.el (ansi-color-make-extent): Add
19503         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
19504         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
19505         `inhibit-modification-hooks' to nil while inserting the string.
19507 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
19509         Fix and simplify ansi escape detection (Bug#21381)
19511         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
19512         Remove.
19513         (ansi-color-control-seq-regexp): New constant, matches all escape
19514         sequences.
19515         (ansi-color-filter-apply, ansi-color-apply)
19516         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
19517         of matching color sequences separately from ignored sequences.
19518         Differentiate color sequences simply by checking the last character.
19520 2017-07-03  Damien Cassou  <damien@cassou.me>
19522         Add absolute optional parameter to line-number-at-pos (Bug#26417)
19524         * lisp/simple.el (line-number-at-pos): Add a second optional
19525           argument 'absolute'.
19526         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
19528 2017-07-03  R. Bernstein  <rocky@gnu.org>
19530         Add realgud faces
19532 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
19534         Fix tramp-tests.el for hydra
19536         * test/Makefile.in: Remove instrumentation for tramp-tests.
19538         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
19539         Remove instrumentation.  Wrap with a timeout.  Give hydra
19540         another timer value.  Set `default-directory' in timer.
19542 2017-07-03  Bastien  <bzg@gnu.org>
19544         Merge branch 'master' into scratch/org-mode-merge
19546         Merge branch 'master' into scratch/org-mode-merge
19548 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
19550         dired-do-shell-command: Fix check for wildcards
19552         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
19553         and '`?' i.e., keep the whitespaces.
19554         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
19556 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
19558         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
19560         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
19561         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
19562         split out from `shr-copy-url'.
19563         (shr-copy-url): Only copy the url, don't fetch it.
19564         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
19565         has the same behavior as the old `shr-copy-url'.
19566         * etc/NEWS: Announce changes.
19568 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
19570         Make eww-search-words prompt for query if nothing selected
19572         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
19573         user for a search query if the region is inactive or if the region is
19574         just whitespace.
19576 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
19578         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
19580         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
19581         * lisp/help-fns.el (describe-variable): No need to let-bind
19582         `cl-print-compiled-button' to t anymore.
19584 2017-07-02  Philipp Stephani  <phst@google.com>
19586         Electric quotes: Improve support for Markdown mode (Bug#24709)
19588         Introduce a new user option 'electric-quote-context-sensitive'.  If
19589         non-nil, have ' insert an opening quote if sensible.
19591         Also introduce a new variable 'electric-quote-code-faces'.  Major
19592         modes such as 'markdown-mode' can add faces to this list to treat text
19593         as inline code and disable electric quoting.
19595         * lisp/electric.el (electric-quote-context-sensitive): New user
19596         option.
19597         (electric-quote-code-faces): New variable.
19598         (electric-quote-post-self-insert-function): Treat ' as ` if
19599         desired and applicable; disable electric quoting for given faces.
19601         * test/lisp/electric-tests.el (electric-quote-opening-single)
19602         (electric-quote-closing-single, electric-quote-opening-double)
19603         (electric-quote-closing-double)
19604         (electric-quote-context-sensitive-backtick)
19605         (electric-quote-context-sensitive-bob-single)
19606         (electric-quote-context-sensitive-bob-double)
19607         (electric-quote-context-sensitive-bol-single)
19608         (electric-quote-context-sensitive-bol-double)
19609         (electric-quote-context-sensitive-after-space-single)
19610         (electric-quote-context-sensitive-after-space-double)
19611         (electric-quote-context-sensitive-after-letter-single)
19612         (electric-quote-context-sensitive-after-letter-double)
19613         (electric-quote-context-sensitive-after-paren-single)
19614         (electric-quote-context-sensitive-after-paren-double)
19615         (electric-quote-markdown-in-text)
19616         (electric-quote-markdown-in-code): New unit tests.
19618 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
19620         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
19622 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
19624         Avoid off-by-one errors in column C-n/C-p calculations
19626         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
19627         the width used up by line numbers by looking near the window-start
19628         point.
19630 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
19632         Ask confirmation for all suspicious wildcards
19634         * lisp/dired-aux.el (dired-do-shell-command): Check that all
19635         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
19637 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
19639         Extend dired-do-shell-command substitutions
19641         Substitute "`?`" inside command with the current file name.
19642         See details in:
19643         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
19644         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
19645         Mark as obsolete.
19646         (dired-isolated-string-re): New defun.
19647         (dired--star-or-qmark-p): New predicate.
19648         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
19649         with the current file name.
19650         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
19652 2017-07-02  Alan Mackenzie  <acm@muc.de>
19654         Fix bug in yesterday's CC Mode commit.
19656         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
19657         search has succeded before using the match data.
19658         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
19659         Specify that the position of the extremity of the head or tail is in the
19660         match data.
19662 2017-07-02  Philipp Stephani  <phst@google.com>
19664         Remove FIXME comments about sentinel values
19666         These FIXMEs can't be addressed because they would require breaking
19667         changes to the module API.  Furthermore, other module functions don't
19668         return sentinel values as well, so users generally have to call
19669         non_local_exit_check anyway.
19671         * src/emacs-module.c (module_set_user_ptr)
19672         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
19673         FIXME comments.
19675 2017-07-02  Philipp Stephani  <phst@google.com>
19677         Adapt Lisp reference to reader changes
19679         The reader now warns about some unescaped character literals, but
19680         still allows them for compatibility reasons.  Slightly adapt the
19681         manual to forbid them officially.
19683         * doc/lispref/objects.texi (Basic Char Syntax): Document that
19684         backslashes are now required before some characters.
19686 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
19688         Fix Bug#27502
19690         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
19691         (find-file-hook): Use it.  (Bug#27502)
19692         (auto-revert-remove-current-buffer): New defun.
19693         (auto-revert-mode, auto-revert-buffers): Use it.
19695 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
19697         Let test summary go through even if some logs were not generated
19699         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
19700         for existence of log files before reading.
19702 2017-07-01  Philipp Stephani  <phst@google.com>
19704         * src/module-env-25.h (copy_string_contents): Fix comment.
19706 2017-07-01  Philipp Stephani  <phst@google.com>
19708         Also mark module init function as noexcept if possible
19710         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
19711         possible.
19713 2017-07-01  Philipp Stephani  <phst@google.com>
19715         Improve C++98 compatibility
19717         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
19718         C++98 doesn't allow trailing commas in enumerations.
19720 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
19722         Minor copyedits of manuals regarding bidi conformance
19724         * doc/emacs/mule.texi (Bidirectional Editing):
19725         * doc/lispref/display.texi (Bidirectional Display): Update the
19726         bidi conformance text.
19728 2017-07-01  Alan Mackenzie  <acm@muc.de>
19730         Make C++ digit separators work.  Amend the handling of single quotes generally
19732         Single quotes, even in strings and comments, are now marked with the
19733         "punctuation" syntax-table property, except where they are validly bounding a
19734         character literal.  They are font locked with font-lock-warning-face except
19735         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
19737         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
19738         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
19739         functions/macros.
19741         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
19742         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
19744         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
19745         c-before-after-change-digit-quote from wherever it occurs.  Insert
19746         c-parse-quotes-before-change into the entries for the languages where it is
19747         needed.
19748         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
19749         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
19750         the languages which need it.
19751         (c-has-quoted-numbers): New lang-defconst/-defvar.
19753         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
19754         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
19755         (c-maybe-quoted-number): New defconsts.
19756         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
19757         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
19758         (c-parse-quotes-after-change): New functions.
19760 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
19762         Ignore mouse-movement for describe-key-briefly (Bug#12204)
19764         * lisp/help.el (help-read-key-sequence): Add optional argument ot
19765         ignore `mouse-movement' events.
19766         (describe-key-briefly): Use it.
19767         * doc/emacs/help.texi (Key Help):
19768         * etc/NEWS: Mention that mouse movement is ignored.
19770 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
19772         Refactor key describing commands
19774         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
19775         functions, extracted from `describe-key' and `describe-key-briefly'.
19776         (describe-key, describe-key-briefly): Use them.
19778 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
19780         Improve display of tabs with line numbers
19782         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
19783         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
19785 2017-07-01  Alan Third  <alan@idiocy.org>
19787         Fix threads on NS (bug#25265)
19789         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
19790         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
19791         src/nsterm.m (ns_select): Call thread_select from within ns_select.
19792         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
19793         (ns_send_appdefined): Don't wait for main thread when sending app
19794         defined event.
19795         src/process.c (wait_reading_process_output): Call thread_select from
19796         within ns_select.
19797         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
19798         its event loop using ns_run_loop_break.
19800 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
19802         Avoid slow redisplay under 'visual' mode of line numbers
19804         * src/xdisp.c (display_count_lines_visually): Avoid very slow
19805         redisplay when this function is invoked very far from point.
19806         Reported by Alex <agrambot@gmail.com>.
19808 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
19810         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
19812 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
19814         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
19816         (cl--random-state, cl--random-time): Move from cl-lib.el.
19817         (cl-random): Use struct accessors.
19818         (cl-random-state-p): Remove, provided by the defstruct.
19819         (cl-make-random-state): Rewrite to struct constructor.
19821 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
19823         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
19825 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
19827         Improve documentation of faces related to display-line-numbers
19829         * lisp/faces.el (line-number, line-number-current-line): Warn
19830         against using non-monospaced fonts.
19832 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
19834         Fix relative-number display with non-nil display-line-number-width
19836         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
19837         value of display-line-number-width as acceptable.
19838         Handle the case of 'relative' with display-line-number-width
19839         non-nil and smaller than the absolute line number requires.
19840         Reported by Alex <agrambot@gmail.com>.
19842 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
19844         Release Tramp 2.3.2
19846         * doc/misc/tramp.texi (Android shell setup): Show default file name.
19847         Structure section.
19849         * doc/misc/trampver.texi:
19850         * lisp/net/trampver.el: Change version to "2.3.2".
19852         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
19853         Offer home directory for mock method if it doesn't exist.
19855 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
19857         Add documentation for display-line-numbers
19859         * doc/emacs/custom.texi (Init Rebinding):
19860         * doc/emacs/modes.texi (Minor Modes): Remove references to
19861         linum-mode.
19862         * doc/emacs/display.texi (Display Custom): Describe the
19863         line-number display.
19864         (Optional Mode Line): Fix the index entry to not conflict with
19865         that in "Display Custom".
19866         * doc/emacs/basic.texi (Position Info): Add cross-reference to
19867         "Display Custom", for line-number display.
19869         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
19870         display-line-numbers-disable in the doc string.
19872         * lisp/cus-start.el (standard): Fix lst change.
19874 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
19876         Support displaying zero as the number of the current line
19878         * src/xdisp.c (syms_of_xdisp)
19879         <display-line-numbers-current-absolute>: New variable.
19880         <display-line-numbers>: Doc fix.
19881         (maybe_produce_line_number): Support nil value of
19882         display-line-numbers-current-absolute.
19884         * lisp/cus-start.el (standard): Add customization form for
19885         display-line-numbers-current-absolute.
19887         * etc/NEWS: Document recently introduced features.
19889 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
19891         Speed up the visual-mode relative line numbers
19893         * src/xdisp.c (display_count_lines_visually): Introduce a
19894         shortcut: if a relative line number was already calculated for
19895         this iterator object, just increase it instead of the
19896         expensive call to move_it_to.  Argument list changed to pass a
19897         pointer to the iterator object.
19898         (maybe_produce_line_number): Adjust for change in signature of
19899         display_count_lines_visually.  Record the relative line number and
19900         the corresponding byte position in the iterator object also in the
19901         'visual' mode.
19903 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
19905         Fix hscrolling with line numbers on TTY frames
19907         * src/xdisp.c (hscroll_window_tree): Correct the X offset
19908         calculations on TTY frames.
19909         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
19910         a kludge using it->lnum_width.
19912 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
19914         Fix TAB display when the line-number face uses a smaller/larger font
19916         * src/dispextern.h (struct it): New member lnum_pixel_width.
19917         * src/xdisp.c (maybe_produce_line_number): Compute the width of
19918         the line-number display in pixels.
19919         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
19920         that used it->lnum_width and made assumptions about pixel width.
19922 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
19924         Escape NUL bytes in X selections (Bug#6991)
19926         * lisp/term/w32-win.el (w32--set-selection):
19927         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
19928         "\0".
19929         * doc/emacs/killing.texi: Document new behavior.
19930         * etc/NEWS (times): Announce it.
19932 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
19934         Hide byte code in backtraces (Bug#6991)
19936         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
19937         defaulting to `cl-print'.
19938         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
19939         `prin1'.
19940         * etc/NEWS: Announce it.
19942 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
19944         Don't redundantly cl-print arglist in function docstring again
19946         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
19947         part of docstring.
19948         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
19949         test accordingly.
19951 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
19953         Escape control characters in backtraces (Bug#6991)
19955         * src/print.c (syms_of_print): Add new variable,
19956         print-escape-control-characters.
19957         (print_object): Print control characters with octal escape codes when
19958         print-escape-control-characters is true.
19959         * lisp/subr.el (backtrace):
19960         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
19961         `print-escape-control-characters' to t.
19963 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
19965         Improve ert backtrace recording
19967         Change ert to use the new `backtrace-frames' function instead of
19968         collecting frames one by one with `backtrace-frame'.  Additionally,
19969         collect frames starting from `signal' instead the somewhat arbitrary
19970         "6 from the bottom".  Skipping 6 frames would skip the expression that
19971         actually caused the signal that triggered the debugger.  Possibly 6
19972         was chosen because in the case of a failed test, the triggering frame
19973         is an `ert-fail' call, which is not so interesting.  But in case of a
19974         test throwing an error, this drops the `error' call which is too much.
19976         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
19977         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
19978         code from `debugger-make-xrefs'.
19979         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
19980         `debugger-insert-backtrace'.
19981         (ert--run-test-debugger): Record the backtrace frames starting from
19982         the instigating `signal' call.
19983         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
19984         DO-XREFS parameter.
19985         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
19986         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
19987         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
19988         the backtrace list instead of comparing its string representation.
19989         Expect `signal' to be the first frame.
19991 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
19993         Operate on frame list instead of printed backtrace
19995         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
19996         prints the given backtrace frames.
19997         (debugger-setup-buffer): Use it instead of editing the backtrace
19998         buffer text.
20000 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
20002         Minor fixes
20004         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
20005         line numbers to be displayed in empty lines beyond ZV.
20006         (x_produce_glyphs): Start fixing TAB display in truncated lines.
20008 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
20010         Improve timer handling when Tramp accepts output
20012         * lisp/net/tramp-compat.el: Avoid compiler warning.
20014         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
20015         Remove lock machinery.
20017         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
20018         (tramp-file-name-handler): Add lock machinery from
20019         `tramp-sh-file-name-handler'.  Allow timers to run.
20020         (tramp-accept-process-output): Remove nasty workaround.
20021         Suppress timers.
20023         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
20024         Suppress run in tests.
20025         (tramp--instrument-test-case-p): New defvar.
20026         (tramp--instrument-test-case): Use it in order to allow nested calls.
20027         (tramp--test-message, tramp--test-backtrace): New defsubst,
20028         will be used for occasional test instrumentation.
20029         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
20030         (tramp-test28-shell-command)
20031         (tramp--test-shell-command-to-string-asynchronously): Suppress
20032         nasty messages.  Don't overwrite sentinel.
20033         (tramp-test36-asynchronous-requests): Rewrite major parts.
20034         Expect :passed.
20036 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20038         * lisp/url/url-history.el: Use lexical-binding
20040         (url-completion-function): Mark as obsolete.
20041         Mark unused args accordingly.
20043 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
20045         Don't assume url structs are vectors (Bug#27333)
20047         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
20048         instead of `vectorp'.
20050 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
20052         Replace with dolist some uses of while
20054         * lisp/calc/calc-units.el (calc-permanent-units):
20055         (math-compare-unit-names, math-simplify-units-quotient):
20056         (math-build-units-table-buffer): Use dolist to replace extra bindings
20057         and some while loops.
20059 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
20061         Make tcl-auto-fill-mode obsolete (Bug#10772)
20063         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
20064         * etc/NEWS: Announce it.
20066 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
20068         Don't read eshell/which output from *Help* buffer (Bug#26894)
20070         * lisp/help-fns.el (help-fns--analyse-function)
20071         (help-fns-function-description-header): New functions, extracted from
20072         describe-function-1.
20073         (describe-function-1): Use them.
20074         * lisp/eshell/esh-cmd.el (eshell/which): Use
20075         `help-fns-function-description-header' instead of
20076         `describe-function-1'.
20078 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
20080         Support default-text-properties
20082         * src/xdisp.c (should_produce_line_number): Call get-char-property
20083         at ZV as well, to support default-text-properties.
20085 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
20087         Avoid segfaults when some display vector is an empty string
20089         * src/xdisp.c (next_element_from_display_vector): Don't try
20090         accessing the dpvec[] array if its size is zero.  (Bug#27504)
20092 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
20094         Initial support for visually-relative line numbers
20096         Works very slowly.
20098         * src/xdisp.c (display_count_lines_visually): New function.
20099         (maybe_produce_line_number): Support 'visual' mode of line-number
20100         display.
20101         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
20102         also when glyph_row is NULL.  This is important for move_it_*
20103         functions.
20104         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
20105         (try_window_id, redisplay_window, try_cursor_movement): For
20106         'visual' line-number display, disable the same redisplay
20107         optimizations as for 'relative'.
20109         * lisp/cus-start.el (standard): Add new value for the
20110         customization form of display-line-numbers.
20112 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
20114         Update IT's metrics while simulating display
20116         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
20117         also when glyph_row is NULL.  This is important for move_it_*
20118         functions.
20120 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
20122         Fix bug in handling GnuPG's TRUST_MARGINAL status
20124         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
20125         to `good'.
20127 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
20129         Prefer `when' instead of 1-branch `if'
20131         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
20132         in local variable ok.
20133         Use `when' instead of 1-branch `if'.
20135 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
20137         Use #' instead of (function ...)
20139         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
20140         (dired-mark-confirm, dired-query, dired-byte-compile)
20141         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
20142         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
20143         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
20144         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
20145         (dired-do-copy-regexp, dired-do-hardlink-regexp)
20146         (dired-do-symlink-regexp, dired-create-files-non-directory)
20147         (dired-upcase, dired-downcase)
20149         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
20150         (dired-internal-do-deletions, dired-internal-do-deletions):
20151         Prefer #' instead of (function ...).
20153 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
20155         Don't quote lambda forms
20157         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
20158         (dired-mark, dired-desktop-buffer-misc-data)
20160         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
20161         (dired-create-files-non-directory, dired-insert-subdir-validate)
20162         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
20164 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
20166         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
20168         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
20169         and `brackets-after-id'.
20170         (c-font-lock-objc-methods): Mark unused args.
20172 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20174         Omit null-pointer test in intervals.h FRAME
20176         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
20177         (INTERVAL_LAST_POS): Omit unnecessary parens.
20178         (LENGTH): Omit test for null pointer.  The argument is never null.
20179         The unnecessary test causes GCC 7.1.0 to assume that the argument
20180         might be null, and therefore to issue false alarms when the
20181         argument is dereferenced in other expressions.
20183 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20185         Parenthesize frame.h macro definitions
20187         * src/frame.h (FRAME_TOOL_BAR_POSITION)
20188         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
20189         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
20190         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
20191         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
20192         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
20193         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
20194         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
20195         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
20196         to allow arbitrary expression arguments.
20198 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20200         Port recent frame changes to GCC 7
20202         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
20203         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
20204         might return null.  This also avoids a run-time test.
20206 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
20208         Minor aesthetic fix of last change.
20210 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
20212         Allow to disable display of line numbers beyond EOB
20214         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
20215         function.
20216         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
20217         * src/xdisp.c (should_produce_line_number): When at ZV, call
20218         disable_line_numbers_overlay_at_eob to determine whether line
20219         numbers should be displayed beyond ZV.
20221 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
20223         Fix Android 6/7 problems in Tramp
20225         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
20226         (tramp-adb-handle-directory-files-and-attributes)
20227         (tramp-adb-handle-file-name-all-completions): Insert "."  and
20228         ".." only when needed.
20229         (tramp-adb-get-ls-command): Force one column output for toybox.
20231 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
20233         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
20235 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
20237         Fix line number display for overlay/display strings with newlines
20239         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
20240         producing space glyphs instead of a line number to include the
20241         case of display strings and overlays.
20243 2017-06-25  Alan Mackenzie  <acm@muc.de>
20245         Make CC Mode load cl-lib rather than cl in Emacs 26.
20247         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
20248         variable.
20250         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
20251         (c--cl-library): New variable.
20252         (Top level): Amend the form which requires library cl or cl-lib.
20253         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
20254         (c--delete-duplicate): Amend to use c--cl-library instead of
20255         c--mapcan-status.
20257         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
20258         (c-back-over-compound-identifier): Remove unused local variables.
20260         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
20261         local variable.
20263         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
20264         of c--mapcan-status.
20266         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
20267         silence a compiler warning.
20269 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
20271         Provide additional support for child frames
20273         Provide mouse dragging and resizing of frames.  Allow resizing
20274         frames proportionally.  Provide additional functionality for
20275         child frames.  Minor bug fixes.
20277         * lisp/frame.el (frame-border-width, frame-pixel-width)
20278         (frame-pixel-height): Alias to `frame-internal-border-width',
20279         `frame-native-width' and `frame-native-height'.
20280         (frame-inner-width, frame-inner-height, frame-outer-width)
20281         (frame-outer-height): New functions.
20282         * lisp/minibuffer.el (completion-auto-help): Fix typo.
20283         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
20284         (mouse-drag-header-line): Allow moving a frame by dragging the
20285         mode line of its bottommost window (on a minibuffer-less frame)
20286         or the header line of its topmost window.
20287         (mouse-drag-vertical-line): Mention argument in doc-string.
20288         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
20289         (mouse-drag-top-left-corner, mouse-drag-top-edge)
20290         (mouse-drag-top-right-corner, mouse-drag-right-edge)
20291         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
20292         (mouse-drag-bottom-left-corner): New functions for resizing a
20293         frame by dragging its internal border together with
20294         corresponding key bindings.
20295         * lisp/tooltip.el (tooltip-frame-parameters): Add
20296         'no-special-glyphs' to default parameters and update version
20297         tag.
20298         * lisp/window.el (frame-auto-hide-function): Add choice to make
20299         frame invisible and update version tag.
20300         (window--delete): Handle 'auto-hide-function' frame parameter.
20301         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
20302         'no-accept-focus' frame parameters.
20303         (display-buffer--action-function-custom-type): Add
20304         `display-buffer-in-child-frame'.
20305         (display-buffer): Mention `display-buffer-in-child-frame' in
20306         doc-string.
20307         (display-buffer-in-child-frame): New action function for
20308         `display-buffer'.
20309         (window--sanitize-margin): Return zero when MARGIN cannot be
20310         sanitized.
20311         (fit-frame-to-buffer): Major rewrite to handle child frames and
20312         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
20313         frame parameters.
20314         (window-largest-empty-rectangle--maximums-1)
20315         (window-largest-empty-rectangle--maximums)
20316         (window-largest-empty-rectangle--disjoint-maximums)
20317         (window-largest-empty-rectangle): New functions.
20319         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
20320         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
20321         provided by corresponding functions window_wants_modeline and
20322         window_wants_header_line in window.c.  Adjust users.
20323         * src/dispnew.c (adjust_glyph_matrix)
20324         (buffer_posn_from_coords): Use window_wants_modeline and
20325         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
20326         WINDOW_WANTS_HEADER_LINE_P.
20327         * src/frame.c (keep_ratio): New function.
20328         (adjust_frame_size): Call keep_ratio for each of F's child
20329         frames.
20330         (make_frame): Initialize no_special_glyphs slot.
20331         (frame_internal_border_part): New function.
20332         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
20333         to Fframe_native_width, Fframe_native_height mand
20334         Fframe_internal_border_width.
20335         (frame_parm_table): Add Qno_special_glyphs entry.
20336         (frame_float_type): New enumeration type.
20337         (frame_float): New function to handle frame size and position
20338         ratios.
20339         (x_set_frame_parameters): Handle size and position ratios.
20340         (x_set_no_special_glyphs): New function
20341         (x_figure_window_size): Handle size and position ratios.
20342         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
20343         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
20344         Qheight_only, Qleft_only and Qtop_only.
20345         * src/frame.h (internal_border_part): New enumeration type.
20346         (struct frame): New slot no_special_glyphs.
20347         (FRAME_NO_SPECIAL_GLYPHS): New macro.
20348         * src/gtkutil.c (xg_frame_restack): Return immediately for
20349         GTK versions before 2.18.0.
20350         * src/keyboard.c (internal_border_parts): New array constant.
20351         (make_lispy_position): For frames with border dragging enabled
20352         return internal border part.
20353         (syms_of_keyboard): New symbols Qdrag_internal_border,
20354         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
20355         Qright_edge, Qbottom_right_corner, Qbottom_edge and
20356         Qbottom_left_corner.
20357         * src/minibuf.c (read_minibuf_unwind): When exiting the
20358         minibuffer deal with frames that have the 'minibuffer-exit'
20359         parameter set.
20360         (syms_of_minibuf): New symbol Qminibuffer_exit.
20361         * src/nsfns.m (frame_parm_handler): Add entry for
20362         x_set_no_special_glyphs.
20363         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
20364         Intitialize new cursor types for dragging frame borders.
20365         * src/nsterm.h (struct ns_output): Add new cursor types for
20366         dragging frame borders.
20367         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
20368         x_set_no_special_glyphs.
20369         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
20370         Intitialize new cursor types for dragging frame borders.
20371         * src/w32term.h (struct w32_output): Add new cursor types for
20372         dragging frame borders.
20373         * src/window.c (coordinates_in_window)
20374         (Fwindow_line_height, window_internal_height): Use
20375         window_wants_modeline and window_wants_header_line instead of
20376         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
20377         (Fwindow_lines_pixel_dimensions): New function.
20378         (window_parameter): New function.
20379         (Fwindow_parameter): Call window_parameter.
20380         (window_wants_mode_line, window_wants_header_line): New
20381         functions replacing the macros WINDOW_WANTS_MODELINE_P and
20382         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
20383         (syms_of_window): New symbols Qmode_line_format and
20384         Qheader_line_format.
20385         * src/window.h: Reorganize and re-comment macros.  Use
20386         window_wants_modeline and window_wants_header_line instead of
20387         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
20388         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
20389         (WINDOW_BUFFER): New macro.
20390         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
20391         * src/xdisp.c (window_text_bottom_y, window_box_height)
20392         (window_box, start_display)
20393         (compute_window_start_on_continuation_line)
20394         (try_cursor_movement, redisplay_window)
20395         (try_window_reusing_current_matrix, try_window_id)
20396         (display_line, expose_window): Use window_wants_modeline and
20397         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
20398         WINDOW_WANTS_HEADER_LINE_P.
20399         (pos_visible_p, display_mode_lines): Respect W's
20400         'mode-line-format' and 'header-line-format' window parameters.
20401         (init_iterator): Use window_wants_modeline and
20402         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
20403         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
20404         no_special_glyphs value.
20405         (note_mouse_highlight): Set frame border cursors when on
20406         internal border.
20407         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
20408         drawing of window dividers.
20409         * src/xfns.c (mouse_cursor): Add entries for border parts.
20410         (mouse_cursor_types): Add entries for cursor types to drag
20411         frame borders.
20412         (INSTALL_CURSOR): Add entries for new cursor types to drag
20413         frame borders.
20414         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
20415         (x_frame_parm_handlers): Add entry for
20416         x_set_no_special_glyphs.
20417         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
20418         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
20419         (Vx_window_right_edge_shape)
20420         (Vx_window_bottom_right_corner_shape)
20421         (Vx_window_bottom_edge_shape)
20422         (Vx_window_bottom_left_corner_shape): New variables.
20423         (x_frame_restack): Call xg_frame_restack only for GTK versions
20424         starting with 2.18.0.
20425         * src/xterm.c (x_free_frame_resources): Remove new cursors for
20426         dragging frame borders.
20427         * src/xterm.h (struct x_output): Add new cursor types for
20428         dragging frame borders.
20430         * doc/lispref/display.texi (Size of Displayed Text): Document
20431         `window-lines-pixel-dimensions'.
20432         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
20433         Parameters".
20434         * doc/lispref/frames.texi (Frame Size): Replace
20435         frame-pixel-width/-height by frame-native-width/-height.  Add
20436         frame-inner-width/-height and frame-outer-width/-height docs.
20437         (Position Parameters): Describe specifying position as ratios.
20438         Clarify remark about positions relative to bottom/ridge display
20439         edge.
20440         (Size Parameters): Describe specifying sizes as ratios.
20441         Describe 'fit-frame-to-buffer-margins' and
20442         'fit-frame-to-buffer-sizes' parameters.
20443         (Layout Parameters): Describe 'no-special-glyphs' parameter.
20444         (Frame Interaction Parameters): Describe 'auto-hide-function',
20445         'minibuffer-exit' and 'keep-ratio' parameters.
20446         (Mouse Dragging Parameters): New section describing
20447         'drag-internal-border', 'drag-with-header-line',
20448         'drag-with-mode-line', 'snap-width', 'top-visible' and
20449         'bottom-visible' parameters.
20450         (Management Parameters): Mention that `override-redirect' has
20451         no effect on MS Windows.
20452         (Font and Color Parameters): Mention child frames for `alpha'
20453         parameter.
20454         (Child Frames): Rewrite section with description and cross
20455         references to new frame parameters added.
20456         * doc/lispref/modes.texi (Mode Line Basics): Mention
20457         'mode-line-format' and 'header-line-format' window parameters.
20458         * doc/lispref/windows.texi (Resizing Windows): Mention effect
20459         of `fit-frame-to-buffer-margins' for child frames.
20460         (Display Action Functions): New action function
20461         `display-buffer-in-child-frame'.
20462         (Quitting Windows): Mention `make-frame-invisible' as optional
20463         value of `frame-auto-hide-function' and `auto-hide-function'
20464         frame paameter.
20465         (Coordinates and Windows): Describe new function
20466         `window-largest-empty-rectangle'.
20467         (Window Parameters): Describe new parameters 'mode-line-format'
20468         and 'header-line-format'.  Index all window parameters described
20469         in this section.
20471 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
20473         Adjust lm-verify to accept current notices
20475         Problem reported by Mike Kupfer in:
20476         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
20477         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
20478         Do not require later lines in a copyright notice to have more
20479         indentation than earlier lines.
20481 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20483         Minor change in NEWS.
20485         Improve documentation in NEWS.
20487 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20489         Move additional hscrolling code into a suitable 'if'
20491         * src/xdisp.c (hscroll_window_tree): Make additional calculations
20492         regarding glyphs produced for line numbers conditional on
20493         line-number display.
20495 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20497         Partial fix of hscroll of truncated lines with line numbers
20499         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
20500         hscroll calculations to line-number display.
20501         * src/term.c (produce_glyphs): Adjust tab stop to window's
20502         hscroll.  These two changes fix horizontal scrolling when line
20503         numbers are displayed.  But there's still a bug: the horizontal
20504         shift of lines that begin with a TAB is different from the rest.
20505         * src/xdisp.c (move_it_in_display_line_to): Call
20506         should_produce_line_number to determine whether a line number
20507         should be produced for this screen line.
20509 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
20511         Don't change byte-compile-delete-errors at runtime (Bug#27340)
20513         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
20514         time.
20516 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20518         Allow Lisp program to disable line-number display for specific lines
20520         * etc/NEWS: Update the documentation.
20522         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
20523         symbol.
20524         (should_produce_line_number): New function.
20525         (display_line): Use should_produce_line_number to determine
20526         whether a line number should be produced for each glyph row.
20528 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20530         * lisp/net/html2text.el: Move to obsolete/.
20532 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20534         Support a separate face for displaying the current line's number
20536         * lisp/faces.el (line-number-current-line): New face.
20538         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
20539         symbol.
20540         (try_window_id, try_cursor_movement): Disable these optimizations
20541         when the line-number-current-line face is different from
20542         line-number face.
20543         (maybe_produce_line_number): Display the current line in the
20544         line-number-current-line face, if it's different from line-number.
20546 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20548         Change display of current line in relative mode
20550         * src/xdisp.c (maybe_produce_line_number): In relative mode
20551         display the current line number as its absolute value, not as zero.
20553 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20555         Rename display-line-width
20557         * etc/NEWS:
20558         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
20559         * lisp/cus-start.el: Rename display-line-width to
20560         display-line-number-width.
20562 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20564         Fix tab stops when line numbers are displayed
20566         * src/xdisp.c (x_produce_glyphs):
20567         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
20568         space taken by the line-number display.
20570 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20572         Fix crashes on TTY frames due to negative lnum_width.
20574         Don't display line numbers in the minibuffer and in tooltip frames.
20576 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20578         Fix problems with line-number updates in Follow mode
20580         * src/xdisp.c (redisplay_window): If forced window-start requires
20581         to move a window's point, and the window is under relative
20582         line-number display, force another round of redisplay to update
20583         the relative line numbers.  This fixes follow-mode "redisplay" of
20584         its window group.
20586         * lisp/frame.el: Add display-line-numbers to the list of variables
20587         that should trigger redisplay of the current buffer.
20589 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
20591         Fix display of line numbers with fonts larger than the default
20593         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
20594         IT, not in IT->glyph_row, since the latter gets overwritten in
20595         display_line.  Fixes display of line numbers when the font used
20596         for them is larger than that of the default face.
20598 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
20600         Fix background color beyond EOB and cursor display
20602         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
20603         for background of the blank glyphs in the line-number area which
20604         are drawn beyond EOB.
20605         (display_line): Reset the glyph row's displays_text_p flag only on
20606         empty lines that don't display line numbers.  This fixes cursor
20607         display beyond EOB.  Fix the bidi information in the glyphs
20608         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
20609         produced for line numbers.
20611 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
20613         Fix display of indicate-empty-lines when line numbers are displayed
20615         * src/xdisp.c (row_text_area_empty): New function.
20616         (display_line): Call row_text_area_empty to verify that a glyph
20617         row's text area is devoid of any glyphs that came from a buffer or
20618         a string.  This fixes a bug with empty-lines indication
20619         disappearing when line numbers or line-prefix are displayed.
20620         (display_line): Delete the argument FORCE; all callers changed.
20621         Remove the condition for actually producing the glyphs for the
20622         line number, as even if the number didn't change we need to
20623         produce empty space.
20625 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
20627         Fix symbol relocation when the relocated cell is renamed.
20629         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
20630         hashmap has been instantiated before getting data from it.  When
20631         editing several spreadsheets, and you have spreadsheet #1 with a
20632         cell named `foo', and no renamed cell in spreadsheet #2, then if
20633         you make a formula with `foo' in spreadsheet #2, not doing this
20634         check will make an error.
20635         (ses-cell-set-formula): Robustify versus incorrect cell references
20636         given in the user provided formula.  An explicit error message is
20637         provided after the action when the user gives an incorrect cell
20638         reference, but the formula edition is not changed.  This means that
20639         if the incorrect reference is to a cell that is created someday,
20640         then this new cell will not have the edited cell in its reference
20641         list.  Fixing this can still be done by editing again the first
20642         cell formula.
20643         (ses-relocate-symbol): Do not create symbol of referred-to cell
20644         when this is a renamed cell.
20646 2017-06-23  Rasmus  <rasmus@gmx.us>
20648         Synchronize with the "emacs-sync" branch from Org
20650 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20652         Remove getc_unlocked configure-time check
20654         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
20655         does this for us.
20657 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20659         Use unlocked stdio more systematically
20661         This can improve performance significantly on stdio-bottlenecked code.
20662         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
20663         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
20664         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
20665         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
20666         * lib-src/profile.c, lib-src/update-game-score.c:
20667         Include unlocked-io.h instead of stdio.h, since these programs are
20668         single-threaded.
20669         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20670         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
20671         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
20672         * src/lread.c, src/term.c:
20673         Include sysstdio.h, possibly instead of stdio.h, to define
20674         the unlocked functions if the system does not provide them.
20675         * src/charset.c, src/lread.c (getc_unlocked):
20676         Remove, since sysstdio.h now defines it if needed.
20677         * src/cm.c (cmputc, cmcheckmagic):
20678         * src/dispnew.c (update_frame, update_frame_with_menu)
20679         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
20680         * src/emacs.c (main, Fdump_emacs):
20681         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
20682         * src/image.c (slurp_file, png_read_from_file, png_load_body)
20683         (our_stdio_fill_input_buffer):
20684         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
20685         * src/lread.c (readbyte_from_file):
20686         * src/minibuf.c (read_minibuf_noninteractive):
20687         * src/print.c (printchar_to_stream, strout)
20688         (Fredirect_debugging_output):
20689         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
20690         (procfs_get_total_memory):
20691         * src/term.c (tty_ring_bell, tty_send_additional_strings)
20692         (tty_set_terminal_modes, tty_reset_terminal_modes)
20693         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
20694         (tty_write_glyphs_with_face, tty_insert_glyphs)
20695         (tty_menu_activate):
20696         * src/xfaces.c (Fx_load_color_file):
20697         Use unlocked stdio when it should be safe.
20698         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
20699         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
20700         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
20701         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
20703 2017-06-22  Glenn Morris  <rgm@gnu.org>
20705         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
20707 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
20709         unidata: don’t check special casing in unidata-check  (bug#26656)
20711         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
20712         casing mapping of characters since that mapping is not constructed from
20713         the unidata.txt file.
20714         Also, check for integer decoder and cons char earlier so that less
20715         unnecessary processing is performed.
20717 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
20719         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
20721         Avoid string-to-multibyte and string-as-unibyte.
20722         Don't make *Help* unibyte just because the char was in a unibyte buffer.
20724 2017-06-22  Rasmus  <rasmus@gmx.us>
20726         Add Org schemas.xml contents to Emacs schemas.xml
20728         Entries from the Org version of schemas.xml have been added to
20729         the Emacs version of schemas.xml.
20731 2017-06-22  Rasmus  <rasmus@gmx.us>
20733         Update Org to v9.0.9
20735         Please see etc/ORG-NEWS for details.
20737 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
20739         Do not hard code A1 cell reference, as it may be renamed.
20741         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
20743 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
20745         Fix make_hash_table calls in lread.c
20747         * src/lread.c (readevalloop, read_internal_start): Fix
20748         make_hash_table calls to make build succeed.
20750 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
20752         Merge several Lisp reader speedups.
20754 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
20756         Create less garbage to collect while reading symbols.
20758         * src/lread.c (read1): When interning a symbol, only create a new
20759         string object for the name if we're going to use it for a new symbol
20760         object.
20762 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
20764         Replace read_objects assoc list with two hash tables.
20766         For larger input files with lots of shared data structures, an
20767         association list is too slow.
20769         * src/lread.c (read_objects_map, read_objects_completed): New
20770         variables, replacing read_objects.
20771         (readevalloop): Initialize them with hash tables before starting a
20772         top-level read, if they're not already empty hash tables, and reset
20773         them to Qnil afterwards if something was added to the hash tables.
20774         (read_internal_start): Likewise.
20775         (read1): Store first the placeholder and later the newly read object
20776         into read_objects_map under the specified object number.  If the new
20777         object can contain a reference to itself, store it in
20778         read_objects_completed.
20779         (substitute_objects_recurse): Check read_objects_completed instead of
20780         read_objects for the known possibly-recursive objects.
20781         (syms_of_lread): Update initializations.
20783 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
20785         Use getc_unlocked.
20787         * configure.ac: Check for getc_unlocked.
20788         * src/charset.c (read_hex, load_charset_map_from_file): Use
20789         getc_unlocked instead of getc.
20790         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
20791         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
20792         getc_unlocked): Likewise.
20794 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
20796         Reduce lread substitutions.
20798         * src/lread.c (read1): After reading an object using the "#n=" syntax,
20799         if the read object is a cons cell, instead of recursively substituting
20800         the placeholder with the new object, mutate the placeholder cons cell
20801         itself to have the correct car and cdr values.
20803 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
20805         Short-circuit substitutions for some simple types.
20807         Values that don't contain other values cannot be circular, so checking
20808         for circular objects is a waste of cycles.
20810         * src/lread.c (substitute_object_recurse): If the subtree being
20811         examined is a symbol, number, or property-less string, just return
20812         it.
20814 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20816         Limit style_format to MAX_ALLOCA
20818         * src/editfns.c (styled_format): Subtract initial buffer size
20819         from sa_avail, since it is nontrivial.
20821 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20823         Limit bidi_find_bracket_pairs to MAX_ALLOCA
20825         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
20826         Shrink it to allow for the two struct bidi_it objects in
20827         the same frame.
20828         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
20829         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
20831 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20833         Limit insert-file-contents to MAX_ALLOCA
20835         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
20836         MAX_ALLOCA bytes in a single stack array.
20838 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
20840         Remove malloc_find_address relic
20842         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
20843         Omit unnecessary initialization.
20845 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
20847         Fix temacs hybrid_malloc core dump
20849         Without this patch, ./temacs would dump core sometimes on Fedora
20850         25 x86-64.  The problem was that the hybrid allocator assumed that
20851         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
20852         assumption is not true on Fedora, because the standard memory
20853         allocator calls gdefault_morecore, which means its blocks are
20854         interleaved with our blocks.  Usually the code happened to work,
20855         because our data structures agreed with the glibc data structures,
20856         but this was merely luck due to a shared pedigree, and as glibc
20857         mutates our luck has run out.
20858         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
20859         Remove; no longer needed.
20860         (BLOCK): Use unsigned division, as that does the right thing near zero.
20861         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
20862         (_realloc_internal_nolock):
20863         Big blocks now have type -1, not 0, as 0 now means the block is
20864         not ours.
20865         (morecore_nolock): Omit now-unnecessary casts to size_t.
20866         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
20867         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
20868         avoid calling the wrong free or realloc function in some cases.
20870 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
20872         Make gnus-article-date-user work
20874         * lisp/gnus/gnus-art.el (article-date-ut):
20875         Work for unfolded multi-line Date header.
20876         (article-transform-date):
20877         Refactor; add header name if it is missing in user-defined date line.
20878         (article-date-user): Fix name of date type.
20880 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
20882         Keep order of completion candidates (Bug#25995, Bug#24676)
20884         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
20885         (completion-pcm--all-completions): Use nreverse to undo the reversing
20886         caused by using push in the loop.
20888 2017-06-21  Glenn Morris  <rgm@gnu.org>
20890         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
20892 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
20894         Mark prolog indent variables as safe (bug#27369)
20896         * lisp/progmodes/prolog.el (prolog-indent-width)
20897         (prolog-left-indent-regexp, prolog-paren-indent-p)
20898         (prolog-paren-indent): Add :safe property.
20900 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
20902         Remove `:options' from `css-electric-keys'
20904         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
20905         since it just duplicates the default value.
20907 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
20909         Fix crash when built by GNU Gold linker on x86
20911         Problem reported by Andrés Musetti (Bug#27248).
20912         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
20913         (emacsFrameClass): Now a function (which initializes the
20914         superclass) instead of a variable.  All uses changed.
20916 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
20918         Simplify autogen.sh version checking
20920         * autogen.sh (get_version): Simplify and make more reliable
20921         by using expr rather than echo | sed.  Check exit status of program.
20922         Run program in subshell in case it cannot be executed.
20923         (check_version): Check exit status of command rather than its output.
20924         Check return status of get_version.
20926 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
20928         Delete old Date header in a simple way
20930         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
20931         when searching the old Date header boundary in order to delete it.
20933 2017-06-20  Bastien  <bzg@gnu.org>
20935         Revert "Don't bind org-agenda key to an anonymous function"
20937         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
20939 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
20941         Bind enable-local-variables to nil globally (fix dbe3e41)
20943         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
20944         Bind enable-local-variables to nil globally instead of making it
20945         buffer-local; remove let-bind of local-enable-local-variables.
20946         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
20948 2017-06-20  Glenn Morris  <rgm@gnu.org>
20950         kill-matching-buffers to optionally not confirm
20952         * lisp/files.el (kill-matching-buffers):
20953         Add option to not confirm killing.  (Bug#27286)
20955 2017-06-20  Glenn Morris  <rgm@gnu.org>
20957         * lisp/files.el (local-enable-local-variables): Doc fix.
20959 2017-06-20  Glenn Morris  <rgm@gnu.org>
20961         autogen.sh: try to check for tool being present but broken
20963         * autogen.sh (get_version): Check return status of "--version".
20964         (check_version): Try to distinguish between a missing tool
20965         and a broken one.  (Bug#27288)
20967 2017-06-19  Glenn Morris  <rgm@gnu.org>
20969         Avoid a custom-variable-type error (bug#27363)
20971         * lisp/cus-edit.el (custom-variable-type):
20972         Avoid an error due to plist-put becoming stricter of late.
20974 2017-06-19  Glenn Morris  <rgm@gnu.org>
20976         Don't put deleted packages in the trash (bug#14967)
20978         * lisp/emacs-lisp/package.el (package-delete):
20979         Don't pay attention to delete-by-moving-to-trash.
20981 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
20983         Revert "Add current-line in simple.el"
20985         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
20987 2017-06-19  Damien Cassou  <damien@cassou.me>
20989         Add current-line in simple.el
20991         * lisp/simple.el (current-line): New function.
20992         * test/lisp/simple-tests.el: Add tests for current-line.
20994 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
20996         Don't try to eval local variables in Gnus article
20998         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
21000 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
21002         Fix emacs-module.h cleaning
21004         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
21005         (bootstrap-clean): Remove emacs-module.h.
21007 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
21009         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
21010         in regex.
21012 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
21014         * lib/gettext.h: Merge from gnulib.
21016 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
21018         Merge from gnulib
21020         This (and my previous patch) incorporate:
21021         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
21022         2017-06-15 gettext-h: Update comment
21023         * lib/diffseq.h: Copy from gnulib.
21025 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
21027         * test/Makefile.in: Don't suppress test failure for single tests.
21029 2017-06-17  Philipp Stephani  <phst@google.com>
21031         emacs-module.h: Create emacs_env_26
21033         This was part of the original design of the module
21034         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
21035         but I didn't take it into account when adding the should_quit
21036         function.
21038         Instead of duplicating the environment fields or using the C
21039         preprocessor, use configure to build emacs-module.h.
21041         * configure.ac: Expand emacs-module.h template.
21043 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
21045         Improve documentation of replace-buffer-contents
21047         * etc/NEWS (replace-buffer-contents): Fix formatting.
21049         * src/editfns.c (Freplace_buffer_contents): Doc fix.
21051 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
21053         Finish up native display of line numbers
21055         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
21056         the number, for R2L rows.  Increment 'g' in the loop even if
21057         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
21058         line-number glyphs if it is non-zero.
21059         (move_it_in_display_line_to): Account for the space taken by the
21060         line-number glyphs.  Call maybe_produce_line_number with 2nd
21061         argument non-zero.
21062         (set_cursor_from_row): Fix calculation of cursor X coordinate in
21063         R2L rows with display-produced glyphs at the beginning.
21064         (syms_of_xdisp) <line-number>: New face symbol.
21065         <relative, display-line-width>: New symbols.
21066         (maybe_produce_line_number): Use the line-number face for
21067         displaying line numbers.  Support relative line-number display.
21068         Support user-defined width for displaying line numbers.
21069         (try_cursor_movement, try_window_id): Disable these optimizations
21070         when displaying relative line numbers.
21071         * src/dispextern.h (struct it): New member 'pt_lnum'.
21073         * lisp/faces.el (line-number): New face.
21074         * lisp/cus-start.el (standard): Provide customization forms for
21075         display-line-numbers and display-line-width.
21076         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
21077         turn display-line-numbers on and off.
21079         * etc/NEWS: Document the new feature.
21081 2017-06-17  Philipp Stephani  <phst@google.com>
21083         Allow local variables section to begin with a square bracket
21085         Fixes Bug#27391.
21087         * lisp/international/mule.el (find-auto-coding): Fix regular
21088         expression for "Local Variables" section.
21090         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
21091         Add unit test.
21093 2017-06-17  Philipp Stephani  <phst@google.com>
21095         Remove unnecessary point motion
21097         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
21098         motion.
21100 2017-06-17  Philipp Stephani  <phst@google.com>
21102         Add command to replace buffer contents
21104         Add a new command 'replace-buffer-contents' that uses the Myers diff
21105         algorithm to non-destructively replace the accessible portion of the
21106         current buffer.  The Myers algorithm is implemented in Gnulib.
21108         * src/editfns.c (Freplace_buffer_contents): New command.
21109         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
21110         (syms_of_editfns): Define new command.
21112         * test/src/editfns-tests.el (replace-buffer-contents-1)
21113         (replace-buffer-contents-2): New unit tests.
21115         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
21117         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
21119 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
21121         * lisp/international/characters.el: Update list of zero and full
21122         width characters according to Unicode 9.0.0.
21124 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
21126         Complete CSS property values less eagerly (Bug#27392)
21128         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
21129         eager by looking for a colon after the property which values are being
21130         completed for.
21132         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
21133         Add a test case ensuring that properties that are prefixes of other
21134         properties don't hinder further completion.
21136 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
21138         Handle integer indices for eshell variables (Bug#26055)
21140         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
21141         if it's been marked as one, just like `eshell-lisp-command' does.
21143 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
21145         Don't bind org-agenda key to an anonymous function
21147         * lisp/org/org-agenda.el: Bind "g" to named command.
21148         (org-agenda-redo-all): New command.  Extend the previous functionality
21149         through a prefix argument.
21151 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
21153         Add test for the fix in the parent commit
21155         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
21156         New test, for the fix in the parent commit.
21158 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
21160         primitive-undo: Update only the currently valid markers
21162         * lisp/simple.el (primitive-undo):
21163         Update only the currently valid markers (bug#25599).
21165 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
21167         Initial version of native display of line numbers
21169         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
21170         buffer-local variable.
21171         Include <math.h>.
21172         (maybe_produce_line_number): New function.
21173         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
21174         (try_window_reusing_current_matrix): Don't use this method when
21175         display-line-numbers is in effect.
21176         * src/dispextern.h (struct it): New members 'lnum'.
21178 2017-06-16  Philipp Stephani  <phst@google.com>
21180         Correctly detect URLs surrounded by parentheses in comments
21182         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
21183         Make parentheses match work inside comments.
21185         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
21186         unit test.
21188 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
21190         Fix load-path issue when it contains remote directories
21192         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
21193         (tramp-use-absolute-autoload-file-names): New defun.  Call it
21194         after loading tramp.el.
21196         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
21197         New test.
21198         (tramp-test39-unload): Rename.
21200 2017-06-16  Alan Mackenzie  <acm@muc.de>
21202         Ensure C++ initializer lists don't get fontified.
21204         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
21205         compiler warning.
21207         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
21208         clause to handle C++ member initialization lists.
21209         (c-font-lock-single-decl): New function, extracted from
21210         c-font-lock-declarations.
21211         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
21212         code.
21213         (c-font-lock-cut-off-declarators): Make more rigorous by calling
21214         c-get-fontification-context, c-forward-decl-or-cast-1, and
21215         c-font-lock-single-decl in place of rather approximate code.
21217 2017-06-16  Alan Mackenzie  <acm@muc.de>
21219         Fix hang in CC Mode when ":" is typed after identifier at EOB.
21221         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
21222         confusing ":" and EOB.
21224 2017-06-15  Alan Mackenzie  <acm@muc.de>
21226         Create a toggle between block and line comments in CC Mode.
21228         Also (unrelated change) initialize the modes' keymaps at each loading.
21230         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
21231         on the modeline.
21232         (c-block-comment-flag): New variable.
21233         (c-toggle-comment-style): New function.
21235         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
21236         (c-line-comment-starter): Make them c-lang-defvars.
21237         (c-block-comment-is-default): New c-lang-defvar.
21238         (comment-start, comment-end): Make the default values dependent on
21239         c-block-comment-is-default.
21241         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
21242         (c-basic-common-init): Initialize c-block-comment-flag.
21243         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
21244         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
21245         mode is loaded rather than just once per Emacs session.
21247         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
21248         style.
21249         (Minor Modes): Define comment style.  Describe how comment style influences
21250         the information displayed on the modeline.  Document c-toggle-comment-style.
21251         (FAQ): Add a question about toggling the comment style.
21253 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21255         Pacify clang without munging C source
21257         * configure.ac (WARN_CFLAGS): With Clang, use
21258         -Wno-tautological-compare regardless of --enable-gcc-warnings.
21259         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
21260         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
21261         change which I hope is no longer needed.
21262         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
21263         some older non-POSIX hosts.
21265 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21267         No need to complicate make-docfile.c for Clang
21269         * lib-src/make-docfile.c (put_filename): Undo recent change.
21270         The Clang false alarm occurs only with CFLAGS=-save-temps and
21271         we needn’t worry about pacifying unusual compiler configurations.
21273 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21275         Port './configure CC=clang' to Fedora 25
21277         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
21278         standard function like MagickRelinquishMemory does not link.
21280 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
21282         Don’t worry about __STDC_VERSION__ in emacs-module
21284         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
21285         we’ve found that some compilers do not define this symbol even
21286         when they work well enough.  If necessary features like stdbool.h
21287         are missing the compiler will complain eventually anyway.
21289 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21291         Port cleanup check to Oracle Studio 12.5
21293         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
21294         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
21295         #if this time.
21297 2017-06-14  Bastien  <bzg@gnu.org>
21299         Fix misformatted changelog entry
21301 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
21303         Avoid compiler warning in image.c on MS-Windows
21305         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
21306         compilation warning under -Warray-bounds by temporarily disabling
21307         the -Warray-bounds option.
21309 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
21311         Fix Bug#27315
21313         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
21314         New defvar.
21315         (top): Use it.
21317         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
21318         Check for connected, not for connectable.  (Bug#27315)
21319         (tramp-process-actions):
21320         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
21321         Use `tramp-cache-read-persistent-data'.
21323         * test/lisp/net/tramp-tests.el (top): Set also
21324         `tramp-cache-read-persistent-data'.
21326 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
21328         Give a fixed default value for icomplete-prospects-height (Bug#26939)
21330         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
21331         (icomplete-prospects-length): Remove.
21332         * etc/NEWS: Announce removal.
21334 2017-06-14  Philipp Stephani  <phst@google.com>
21336         Remove some tautological comparisons involving rlim_t
21338         Clang on macOS warns about these with -Wtautological-compare.  POSIX
21339         guarantees that rlim_t is
21340         unsigned (cf.
21341         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
21342         so these resource limits can never be negative.
21344         * src/emacs.c (main): Remove tautological comparisons.
21346 2017-06-14  Philipp Stephani  <phst@google.com>
21348         Use --module-assertions if modules are available
21350         Using --module-assertions helps us find bugs in the test module.  But
21351         we can use it only if Emacs was compiled with module support.
21353         * test/Makefile.in (MODULES_EMACSOPT): New variable.
21354         (emacs): Use it.
21356 2017-06-14  Philipp Stephani  <phst@google.com>
21358         Define --module-assertions only of modules are available
21360         Fixes Bug#27352.
21362         * src/emacs.c (usage_message, standard_args): Define
21363         --module-assertions only if Emacs has been compiled with module
21364         support.
21366 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
21368         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
21370         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
21371         No need to restore window config for WDD and WDW commands.
21373 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21375         lisp/net/soap-client.el: Bump version to 3.1.3
21377         * lisp/net/soap-client.el: Bump version to 3.1.3.
21378         (soap-name-p): Fix checkdoc issue.
21380 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
21382         Fix an HTTP encoding error in soap-client.el
21384         * lisp/net/soap-client.el (soap-invoke-internal): Make
21385         SOAPAction header a UTF-8 encoded string.
21387 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21389         Port cleanup attribute to Oracle Studio 12.5
21391         * INSTALL (--with-modules): List cleanup attribute as prereq.
21392         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
21393         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
21394         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
21395         __has_attribute only inside preprocessor expressions.  The C
21396         compiler should check the cleanup attribute in the next line anyway.
21397         (module_reset_handlerlist): Remove an unnecessary ‘const’
21398         that causes Oracle Studio 12.5 to refuse to compile.
21400 2017-06-14  Glenn Morris  <rgm@gnu.org>
21402         Fix running tests in without-modules builds
21404         * test/Makefile.in (EMACSOPT): Remove option that is only defined
21405         with-modules.  emacs-module-tests.el passes it where needed.
21407 2017-06-13  Glenn Morris  <rgm@gnu.org>
21409         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
21411 2017-06-13  Philipp Stephani  <phst@google.com>
21413         Inline test module Makefile into main test Makefile
21415         The test/data/emacs-module/Makefile only built a single target, and
21416         inlining it into test/Makefile simplifies dependency tracking and
21417         reduces code duplication.
21419         * configure.ac: Don't build test/data/emacs-module/Makefile.
21421         * Makefile.in ($(test_module)): Inline compilation.
21422         (clean): Also clean test module outputs.
21424 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
21426         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
21428 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
21430         Minor tweaks in Tramp manual
21432         * doc/misc/trampver.texi: Add prefixwithspace flag.
21434         * doc/misc/tramp.texi (Password handling): Harmonize example.
21435         (File name completion): Use prefixwithspace flag.
21436         (Frequently Asked Questions): Explain `tramp-histfile-override'.
21438 2017-06-13  Philipp Stephani  <phst@google.com>
21440         Silence two Clang warnings by introducing additional local variables
21442         * lib/strftime.c (libc_hidden_def):
21443         * lib-src/make-docfile.c (put_filename): Introduce local variables to
21444         silence Clang warnings.
21446 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
21448         Fix wrong indentation after string literal (Bug#27306)
21450         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
21451         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
21452         * test/lisp/emacs-lisp/lisp-mode-tests.el
21453         (lisp-indent-region-after-string-literal): New test.
21455 2017-06-13  Philipp Stephani  <phst@google.com>
21457         Fix version checks for emacs-module.h
21459         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
21460         don't need it at all.
21462 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
21464         Buttonize #<bytecode> part of printed functions (Bug#25226)
21466         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
21467         (cl-print-compiled-button): New variable.
21468         (help-byte-code): New button type, calls `disassemble' in its action.
21469         (cl-print-object): Use it if `cl-print-compiled-button' is
21470         non-nil.
21472 2017-06-12  Philipp Stephani  <phst@google.com>
21474         Print module structure sizes when initializing test module
21476         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
21477         compile-time and runtime sizes of module structures to ease debugging
21479 2017-06-12  Glenn Morris  <rgm@gnu.org>
21481         Small portability fix for emacs-module.h (bug#27346)
21483         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
21484         Avoid 'error: missing binary operator before token "("'.
21486 2017-06-12  Glenn Morris  <rgm@gnu.org>
21488         Give a more informative failure in module assertion test
21490         * test/src/emacs-module-tests.el (module--test-assertions):
21491         Rephrase final check to give a more informative failure.
21493 2017-06-12  Philipp Stephani  <phst@google.com>
21495         Fix off-by-one error
21497         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
21498         off-by-one error.
21500 2017-06-12  Glenn Morris  <rgm@gnu.org>
21502         Clean up after module assertion tests
21504         * test/src/emacs-module-tests.el (module--test-assertions):
21505         Use a temporary directory to contain any core dumps.
21507 2017-06-12  Glenn Morris  <rgm@gnu.org>
21509         Small improvement for module assertion test
21511         * test/src/emacs-module-tests.el (module--test-assertions):
21512         Don't rely on the precise form of an "Abort" message.
21514 2017-06-12  Glenn Morris  <rgm@gnu.org>
21516         Improve previous test/data/emacs-module/Makefile change
21518         * test/data/emacs-module/Makefile.in (clean):
21519         Avoid doing unpleasant things if run in a build without modules.
21521 2017-06-12  Glenn Morris  <rgm@gnu.org>
21523         Small improvements for test/data/emacs-module/Makefile
21525         * test/data/emacs-module/Makefile.in (%.o):
21526         Fix emacs-module dependency.
21527         (SECONDARY): Stop make automatically deleting *.o.
21528         (clean): New rule.
21530 2017-06-12  Glenn Morris  <rgm@gnu.org>
21532         * make-dist: Skip some more generated files in test/.
21534 2017-06-12  Alan Third  <alan@idiocy.org>
21536         Note how fullscreen differs on the NS port
21538         doc/lispref/frames.texi (Size Parameters):
21539         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
21540         hides the tool-bar and menu-bar in fullscreen.
21542 2017-06-12  Alan Third  <alan@idiocy.org>
21544         Add no-focus-on-map to NS build (bug#25408)
21546         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
21547         (x-create-frame): Check for no-focus-on-map.
21548         * src/nsterm.h (x_set_no_focus_on_map): New function.
21549         * src/nsterm.m (x_set_no_focus_on_map): New function.
21550         (ns_raise_frame): Add parameter for specifying whether to focus the
21551         frame.
21552         (ns_frame_raise_lower):
21553         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
21555 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21557         _Noreturn not noreturn
21559         _Noreturn is more portable to non-C11 platforms.  See:
21560         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
21561         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
21562         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
21564 2017-06-12  Glenn Morris  <rgm@gnu.org>
21566         Update make-dist for recent test/ changes
21568         * make-dist: No longer distribute test/data/emacs-module/Makefile.
21570 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
21572         Handle port and domain in Tramp's password cache
21574         * doc/misc/tramp.texi (Password handling): Explain port and
21575         domain handling in authinfo.
21577         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
21578         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
21579         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
21580         (tramp-maybe-open-connection):
21581         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
21582         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
21583         (tramp-smb-maybe-open-connection): Handle also domain and port.
21585 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
21587         Avoid compilation warnings with pre-C99 libc
21589         * src/emacs-module.c (module_free_global_ref)
21590         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
21591         instead of C99 't' format descriptor.
21593 2017-06-12  Philipp Stephani  <phst@google.com>
21595         Flush all output streams before aborting
21597         Maybe the stdout buffer still contains something interesting that
21598         should be flushed.
21600         * src/emacs-module.c (module_abort): Flush all output streams before
21601         aborting.
21603 2017-06-12  Philipp Stephani  <phst@google.com>
21605         Remove an assertion that doesn't test Emacs invariants
21607         * src/emacs-module.c (module_copy_string_contents): Remove an
21608         assertion that doesn't test Emacs invariants.
21610 2017-06-12  Philipp Stephani  <phst@google.com>
21612         Test module: add necessary version checks
21614         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
21615         version checks.
21617 2017-06-12  Philipp Stephani  <phst@google.com>
21619         Use additional CFLAGS from configure
21621 2017-06-12  Philipp Stephani  <phst@google.com>
21623         Use Autoconf to generate the test module Makefile
21625         This makes it easier to pass compilation flags around.
21627         * configure.ac: Also build test module Makefile.
21629         * test/data/emacs-module/Makefile.in: New makefile template.
21631         * test/Makefile.in ($(test_module)): No longer necessary to pass
21632         @MODULES_SUFFIX@ around.
21634         * .gitignore: Test module Makefile can now be ignored.
21636 2017-06-12  Philipp Stephani  <phst@google.com>
21638         Also compile test module as C11
21640         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
21642 2017-06-12  Philipp Stephani  <phst@google.com>
21644         Implement module assertions for users
21646         Add a new command-line option '-module-assertions' that users can
21647         enable developing or debugging a module.  If this option is present,
21648         Emacs performs additional checks to verify that modules fulfill their
21649         requirements.  These checks are expensive and crash Emacs if modules
21650         are invalid, so disable them by default.
21652         This is a command-line option instead of an ordinary variable because
21653         changing it while Emacs is running would cause data structure
21654         imbalances.
21656         * src/emacs.c (main): New command line option '-module-assertions'.
21658         * src/emacs-module.c (module_assert_main_thread)
21659         (module_assert_runtime, module_assert_env, module_assert_value):
21660         New functions to assert module requirements.
21661         (syms_of_module): New uninterned variable 'module-runtimes'.
21662         (init_module_assertions, in_main_thread, module_abort): New helper
21663         functions.
21664         (initialize_environment): Initialize value list.  If assertions are
21665         enabled, use a heap-allocated environment object.
21666         (finalize_environment): Add assertion that environment list is never
21667         empty.
21668         (finalize_runtime_unwind): Pop module runtime object stack.
21669         (value_to_lisp): Assert that the value is valid.
21670         (lisp_to_value): Record new value if assertions are enabled.
21671         (mark_modules): Mark allocated object list.
21672         (MODULE_FUNCTION_BEGIN_NO_CATCH)
21673         (module_non_local_exit_check, module_non_local_exit_clear)
21674         (module_non_local_exit_get, module_non_local_exit_signal)
21675         (module_non_local_exit_throw): Assert thread and environment.
21676         (module_get_environment): Assert thread and runtime.
21677         (module_make_function, module_funcall, module_intern)
21678         (module_funcall, module_make_integer, module_make_float)
21679         (module_make_string, module_make_user_ptr, module_vec_get)
21680         (funcall_module, Fmodule_load): Adapt callers.
21681         (module_make_global_ref): If assertions are enabled, use the global
21682         environment to store global values.
21683         (module_free_global_ref): Remove value from global value list.
21685         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
21686         modules.
21688         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
21689         (Fmod_test_invalid_load): New functions to test module assertions.
21690         (emacs_module_init): Bind the new functions.
21692         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
21693         the Emacs binary file.
21694         (mod-test-file): New constant for the test module file name.
21695         (module--test-assertions): New unit test.
21697 2017-06-12  Philipp Stephani  <phst@google.com>
21699         emacs-module: Use __attribute__((nonnull))
21701         Annotate all parameters with __attribute__((nonnull)) that may not be
21702         NULL.
21704 2017-06-12  Philipp Stephani  <phst@google.com>
21706         Explicitly require C11 or C++11 in emacs-module.h
21708         We already implicitly require them by including stdbool.h.  Just make
21709         the error message a bit clearer, and remove an unnecessary version
21710         comparison.
21712 2017-06-12  Philipp Stephani  <phst@google.com>
21714         Add missing 'require' forms to prevent compiler warnings.
21716         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
21717         requirements.
21719 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21721         Merge from gnulib
21723         This incorporates:
21724         2017-06-11 getopt-posix: port to glibc 2.25.90
21725         2017-06-04 same-inode: port better to VMS 8.2 and later
21726         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
21727         * m4/sys_types_h.m4: Copy from gnulib.
21729 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21731         Remove Lisp_Misc_Float
21733         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
21734         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
21735         unused for two decades; if we ever want to change floats to be a
21736         misc type we can bring it back then.
21738 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
21740         Make two symbols private to emacs-module.c
21742         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
21743         Move from here ...
21744         * src/emacs-module.c: ... to here.
21746 2017-06-12  Glenn Morris  <rgm@gnu.org>
21748         Merge from origin/emacs-25
21750         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
21752 2017-06-12  Glenn Morris  <rgm@gnu.org>
21754         Merge from origin/emacs-25
21756         e80f6a210b0 Describe problems with Microsoft Intellipoint
21757         a73ec1edb07 More accurate documentation of the ':box' face attribute
21759 2017-06-12  Glenn Morris  <rgm@gnu.org>
21761         Merge from origin/emacs-25
21763         eaa00584ceb Improve documentation of 'gnutls-verify-error'
21764         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
21765         741daec617e ; Describe the problem with ksh when resizing shell window
21767 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
21769         Some further improvements for tramp-gvfs.el
21771         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
21772         (tramp-gvfs-get-file-attributes)
21773         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
21774         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
21775         Show question also in batch mode.  Cache result.
21777         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
21778         Support completion for host names and ports.
21780 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
21782         Fix highlighting of CSS selectors with double hyphens
21784         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
21785         highlighting of selectors that contain double hyphens.  They would be
21786         mistaken for a variable.
21788 2017-06-11  Philipp Stephani  <phst@google.com>
21790         Support threads in modules
21792         Rather than checking for the main thread, check for the current
21793         thread.
21795         * src/emacs-module.c (check_thread): New function.
21796         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
21797         (module_non_local_exit_check, module_non_local_exit_clear)
21798         (module_non_local_exit_get, module_non_local_exit_signal)
21799         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
21801 2017-06-11  Philipp Stephani  <phst@google.com>
21803         Allow non-local exits in module initializers
21805         Previously signals, throws, and quits from module initialization
21806         functions were ignored.  These function aren't special, and better
21807         errors can be reported using signals than with the initialization
21808         return code, so allow non-local exits.
21810         * src/emacs-module.c (module_signal_or_throw): New helper function.
21811         (Fmodule_load, funcall_module): Use it.
21812         (Fmodule_load): Also allow quitting.
21814 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
21816         Let eshell/sudo handle absolute command names (Bug#27167)
21818         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
21819         absolute paths into relative ones.
21821 2017-06-10  Alan Third  <alan@idiocy.org>
21823         Don't wait for toolbar in NS native fullscreen
21825         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
21826         function when in fullscreen.
21828 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
21830         Fix the placement of GTK menus on multi-monitor systems
21832         menu_position_func did not properly use the current monitor's
21833         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
21835         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
21836         (frame-monitor-workarea): New functions.
21838         * src/xmenu.c (menu_position_func): Take into account the workarea of
21839         the monitor that contains the mouse.  (Bug#23568)
21841 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
21843         Clarify documentation of 'face-spec-set'
21845         * lisp/faces.el (face-spec-set): Clarify the description of
21846         SPEC-TYPE in the doc string.
21848         * doc/lispref/display.texi (Defining Faces): Clarify the
21849         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
21851 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
21853         Fix domain port and handling in tramp-gvfs.el
21855         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
21856         Return nil if BYTE-ARRAY is nil.
21857         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
21858         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
21859         Fix domain and port handling.
21861         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
21862         Ignore errors.
21864 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
21866         Improve documentation of 'face-spec-set-2'
21868         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
21869         to 'face-attrs'.
21870         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
21872 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
21874         Fix handling of Python/Guile commands with arguments in gdb-mi.el
21876         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
21877         variable.
21878         (gdb-control-commands-regexp): Use it.
21879         (gdb-send): Don't increment gdb-control-level if the command
21880         matches gdb-python-guile-commands-regexp and has non-empty
21881         arguments.  Reported by David Boles <boles@ieee.org> in
21882         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
21884 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
21886         Preserve point in Dired windows under 'dired-auto-revert-buffer'
21888         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
21889         is non-nil, bind switch-to-buffer-preserve-window-point to nil
21890         while calling find-file.  (Bug#27243)
21892 2017-06-09  Philipp Stephani  <phst@google.com>
21894         Give test files a -tests.el suffix
21896         Rename a couple of test files that have the same name as the library
21897         they test.  This harmonizes the naming pattern and makes it possible
21898         to have the tests directories in the load path.
21900 2017-06-09  Philipp Stephani  <phst@google.com>
21902         Fix another compiler warning on macOS
21904         * src/image.c (x_query_frame_background_color): Don't define if we
21905         have NextStep but no image support.
21907 2017-06-09  Philipp Stephani  <phst@google.com>
21909         Add garbage collection support for module environments
21911         * src/emacs-module.c (mark_modules): New function.
21912         (initialize_environment): Properly initialize Lisp objects.
21913         * src/alloc.c (garbage_collect_1): Call it.
21915 2017-06-08  Glenn Morris  <rgm@gnu.org>
21917         Make autogen.sh report relevant environment variables
21919         * autogen.sh (check_version):
21920         Indicate if using an environment variable.
21922 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
21924         Split variable macro env from function env
21926         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
21927         (cl-symbol-macrolet): Instead of adding each binding directly into the
21928         main environment with a special key format, put all symbol macro
21929         bindings into a single entry in the main environment under
21930         `:cl-symbol-macros'.
21931         (cl--sm-macroexpand): Look up symbol bindings in the
21932         `:cl-symbol-macros' entry of the environment.
21934 2017-06-07  Glenn Morris  <rgm@gnu.org>
21936         * make-dist: Directory modules/mod-test no longer exists.
21938 2017-06-07  Glenn Morris  <rgm@gnu.org>
21940         More authors.el updates
21942         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
21943         (authors-renamed-files-alist): Additions.
21945 2017-06-07  Glenn Morris  <rgm@gnu.org>
21947         * make-dist: Check a release has a ChangeLog with a release notice.
21949         * make-dist: Use existing ChangeLog if present.
21951 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
21953         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
21955 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
21957         (url-cookie-host-can-set-p): Protect against zero-length domains
21959         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
21960         against zero-length domains.
21962         Backtrace of a real-world site that triggers a bug:
21964         Debugger entered--Lisp error: (args-out-of-range "" 0)
21965           url-cookie-host-can-set-p("www.washingtonpost.com" "")
21966           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
21967           01-January-1970 00:00:00 GMT; path=/; domain=")
21968           url-http-handle-cookies()
21970 2017-06-06  Glenn Morris  <rgm@gnu.org>
21972         More authors.el updates
21974         * admin/authors.el (authors-obsolete-files-regexps)
21975         (authors-valid-file-names, authors-renamed-files-alist)
21976         (authors-renamed-files-regexps): Additions.
21978 2017-06-06  Glenn Morris  <rgm@gnu.org>
21980         More small authors.el updates
21982         * admin/authors.el (authors-aliases): Fix recent addition.
21983         (authors-obsolete-files-regexps, authors-no-scan-regexps)
21984         (authors-ignored-files, authors-valid-file-names)
21985         (authors-renamed-files-alist): Additions.
21987 2017-06-06  Glenn Morris  <rgm@gnu.org>
21989         Make authors.el report names that were ignored
21991         * admin/authors.el (authors-ignored-names): New.
21992         (authors-canonical-author-name): Add file and position arguments.
21993         Record ignored authors.
21994         (authors-scan-change-log, authors-scan-el):
21995         Pass file and position to authors-canonical-author-name.
21996         (authors): Also print authors that were ignored.
21998 2017-06-06  Glenn Morris  <rgm@gnu.org>
22000         * admin/authors.el (authors-aliases): Additions.
22002 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
22004         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
22006 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
22008         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
22010 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
22012         Enable ElDoc messages after the newline command
22014         * lisp/emacs-lisp/eldoc.el:
22015         Add "newline" to the eldoc-add-command-completions call (bug#27228).
22017 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
22019         Enable eldoc-mode explicitly inside read--expression
22021         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
22023 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
22025         Fix check for package-unsigned-archives during retrieval
22027         * lisp/emacs-lisp/package.el (package--download-one-archive):
22028         Fix check for package-unsigned-archives.
22030 2017-06-05  Noah Friedman  <friedman@splode.com>
22032         Merge etc/emacs-buffer.gdb from emacs-25 to master.
22034 2017-06-05  Philipp Stephani  <phst@google.com>
22036         Fix undefined behavior in mapbacktrace
22038         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
22040 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
22042         Fix emacs-module-tests on MS-Windows
22044         * src/print.c (print_vectorlike): Make sure module function's
22045         address prints with a leading "0x".  This fixes emacs-module-tests
22046         on MS-Windows.  Fix whitespace.
22047         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
22048         commentary.
22050 2017-06-05  Philipp Stephani  <phst@google.com>
22052         Use unwind protection to clean up data structures in modules
22054         Reuse existing functionality and simplify the code a bit.
22056         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
22057         runtime object.
22058         (funcall_module): Use unwind protection to clean up environment
22059         object.
22060         (finalize_environment): Simplify signature.
22061         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
22063 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
22065         Some minor tweaks in tramp-tests.el
22067         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
22068         Let it pass for all gfvs based methods.
22069         (tramp-test24-file-name-completion): Run method and host
22070         completion for all syntaxes only when expensive tests are enabled.
22071         Do not check host completion for gvfs based methods.
22072         (tramp--test-gvfs-p): Add optional METHOD argument.
22073         (tramp--test-afp-or-smb-p): Remove.
22075 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
22077         Fix error in Tramp rsync method
22079         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
22080         Otherwise, `tramp-test10-write-region' could fail.
22082 2017-06-05  Philipp Stephani  <phst@google.com>
22084         Inline module_has_cleanup
22086         This constant is only used once, and we fail compilation anyway if
22087         it's false.
22089         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
22091 2017-06-05  Philipp Stephani  <phst@google.com>
22093         Add missing dependency to test module source file
22095 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
22097         Omit space that broke ‘make check’
22099         * src/print.c (print_vectorlike): Omit stray space.
22101 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
22103         Remove easserts etc. from emacs-module.c
22105         Most of these seem to run afoul of the comment "Do NOT use
22106         'eassert' for checking validity of user code in the module."
22107         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
22108         (module_non_local_exit_check, module_non_local_exit_clear)
22109         (module_non_local_exit_get, module_non_local_exit_signal)
22110         (module_non_local_exit_throw, module_make_string):
22111         Remove unnecessary easserts that pointers are nonnull.
22112         Hardware checks this for us nowadays, and the checks
22113         just clutter up the code.
22114         (module_extract_integer): Remove unnecessary verify that
22115         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
22116         The C standard guarantees this.
22117         (module_copy_string_contents): Remove unnecessary eassert
22118         that Lisp strings are null-terminated.
22119         (module_function_arity): Remove unnecessary easserts that
22120         function arities are in range.
22122 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
22124         Remove unnecessary checking in emacs-module.c
22126         * src/emacs-module.c (module_copy_string_contents):
22127         Remove checking, as string lengths are always nonnegative and less
22128         than STRING_BYTES_BOUND, and this is checked elsewhere.
22129         (module_make_string): Check length against STRING_BYTES_BOUND, a
22130         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
22131         assume that an out-of-range integer is nonnegative.
22133 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
22135         SCHARS and STRING_BYTES are nonnegative
22137         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
22138         the hopes that this will optimize a bit better.  Also, check this
22139         at runtime if ENABLE_CHECKING.
22140         * src/lisp.h (SCHARS, STRING_BYTES):
22141         eassume that these functions return nonnegative values.
22142         (STRING_SET_CHARS) [ENABLE_CHECKING]:
22143         eassert that newsize is nonnegative.
22145 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
22147         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
22149 2017-06-04  Philipp Stephani  <phst@google.com>
22151         Remove an unused error symbol
22153         * src/emacs-module.c (syms_of_module): Remove unused error symbol
22154         'invalid-module-call'.
22156 2017-06-04  Philipp Stephani  <phst@google.com>
22158         Support quitting in modules
22160         The idea is that modules should call env->should_quit from time to
22161         time and return as quickly as possible if it returns true.
22163         * src/emacs-module.c (module_should_quit): New module function.
22164         (initialize_environment): Use it.
22165         (funcall_module): Process potential pending quit.
22167         * src/eval.c (maybe_quit): Add reference to module_should_quit.
22169 2017-06-04  Philipp Stephani  <phst@google.com>
22171         Use more specific errors for module load failure
22173         * src/emacs-module.c (syms_of_module): Add more specific error
22174         symbols.
22175         (Fmodule_load): Use them.
22177 2017-06-04  Philipp Stephani  <phst@google.com>
22179         Remove an unneeded assertion
22181         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
22182         assertion.  If this assertion triggers, we raise an error anyway.
22184 2017-06-04  Philipp Stephani  <phst@google.com>
22186         Guard against signed integer overflows
22188         * src/emacs-module.c (module_extract_integer)
22189         (module_copy_string_contents, module_make_string): Guard against
22190         signed integer overflows.
22192 2017-06-04  Philipp Stephani  <phst@google.com>
22194         Add a couple more assertions to the module code
22196         These can help module authors debug crashes.
22198         * src/emacs-module.c (module_non_local_exit_check)
22199         (module_non_local_exit_clear, module_non_local_exit_get)
22200         (module_non_local_exit_signal, module_non_local_exit_throw)
22201         (module_copy_string_contents, module_make_string)
22202         (funcall_module, initialize_environment): Add assertions
22204 2017-06-04  Philipp Stephani  <phst@google.com>
22206         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
22208         In particular, alias violations are likely for the return values of
22209         dlsym(3), which get cast around arbitrarily.
22211         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
22213 2017-06-04  Philipp Stephani  <phst@google.com>
22215         Simplify interface of dynlib_attr.
22217         Instead of returning bool, set the argument pointers to NULL if the
22218         information is not available.
22220         * src/dynlib.c (dynlib_addr): Don't return bool.
22222 2017-06-04  Philipp Stephani  <phst@google.com>
22224         Rationalize environment lifetime management functions
22226         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
22227         (finalize_environment): Add parameter for public part of the
22228         environment, like 'initialize_environment'.  Add assertions.
22230 2017-06-04  Philipp Stephani  <phst@google.com>
22232         Rework printing of module functions
22234         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
22235         other types.
22237         * src/print.c (print_vectorlike): Add code to print module functions.
22239         * src/emacs-module.c (funcall_module): Stop calling
22240         'module_format_fun_env'.  Now that module functions are first-class
22241         objects, they can be added to signal data directly.
22242         (module_handle_signal): Remove now-unused function
22243         'module_format_fun_env'.
22245         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
22247         * src/eval.c (funcall_lambda): Adapt call to changed signature of
22248         'funcall_module'.
22250 2017-06-04  Philipp Stephani  <phst@google.com>
22252         Define helper macro to reduce code duplication
22254         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
22255         macro.
22256         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
22257         Use it.
22259 2017-06-04  Philipp Stephani  <phst@google.com>
22261         Remove two FIXMEs that can't be fixed
22263 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
22265         Avoid slow startup in daemon mode when global-linum-mode is on
22267         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
22268         non-client frame of a daemon session.  (Bug#27210)
22270 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
22272         Fix eldoc bug with curved quote
22274         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
22275         Substitute quotes in documentation before returning it (Bug#27159).
22277 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
22279         Tune ‘format’ after recent fix
22281         * doc/lispref/strings.texi (Formatting Strings):
22282         * src/editfns.c (Fformat): Format field numbers no longer need
22283         to be unique, reverting the previous doc change since that has
22284         now been fixed.  Also, document that %% should not have modifiers.
22285         * src/editfns.c (styled_format): Improve performance.  Remove
22286         the need for the new prepass over the format string, by using
22287         a typically-more-generous bound for the info array size.
22288         Initialize the info array lazily.  Move string inspection to
22289         the same area to help caching.  Avoid the need for a
22290         converted_to_string bitfield by using EQ.  Cache arg in a
22291         local and avoid some potential aliasing issues to help the
22292         compiler.  Info array is now 0-origin, not 1-origin.
22294 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
22296         Improve of file-local-name use in vc-git-checkin
22298         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
22299         when calling git commit.
22301 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
22303         Support a new CSS indentation style
22305         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
22306         immediately followed by a newline.
22308         * test/manual/indent/css-mode.css: Add test for the change above.
22310         * test/manual/indent/scss-mode.scss: Ditto.
22312 2017-06-03  Philipp Stephani  <phst@google.com>
22314         Fix a bug when using format field numbers
22316         Previously styled_format overwrite the argument vector.  This is no
22317         longer possible because there might be more than one specification per
22318         argument.  Use the existing auxiliary info array instead.
22320         * src/editfns.c (styled_format): Record arguments in the info
22321         structure instead of overwriting them.
22322         * test/src/editfns-tests.el (format-with-field): Add unit test.
22324 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
22326         Document uniqueness limitation of ‘format’
22328         * doc/lispref/strings.texi (Formatting Strings):
22329         * src/editfns.c (Fformat):
22330         Document that field numbers should be unique within a format.
22332 2017-06-03  Glenn Morris  <rgm@gnu.org>
22334         Small rmailmm fix (bug#27203)
22336         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
22337         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
22339 2017-06-03  Glenn Morris  <rgm@gnu.org>
22341         * admin/authors.el (authors-aliases): Addition.
22343 2017-06-03  Glenn Morris  <rgm@gnu.org>
22345         Add watch for password back to inferior python comint filter
22347         It was removed along with other items for speed (bug#16875),
22348         but doesn't seem to have been causing an issue, and it's useful to
22349         have it there (bug#27154).
22350         * lisp/progmodes/python.el (inferior-python-mode):
22351         Add comint-watch-for-password-prompt to comint-output-filter-functions.
22353 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
22355         Use completing-read-default in tmm-prompt
22357         tmm uses completing-read, but customizes its behavior so much
22358         that any alternative completing-read-function will almost
22359         certainly break it.  For example, both ido-ubiquitous and ivy have
22360         special code to deactivate themselves for tmm.
22361         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
22362         completing-read.  (Bug#27193)
22364 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
22366         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
22368 2017-06-02  Glenn Morris  <rgm@gnu.org>
22370         Fix with-todo-test
22372         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
22373         HOME should be a directory, not a file.  Delete it when finished.
22375 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
22377         Update TUTORIAL.it
22379         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
22381 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
22383         Fix cursor position in Dired buffers after dired-sort-toggle
22385         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
22386         even if the frame is marked as garbaged.  (Bug#27187)
22388 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
22390         Update TUTORIAL.he
22392         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
22394 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
22396         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
22398 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
22400         Limit format fields to more POSIX-like spec
22402         * doc/lispref/strings.texi (Formatting Strings):
22403         Don’t allow mixing numbered with unnumbered format specs.
22404         * src/editfns.c (styled_format): Don’t bother checking for field 0,
22405         since it doesn’t crash and the behavior is not specified.
22406         * test/src/editfns-tests.el (format-with-field): Adjust tests to
22407         match current doc.  Add more tests for out-of-range fields.
22409 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
22411         Improve performance by avoiding strtoumax
22413         This made (string-to-number "10") 20% faster on my old desktop,
22414         an AMD Phenom II X4 910e running Fedora 25 x86-64.
22415         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
22416         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
22417         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
22418         * m4/strtoumax.m4: Remove.
22419         * src/editfns.c (str2num): New function.
22420         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
22421         instead of uintmax_t.  Check for integer overflow.
22422         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
22423         Move to private scope and make them enums.
22424         (string_to_number): Compute integer value directly during
22425         first pass instead of revisiting it with strtoumax later.
22427 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
22429         Minor improvements to format field numbers
22431         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
22432         No need for a special diagnostic for field numbers greater than
22433         PTRDIFF_MAX.  Reword diagnostic for field 0.
22434         * test/src/editfns-tests.el (format-with-field): Adjust to match.
22436 2017-06-02  Philipp Stephani  <phst@google.com>
22438         Implement field numbers in format strings
22440         A field number explicitly specifies the argument to be formatted.
22441         This is especially important for potential localization work, since
22442         grammars of various languages dictate different word orders.
22444         * src/editfns.c (Fformat): Update documentation.
22445         (styled_format): Implement field numbers.
22447         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
22449         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
22451         * test/src/editfns-tests.el (format-with-field): New unit test.
22453 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
22455         Limit scope of local overriding-terminal-local-map
22457         The function `binding' may call isearch-done, which globally sets
22458         overriding-terminal-local-map to nil (Bug#23007).
22459         * lisp/isearch.el (isearch-mouse-2): Don't bind
22460         overriding-terminal-local-map around the call to `binding'.
22462 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
22464         Correct and isolate the todo-mode test environment
22466         This avoids having to set todo-mode variables globally in the test
22467         file and prevents any exisiting user todo-mode files from influencing
22468         the tests.
22470         * test/lisp/calendar/todo-mode-tests.el:
22471         (with-todo-test): New macro.
22472         (todo-test-todo-quit01, todo-test-todo-quit02)
22473         (todo-test-item-highlighting): Use it.
22475 2017-06-01  Alan Third  <alan@idiocy.org>
22477         Fix build errors on macOS 10.6 (bug#27059)
22479         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
22481 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
22483         Improve testing of octal and hex display of raw bytes
22485         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
22486         (test-redisplay-5): Add a test with a large codepoint.
22488 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
22490         Add customizable to display raw bytes as hex
22492         * src/xdisp.c (get_next_display_element): Dispatch used format string
22493         for unprintables based on new display-raw-bytes-as-hex variable.
22494         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
22496         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
22498         * doc/emacs/display.texi: Document the new variable.
22499         * etc/NEWS: Mention display-raw-bytes-as-hex.
22501         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
22502         (test-redisplay-5): New tests.
22503         (test-redisplay): Call test-redisplay-5.
22505 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
22507         Revert "Add customizable to display raw bytes as hex"
22509         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
22511 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
22513         Add customizable to display raw bytes as hex
22515         * src/xdisp.c (get_next_display_element): Dispatch used format string
22516         for unprintables based on new display-raw-bytes-as-hex variable.
22517         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
22519         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
22521         * doc/emacs/display.texi: Document the new variable.
22522         * etc/NEWS: Mention display-raw-bytes-as-hex.
22524         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
22525         (test-redisplay-5): New tests.
22526         (test-redisplay): Call test-redisplay-5.
22528 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
22530         Fix linum under text-scaling when leuven-theme is used
22532         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
22533         inherit from 'default' and 'shadow', so that margins are enlarged
22534         as expected under text-scaling.
22536 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22538         Free cwd when no longer needed
22540         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
22542 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
22544         Fix memory leak of cwd string in emacsclient (Bug#26628)
22546         * lib-src/emacsclient.c (main): emacsclient retrieves the current
22547         working directory using get_current_dir_name which returns a newly
22548         allocated string.  Make sure this string is freed before exiting.
22550 2017-06-01  Glenn Morris  <rgm@gnu.org>
22552         Quieten compilation of some test files
22554         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
22555         * test/src/data-tests.el (binding-test-set-constant-t)
22556         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
22557         (binding-test-set-constant-nil): Silence compiler.
22558         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
22560 2017-06-01  Glenn Morris  <rgm@gnu.org>
22562         Use true names for invocation- and source-directory
22564         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
22565         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
22567 2017-06-01  Glenn Morris  <rgm@gnu.org>
22569         Avoid elisp-mode test failures when source dir has multiple names
22571         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
22572         Use the true name of the directory.
22574 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22576         Fix bug with "%%" in error format
22578         * src/doprnt.c (doprnt): Format "%%" correctly.
22579         Problem reported by Philipp Stephani in:
22580         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
22582 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22584         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
22586 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
22588         Revert mml-generate-mime-1 (bug#27141)
22590         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
22591         with slight modernizations (bug#27141).
22593 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
22595         Fix Bug#27108
22597         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
22598         in order to avoid Tramp password requests during Emacs
22599         startup.  (Bug#27108)
22601 2017-05-31  Glenn Morris  <rgm@gnu.org>
22603         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
22605 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
22607         Document current-line hscrolling in ELisp manual
22609         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
22610         new mode of auto-hscrolling only the current line.
22612 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
22614         Support lower bound on hscrolling when only current line scrolls
22616         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
22617         mode of auto-hscrolling only the current line.
22619         * src/xdisp.c (init_iterator): When hscrolling only the
22620         current line, apply the window's min_hscroll here, so that
22621         non-current lines will be hscrolled by that minimum.
22622         Suggested by Stephen Berman <stephen.berman@gmx.net>.
22623         (hscroll_window_tree): Account for window's min_hscroll when
22624         deciding whether to recompute the hscroll.
22625         (display_line): Subtract window's min_hscroll from x_incr, as that
22626         was already accounted for in init_iterator.  (Bug#27008)
22628 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
22630         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
22632         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
22633         (cl-print-object): When `print-circle' is nil, bind it to a list of
22634         objects that are currently printing to avoid printing the same object
22635         endlessly.
22636         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
22638 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
22640         Further simplify test/Makefile, optionally load elc tests
22642         * test/Makefile.in: Use make's error ignoring feature instead of
22643         suppressing test errors with shell.  Compile test files in the main
22644         make invocation instead of a recursive 'make' call.  Optionally load
22645         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
22646         Remove obsolete commentary.
22648 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
22650         Avoid inflooping in redisplay due to Spacemacs and linum-mode
22652         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
22653         retries when a frame becomes garbaged as result of redisplaying
22654         it.  (Bug#27115)
22656 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
22658         * src/editfns.c (decode-time): Fix docstring.
22660 2017-05-31  Glenn Morris  <rgm@gnu.org>
22662         * admin/update_autogen: Remove bzr support.
22664 2017-05-31  Glenn Morris  <rgm@gnu.org>
22666         Avoid subr test failure when source dir has multiple names
22668         * test/lisp/subr-tests.el (subr-tests--this-file):
22669         Use the true name of the file.  The following test does a string
22670         comparison of this value with that from method-files, which uses
22671         load-history, which contains true names.
22673 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
22675         Extract eldoc--supported-p
22677         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
22678         (turn-on-eldoc-mode, eldoc-mode): Use it.
22679         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
22681 2017-05-30  Glenn Morris  <rgm@gnu.org>
22683         Make "make check" less verbose by default
22685         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
22686         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
22687         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
22688         New, copied from lisp/Makefile.in.
22689         (%.elc, %.log): Simplify and quieten.
22691 2017-05-30  Alan Mackenzie  <acm@muc.de>
22693         Mode line "%q" construct: Just use one number when both would be the same.
22695         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
22697 2017-05-30  Alan Mackenzie  <acm@muc.de>
22699         Merge branch 'master' of /home/acm/emacs/emacs.git/master
22701 2017-05-30  Alan Mackenzie  <acm@muc.de>
22703         c-defun-name: Return fully qualified method names when wanted in C++, etc.
22705         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
22706         c-back-over-compound-identifier in place of c-backward-token-2 near the end
22707         of the function.
22709 2017-05-30  Glenn Morris  <rgm@gnu.org>
22711         Reduce scope of recent test/Makefile HOME change
22713         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
22715 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22717         Skip .#* temporaries when finding sources
22719         Without this patch, ‘make check’ can fail with the diagnostic
22720         ‘invalid syntax in conditional’ if there is an Emacs temporary
22721         file whose name starts with ‘.#’, because the ‘#’ is treated as
22722         the start of a Make comment.
22723         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
22724         * test/Makefile.in (ELFILES):
22725         Skip files starting with ‘.’, so that the .#* files do not cause
22726         trouble.  (We cannot easily skip just files starting with ‘.#’,
22727         since ‘#’ starts a Make comment!)
22729 2017-05-30  Alan Mackenzie  <acm@muc.de>
22731         Merge branch 'master' of /home/acm/emacs/emacs.git/master
22733 2017-05-30  Alan Mackenzie  <acm@muc.de>
22735         Fix the mouse help/key map on the "%p" part of the mode line.
22737         * lisp/bindings.el (mode-line-percent-position): give it a
22738         `risky-local-variable' property.
22739         (mode-line-position): correct the quoting on the mode-line-percent-position
22740         part of the variable, allowing the properties to be properly recognized.
22742 2017-05-30  Alan Mackenzie  <acm@muc.de>
22744         Fix the mouse help/key map on the "%p" part of the mode line.
22746         * lisp/bindings.el (mode-line-percent-position): give it a
22747         `risky-local-variable' property.
22748         (mode-line-position): correct the quoting on the mode-line-percent-position
22749         part of the variable, allowing the properties to be properly recognized.
22751 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22753         Merge from gnulib
22755         * build-aux/config.guess: Copy from gnulib.
22756         * lib/gnulib.mk.in: Regenerate.
22758 2017-05-30  Glenn Morris  <rgm@gnu.org>
22760         Stop make check interacting with HOME
22762         * test/Makefile.in (HOME): Export a non-existent value.
22764 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22766         Update .gitattributes to match sources better
22768         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
22769         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
22770         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
22771         Add config.guess and config.sub as shell files.
22773 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
22775         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
22777         * doc/emacs/cmdargs.texi (Initial Options):
22778         * doc/lispref/os.texi (Startup Summary):
22779         * etc/NEWS:
22780         * etc/emacs.service:
22781         * src/emacs.c (main):
22782         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
22783         '--bg-daemon'.
22785 2017-05-30  Glenn Morris  <rgm@gnu.org>
22787         todo-mode: don't assume an ordering of tests
22789         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
22790         (todo-test-item-highlighting): Avoid prompting for input file.
22792 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22794         Improve .gdbinit Lisp value pretty-printing
22796         * src/.gdbinit (to_string): Use an unsigned representation for
22797         Lisp values, as requested by Eli Zaretskii (Bug#27098).
22798         Also, use "make_number(N)" for Lisp integers.
22800 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
22802         Turn global-eldoc-mode into a globalized minor mode
22804         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
22805         Turn into globalized mode (bug#19853).
22806         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
22807         (eldoc-mode): Only show the message when called interactively.
22809 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
22811         Use regexp matching instead of checking exit status
22813         * lisp/progmodes/xref.el (xref-collect-matches):
22814         See if the output buffer contents look like Grep output
22815         instead of checking exit status (bug#23451).
22817 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
22819         Add initial tests for todo-mode.el
22821         *test/lisp/calendar/todo-mode-tests.el:
22822         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
22823         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
22825         * .gitattributes: Ignore trailing whitespace in todo-mode test
22826         data files, since it is part of the todo-mode file format.
22828 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
22830         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
22832         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
22833         replacing an anonymous function for the sake of `describe-variable'.
22834         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
22835         and remove boundp test of this variable, so its value is available on
22836         invoking `todo-toggle-item-highlighting'.
22838 2017-05-29  Alan Third  <alan@idiocy.org>
22840         Fix build error on macOS 10.6
22842         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
22843         CGPoint.
22845 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
22847         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
22849         * lisp/progmodes/python.el (python-indent--calculate-indentation):
22850         Increase indent by `python-indent-offset' after
22851         `:after-backslash-assignment-continuation'.
22853 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
22855         Add suggestion to docstring
22857         * lisp/subr.el (interactive-p): Mention commandp, as this is often
22858           what users are actually looking for.
22860 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
22862         Ensure button-get works in any buffer
22864         * lisp/button.el (button-get): Previously we assumed that button-get
22865           was called in the buffer containing the button.  In other buffers,
22866           button-get always returned nil.  Fix this by passing the relevant
22867           buffer from the marker.
22869 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
22871         Signal error if find-grep returns a nonzero status
22873         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
22874         if find-grep returns a nonzero status (bug#23451).  Remove the
22875         comment: even if some output is present, a non-zero status
22876         means something went wrong and it can't be relied upon.
22878 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
22880         Make sure exiting todo-mode buffer buries it (bug#27121)
22882         This failed due to commit ea3ae33b from 2013-05-16, which prevented
22883         quitting todo-mode buffer after visiting todo-archive buffer from
22884         making the archive buffer current again.  Avoid this now by simply
22885         killing the archive buffer, since there's no need to keep it a live
22886         buffer.  Consequently, quitting a todo-mode buffer can now use
22887         bury-buffer without an argument, which ensures that is will not
22888         becomes current on quitting the buffer that replaced it in the window.
22890         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
22891         buffer instead of burying it.  This now allows exiting the
22892         todo-mode buffer by bury-buffer without an argument, so do that.
22894 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
22896         Some tweaks, almost all for Tramp adb method
22898         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
22899         Use `make-tramp-file-name'.
22900         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
22901         (tramp-adb-maybe-open-connection): Set "prompt" property.
22902         (tramp-adb-wait-for-output): Use it.
22904         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
22905         (tramp-dump-connection-properties): Check also that there are
22906         properties to be saved.  Don't save "started" property of
22907         "ftp" method.
22909         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
22910         Use `make-tramp-file-name'.
22912         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
22913         Host could be empty.
22914         (tramp-file-name-port-or-default): New defun.
22915         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
22916         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
22917         (tramp-call-process, tramp-call-process-region):
22918         Use `make-tramp-file-name'.
22920         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
22921         Revert change from 2017-05-24.
22922         (tramp-test05-expand-file-name-relative): Let it also pass for
22923         "adb" method.
22925 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
22927         Fix Tramp for Android 7
22929         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
22930         Username part of prompt is empty on Android 7.
22931         (tramp-adb-ls-toolbox-regexp):
22932         Ignore addition links column on Android 7.
22933         (tramp-adb-get-ls-command):
22934         Dont use --color=none when using toybox (Android 7).  It's not
22935         possible to disable coloring explicitly for toybox ls.
22937 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
22939         Fix cl-indent for `loop' with :keywords (Bug#15543)
22941         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
22942         ":keywords".
22944 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22946         Depromiscuify inotify with IN_MASK_ADD
22948         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
22949         mask.  This simplifies the code and restores the ability to
22950         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
22951         in some cases (Bug#26973).
22952         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
22953         (Finotify_add_watch): Use IN_MASK_ADD instead.
22955 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22957         Restore inotify onlydir support
22959         There was no need to remove it in the 2017-03-26 inotify change,
22960         as it is like IN_DONT_FOLLOW and does not affect other watchers
22961         for the same file.
22962         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
22963         (syms_of_inotify): Bring back onlydir.
22965 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22967         Simplify computation of inotify mask
22969         * src/inotify.c (add_watch): Accept uint32_t imask instead
22970         of Lisp_Object aspect.  Caller changed.
22971         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
22972         simplify the code.
22974 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
22976         Improve the documentation of filesets
22978         * doc/emacs/files.texi (Filesets): Fix the description of
22979         fileset-init's effect on the menu bar.  (Bug#27015)
22981 2017-05-27  Philipp Stephani  <phst@google.com>
22983         Don't attempt to recover from undefined behavior in some cases
22985         These functions can only be run in batch mode and exit Emacs on
22986         return, so nothing can be recovered.  Disable unsafe recover
22987         mechanisms so that we get real failures and good stack traces on
22988         fatal signals.
22990         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
22991         (batch-byte-recompile-directory):
22992         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
22993         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
22994         from undefined behavior.
22996 2017-05-27  Philipp Stephani  <phst@google.com>
22998         Avoid another compiler warning on macOS
23000         When configured with --without-ns, HAVE_NS is not defined on macOS,
23001         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
23002         by using the pre-defined __APPLE__ preprocessor macro.
23004         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
23006 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
23008         Fix ruler-mode text-scaling issues
23010         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
23011         for computing scaled text width.
23012         (ruler-mode-text-scaled-window-hscroll)
23013         (ruler-mode-text-scaled-window-width): Compute text scaled
23014         `window-width' value.
23015         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
23016         (ruler-mode-ruler): Change `window-hscroll' into
23017         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
23018         into `ruler-mode-text-scaled-window-width'.
23020 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
23022         Minor doc and doc-string fixes (Bug#27091)
23024         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
23026         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
23027         (Display Margins): Mention that `set-window-buffer' may override
23028         settings made by `set-window-fringes', `set-window-scroll-bars'
23029         and `set-window-margins'.
23030         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
23031         `set-window-buffer'.
23033 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
23035         Avoid args-out-of-range errors on fringe clicks after "C-h k"
23037         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
23038         message is already shorter than NCHARS.  (Bug#27040)
23040 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
23042         Fix GUD "Stop" display when running pdb
23044         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
23045         when GUD mode is 'pdb'.  (Bug#27024)
23047 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
23049         Support drag and drop of region by mouse (Bug#26725)
23051         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
23052         and drop region by mouse.
23053         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
23054         when start-event is on region.
23055         (mouse-drag-and-drop-region): New function, moves the region by
23056         (mouse-drag-and-drop-region): New defcustom.
23057         * etc/NEWS: Mention mouse-drag-and-drop-region.
23059 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
23061         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
23063 2017-05-27  Alan Third  <alan@idiocy.org>
23065         Check if instancetype supported in ObjC
23067         * configure.ac: Add check for instancetype.
23068         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
23070 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
23072         Mark keywordp as a safe, error-free function
23074         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
23075           side-effect-and-error-free-fns.
23077 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
23079         * src/inotify.c: Add FIXME comments.
23081 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
23083         Fix Bug#26973
23085         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
23086         and CLOSE events on order do let other processes also reading
23087         from their descriptors.  (Bug#26973).
23089 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
23091         Remove Emacs 23 compat code from Tramp
23093         * doc/misc/tramp.texi (Remote processes): Don't mention
23094         Emacs 24 explicitly.
23095         (Frequently Asked Questions): Remove Emacs 23 from
23096         compatibility list.
23098         * lisp/net/tramp.el:
23099         * lisp/net/tramp-adb.el:
23100         * lisp/net/tramp-cache.el:
23101         * lisp/net/tramp-gvfs.el:
23102         * lisp/net/tramp-sh.el:
23103         * lisp/net/tramp-smb.el: Replace compat function calls.
23105         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
23106         (tramp-compat-condition-case-unless-debug)
23107         (tramp-compat-copy-file, tramp-compat-copy-directory)
23108         (tramp-compat-delete-file, tramp-compat-delete-directory)
23109         (tramp-compat-process-live-p): Remove them.
23111         * lisp/net/trampver.el: Make version check fit for Emacs 24.
23113 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
23115         Work for application/x-tar-gz and image/svg+xml
23117         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
23118         ;; of bug#27078 in the Emacs bug list using Gnus.
23120         * lisp/gnus/mm-archive.el (mm-archive-decoders):
23121         Add a decoder for application/x-tar-gz.
23122         (mm-dissect-archive): Error out if a decoder is not found.
23124         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
23126 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
23128         test-calc-23889: Skip test on 32-bit platforms
23130         This test fails on some 32-bit platforms as mentioned in
23131         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
23132         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
23133         the Lisp integer is not big enough.
23135 2017-05-25  Alan Third  <alan@idiocy.org>
23137         Fix NS tooltips showing in the wrong place (bug#27053)
23139         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
23140         last recorded position.
23142 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23144         lisp/net/soap-client.el: Bump version to 3.1.2
23146         * lisp/net/soap-client.el: Bump version to 3.1.2.
23148 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23150         Fix soap-inspect.el doc strings
23152         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
23153         string.
23154         (soap-inspect-xs-attribute-group): Likewise.
23156 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23158         Fix two soap-client.el byte compilation warnings
23160         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
23161         (soap-fetch-xml-from-url): Remove special declaration of
23162         url-http-response-status.
23163         (soap-invoke-internal): Likewise.
23165 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23167         lisp/net/soap-client.el: Require cl-lib version 0.6.1
23169         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
23171 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23172             Stefan Monnier  <monnier@iro.umontreal.ca>
23174         lisp/net/soap-client.el: Shorten some long lines
23176         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
23177         unnecessary progn.
23178         (soap-xs-add-union): Wrap long line.
23180 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
23181             Stefan Monnier  <monnier@iro.umontreal.ca>
23183         Remove cl dependency in soap-client.el and soap-inspect.el
23185         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
23186         with cl-case, destructuring-bind with cl-destructuring-bind and
23187         loop with cl-loop.
23189         * lisp/net/soap-client.el: Replace cl library with cl-lib,
23190         defstruct with cl-defstruct, assert with cl-assert, case with
23191         cl-case, ecase with cl-ecase, loop with cl-loop and
23192         destructuring-bind with cl-destructuring-bind.
23194 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
23196         Switch Tramp to cl-lib
23198         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
23200         * lisp/net/tramp-ftp.el: Don't require cl.
23202         * lisp/net/tramp-gvfs.el: Don't require cl.
23203         (tramp-gvfs-handler-mounted-unmounted)
23204         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
23206         * lisp/net/tramp-sh.el: Don't require cl.
23207         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
23208         (tramp-sh-gvfs-monitor-dir-process-filter)
23209         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
23211         * lisp/net/tramp-smb.el: Don't require cl.
23212         (tramp-smb-read-file-entry): Use `cl-*' macros.
23214         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
23215         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
23216         (tramp-parse-passwd, tramp-parse-etc-group)
23217         (tramp-parse-putty): Use `cl-*' macros.
23219 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23221         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
23223 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23225         Port ATTRIBUTE_MAY_ALIAS to recent icc
23227         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
23228         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
23229         “warning #2621: attribute "__may_alias__" does not apply here”
23230         for constructs like ‘struct sockaddr *sa = (whatever);
23231         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
23232         = (struct sockaddr_in *) sa;’.
23234 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23236         Merge from gnulib
23238         This incorporates:
23239         2017-05-25 port to recent icc
23240         * lib/intprops.h: Copy from gnulib.
23242 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
23244         Fix Tramp for python.el
23246         * lisp/net/tramp.el (tramp-get-connection-process): Check,
23247         that VEC is a `tramp-file-name' structure.
23249 2017-05-24  Alan Third  <alan@idiocy.org>
23251         Raise version of macOS we define instancetype for (bug#27059)
23253         * src/nsterm.m: Increase supported version number.
23255 2017-05-24  Alan Third  <alan@idiocy.org>
23257         Define new types on macOS 10.6 (bug#27041)
23259         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
23260         correct NSUInteger instead of int.
23262 2017-05-24  Glenn Morris  <rgm@gnu.org>
23264         Don't autoload new dns-mode command
23266         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
23267         Remove autoload cookie.
23269 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23271         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
23273         (sxhash_vector): Make it work on pseudo vectors as well.
23274         (sxhash): Treat records like vectors.
23276 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
23278         Adapt tramp-tests.el according to new defstruct
23280         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
23281         Fix test according to new defstruct.
23282         (tramp-test29-environment-variables-and-port-numbers):
23283         Expect it now as passed.  Cleanup at the end.
23285 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
23287         Introduce a defstruct `tramp-file-name' as central data structure.
23289         This solves also Bug#27009.
23291         * lisp/net/tramp.el (tramp-current-domain)
23292         (tramp-current-port): New defvars.
23293         (tramp-file-name): New defstruct.
23294         (tramp-file-name-user-domain, tramp-file-name-host-port)
23295         (tramp-file-name-equal-p): New defuns.
23296         (tramp-file-name-p, tramp-file-name-method)
23297         (tramp-file-name-user, tramp-file-name-host)
23298         (tramp-file-name-localname, tramp-file-name-hop)
23299         (tramp-file-name-real-user, tramp-file-name-domain)
23300         (tramp-file-name-real-host, tramp-file-name-port):
23301         Remove defuns.  They are provided by the defstruct, or not
23302         needed anymore.
23303         (tramp-dissect-file-name, tramp-buffer-name)
23304         (tramp-make-tramp-file-name, tramp-get-buffer)
23305         (tramp-set-connection-local-variables)
23306         (tramp-debug-buffer-name, tramp-message)
23307         (tramp-error-with-buffer, with-parsed-tramp-file-name)
23308         (tramp-completion-dissect-file-name1)
23309         (tramp-handle-file-name-as-directory)
23310         (tramp-handle-file-name-directory)
23311         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
23312         (tramp-handle-find-backup-file-name)
23313         (tramp-handle-insert-file-contents, tramp-process-actions)
23314         (tramp-check-cached-permissions, tramp-local-host-p)
23315         (tramp-get-remote-tmpdir, tramp-call-process)
23316         (tramp-call-process-region, tramp-read-passwd)
23317         (tramp-clear-passwd):
23318         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
23319         (tramp-adb-handle-expand-file-name)
23320         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
23321         (tramp-adb-handle-process-file)
23322         (tramp-adb-maybe-open-connection):
23323         * lisp/net/tramp-cache.el (tramp-get-hash-table)
23324         (tramp-get-file-property, tramp-set-file-property)
23325         (tramp-flush-file-property, tramp-flush-directory-property)
23326         (tramp-get-connection-property)
23327         (tramp-set-connection-property, tramp-connection-property-p)
23328         (tramp-flush-connection-property, tramp-cache-print)
23329         (tramp-list-connections, tramp-dump-connection-properties)
23330         (tramp-parse-connection-properties):
23331         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
23332         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
23333         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
23334         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
23335         (tramp-gvfs-handler-mounted-unmounted)
23336         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
23337         (tramp-gvfs-get-remote-gid)
23338         (tramp-gvfs-maybe-open-connection):
23339         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
23340         (tramp-do-copy-or-rename-file-out-of-band)
23341         (tramp-sh-handle-expand-file-name)
23342         (tramp-sh-handle-start-file-process)
23343         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
23344         (tramp-maybe-open-connection)
23345         (tramp-make-copy-program-file-name, tramp-get-remote-path)
23346         (tramp-get-inline-coding):
23347         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
23348         (tramp-smb-handle-expand-file-name)
23349         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
23350         (tramp-smb-handle-set-file-acl)
23351         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
23353 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
23355         Fix and improve UI of scroll bar menu (bug#27047)
23357         In addition, since the Emacs manual writes "scroll bar", "tool
23358         bar" and "menu bar", use this convention in the Show/Hide menues
23359         and tooltips as well.
23361         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
23362         pressing a radio button in the menu actually show that it was
23363         pressed.  Replace the two radio buttons to turn the horizontal
23364         scroll bar on and off with a single check-box toggle and add a
23365         separator between this and the vertical scroll bar radio
23366         buttons.  Use conventional spelling.
23367         (menu-bar-horizontal-scroll-bar)
23368         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
23369         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
23370         (menu-bar-mode): Use conventional spelling.
23372 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
23374         Remove string-as-unibyte
23376         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
23377         (canlock-make-cancel-key): No need to use string-as-unibyte.
23379 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
23381         Fix concatenation of "^" with diff-file-junk-re
23383         This regexp contains "\\|", thus a concatenation
23384         of "^" with it just matches the beginning of line for the
23385         first alternative in diff-file-junk-re.
23386         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
23387         diff-file-junk-re wrapped in a shy group.
23389 2017-05-24  Glenn Morris  <rgm@gnu.org>
23391         Suppress intermittent test failure on hydra
23393         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
23394         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
23396 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
23398         New dns-mode command for IPv6 address conversion
23400         This converts IPv6 addresses to a format suitable for
23401         reverse lookup zone files.  (Bug#26820)
23402         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
23403         Add dns-mode-ipv6-to-nibbles.
23404         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
23405         New functions.
23406         * test/lisp/dns-mode-tests.el: New file.
23408 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
23410         Protect *Backtrace* from being killed (Bug#26650)
23412         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
23413         `kill-buffer-hook'.
23415 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
23417         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
23419         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
23420         (lisp-mode-variables): Use it.
23422 2017-05-23  Philipp Stephani  <phst@google.com>
23424         vc-hg.el: Silence byte compiler warning
23426         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
23428 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
23430         Don't warn about missing brances on macOS
23432         On macOS, removing -Wmissing-braces is not enough; the warning has to
23433         be disabled explicitly.
23435 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
23437         Don't treat ' as a string delimiter in RPM spec files
23439         ' is commonly used as an apostrophe in the prose sections of spec
23440         files, which was erroneously highlighted as strings. See for example
23441         http://kmymoney2.sourceforge.net/phb/rpm-example.html
23443         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
23444           punctuation in RPM spec files.
23446 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
23448         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
23450         (common-lisp-indent-function-1): Remove unused var `last-point`.
23451         (lisp-indent-error-function): Move defvar before first use.
23453 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
23455         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
23457         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
23459         * lisp/net/shr.el: Use cl-lib instead of cl.
23461 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
23463         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
23465         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
23466         (binding-test-makunbound, data-tests-varalias-watchers)
23467         (data-tests-local-variable-watchers): Silence compiler warnings.
23469 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
23471         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
23473 2017-05-23  Alan Third  <alan@idiocy.org>
23475         Fix GNUstep build
23477         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
23478         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
23479         GNUstep and old versions of macOS.
23480         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
23481         works in cocoa, not GNUstep.
23483 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
23485         Add test for Bug#27009 in tramp-tests.el
23487         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
23488         Check `tramp-file-name-real-host' for being a local host.
23490         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
23492         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
23493         Declare default host for mock method.
23494         (tramp-test29-environment-variables-and-port-numbers): New test.
23496 2017-05-23  Glenn Morris  <rgm@gnu.org>
23498         Don't advertise s_client in tls.el docs
23500         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
23501         Don't mention s_client in docs.
23503         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
23505 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
23507         Remove s_client usage from tls.el
23509         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
23510         Ref http://bugs.debian.org/766397
23511         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
23514         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
23516 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
23518         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
23520 2017-05-22  Sam Steingold  <sds@gnu.org>
23522         Fix "g" in hg&git push&pull buffers
23524         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
23525         `compilation-directory' and `compilation-arguments'.
23526         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
23528 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
23530         Fix current-line hscrolling in buffers with header-line
23532         * src/xdisp.c (display_line): When testing the glyph row's
23533         vertical position against the cursor position, account for header
23534         line, if any.  (Bug#27014)
23536 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
23538         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
23540         (rfc2047-decode-encoded-words): Use dolist.
23541         (rfc2047-decode-string): Avoid string-to-multibyte.
23542         (rfc2047-pad-base64): Use pcase.
23544 2017-05-21  Dima Kogan  <dima@secretsauce.net>
23546         Make ff-find-other-file symmetric for C++ (Bug#20192)
23548         `cc-other-file-alist' has a mapping of file extensions to switch
23549         between headers and sources, but the mappings weren't completely
23550         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
23551         to .cpp.
23553         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
23554         C++ extensions to make them symmetric with the C++ extensions that map
23555         to them.  This lets repeated invocations of `ff-find-other-file'
23556         toggle between all pairs of sources/headers.
23558 2017-05-21  Philipp Stephani  <phst@google.com>
23560         Fix definition of whitespace in JSON
23562         See
23563         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
23565         * lisp/json.el (json-skip-whitespace): Fix definition.
23566         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
23567         test.
23569 2017-05-21  Philipp Stephani  <phst@google.com>
23571         Improve module function terminology
23573         Module functions were previously called "function environments" when
23574         the functions created by module_make_functions were lambdas.  Now we
23575         can adapt the terminology and rename "function environments" to
23576         "module functions" everywhere.  This also removes the name clash
23577         between "function environments" and "module environments."
23579         * src/emacs-module.c (module_make_function): Adapt comment to reality;
23580         stop using "function environment" terminology.
23581         (funcall_module): Stop using "function environment" terminology.
23583 2017-05-21  Philipp Stephani  <phst@google.com>
23585         Avoid uninitialized read
23587         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
23589 2017-05-21  Philipp Stephani  <phst@google.com>
23591         Fix call of registerServicesMenuSendTypes
23593         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
23594         returnTypes; pass an empty array instead.
23596 2017-05-21  Philipp Stephani  <phst@google.com>
23598         Clean up code around 'ns-list-services'
23600         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
23601         branch NS_IMPL_COCOA cannot be defined.
23602         (interpret_services_menu): Define only if called to avoid compiler
23603         warnings about unused static functions.
23605 2017-05-21  Philipp Stephani  <phst@google.com>
23607         Remove unused automatic variables
23609         * src/nsterm.m (ns_read_socket):
23610         * src/macfont.m (macfont_open): Remove unused automatic variables.
23612 2017-05-21  Philipp Stephani  <phst@google.com>
23614         Nextstep: Replace deprecated enumerators
23616         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
23617         deprecated enumerator.
23619 2017-05-21  Philipp Stephani  <phst@google.com>
23621         Nextstep: remove some deprecated method calls
23623         * src/nsterm.m (mouseDown:):
23624         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
23625         deprecated method.  The return value is always nil.
23626         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
23628 2017-05-21  Philipp Stephani  <phst@google.com>
23630         Remove trailing semicolons in method definitions
23632         These semicolons are ignored and cause compiler warnings.
23634         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
23635         * src/nsterm.m (init, updateFrameSize:):
23636         (setFrame:): Remove trailing semicolon.
23638 2017-05-21  Philipp Stephani  <phst@google.com>
23640         Remove calls to deprecated setUsesScreenFonts
23642         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
23643         (mac_font_shape_1): Remove screen_font_p parameter.
23644         (mac_screen_font_shape): Remove screen_font_p argument.
23646 2017-05-21  Philipp Stephani  <phst@google.com>
23648         Make a function static that isn't used outside this file
23650         * src/kqueue.c (kqueue_directory_listing): Make static.
23652 2017-05-21  Philipp Stephani  <phst@google.com>
23654         Use NSCharacterCollection instead of CTCharacterCollection
23656         This should not cause behavior changes, but fixes a compiler warning
23657         due to implicit conversions between the enums.
23659         * src/macfont.m (macfont_cache, macfont_lookup_cache)
23660         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
23661         (macfont_variation_glyphs): Use NSCharacterCollection.
23663 2017-05-21  Philipp Stephani  <phst@google.com>
23665         Remove unused function print_regions
23667 2017-05-21  Philipp Stephani  <phst@google.com>
23669         Declare Nextstep unexec functions in lisp.h
23671         This removes compiler warnings about missing prototypes on macOS.
23673 2017-05-21  Philipp Stephani  <phst@google.com>
23675         Nextstep: Use instancetype explicit return type
23677         This removes compiler warnings on macOS and improves type safety.
23679         * src/nsterm.m (initFrameFromEmacs:):
23680         (menuDown:):
23681         (toolbarClicked:):
23682         (toggleToolbar:):
23683         (setMiniwindowImage:):
23684         (initFrame:window:):
23685         (condemn, reprieve, setPosition:portion:whole:):
23686         (repeatScroll:):
23687         * src/nsmenu.m (initWithTitle:):
23688         (initWithTitle:frame:):
23689         (initForView:withIdentifier:):
23690         (init, initWithContentRect:styleMask:backing:defer:):
23691         (initFromContents:isQuestion:):
23692         * src/nsimage.m (allocInitFromFile:):
23693         (initFromXBM:width:height:fg:bg:):
23694         (setXBMColor:):
23695         (initForXPMWithDepth:width:height:): Use instancetype as return
23696         type instead of implicit id.
23698 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
23700         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
23702 2017-05-21  Alan Mackenzie  <acm@muc.de>
23704         Enhance mode-line percentage offset facility, with "%o" and "%q"
23706         "%o" will display the percentage "travel" of the window through the buffer.
23707         "%q" will display a combination of the percentage offsets of the top and
23708         bottom of the window.  The new user option mode-line-percent-position will
23709         facilitate selecting a setting for this part of the mode line.
23711         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
23712         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
23714         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
23716         * doc/lispref/modes.texi (Mode Line Variables): Document
23717         mode-line-percent-position.
23718         (%-Constructs): Document %o and %q.
23720         * etc/NEWS: Add an entry for these new facilities.
23722 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23724         Work around macOS bug in create_process, too
23726         * src/process.c (create_process) [DARWIN_OS]:
23727         Reset SIGCHLD after vfork here, too.
23729 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23731         Work around macOS bug with vforked child
23733         * src/callproc.c (call_process) [DARWIN_OS]:
23734         Include workaround for apparent macOS bug.
23736 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23738         Pacify --enable-gcc-warnings without modules
23740         * src/print.c (print_vectorlike): New function, taken from
23741         part of print_object.  This one is indented properly, and
23742         pacifies --enable-gcc-warnings by using a default case
23743         instead of listing all the enum values, sometimes
23744         incompletely.
23745         (print_object): Use it.
23747 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23749         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
23751         It does not appear to be needed (Bug#24441).
23752         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
23753         * src/fileio.c (file_name_case_insensitive_p):
23754         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
23756 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23758         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
23760         * etc/PROBLEMS: Document this (Bug#24441).
23761         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
23762         with _PC_CASE_SENSITIVE, if it works, to
23763         DARWIN_OS_CASE_SENSITIVE_FIXME code.
23764         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
23765         which matches the Apple documentation more precisely.
23767 2017-05-21  Tom Tromey  <tom@tromey.com>
23769         Fix mhtml-mode fontification bug
23771         Bug#26922
23772         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
23773         sgml-syntax-propertize-inside if not in a submode.
23774         * test/manual/indent/html-multi-4.html: New file.
23776 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
23778         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
23780         * lisp/ido.el (ido-set-matches-1): Only check first character of
23781         item if it's non-empty.
23783 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
23785         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
23787 2017-05-21  Glenn Morris  <rgm@gnu.org>
23789         Prevent loading vc-bzr writing to ~/.bzr.log
23791         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
23793 2017-05-21  Glenn Morris  <rgm@gnu.org>
23795         Prevent running vc-tests writing to ~/.bzr.log
23797         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
23798         (vc-test--register, vc-test--working-revision)
23799         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
23801 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
23803         Don't end non-hook variable with "-hook" (Bug#26623)
23805         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
23806         follow-inside-post-command-hook, update uses.
23808 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
23810         Fix macOS mouse movement
23812         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
23813         function (Lisp).
23814         (set-mouse-absolute-pixel-position): Change it to call
23815         `ns-set-mouse-absolute-pixel-position' on macOS.
23816         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
23817         function.
23818         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
23819         screen's height as a base for calculating global coordinates.
23820         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
23821         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
23822         movement of mouse relative to frame.
23824 2017-05-21  Alan Third  <alan@idiocy.org>
23826         Show tooltip on correct screen (bug#26905)
23828         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
23829         tooltip and constrain it to that screen.
23831 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
23833         Don't save unrelated buffers before recompiling directory (Bug#25964)
23835         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
23836         buffers visiting lisp files under the directory being compiled.
23838 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
23840         Minor fixes for arity ranges in emacs modules
23842         * src/emacs-module.c (module_make_function):
23843         Check that arities fit into fixnums, for func-arity’s benefit.
23844         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
23845         (module_function_arity): Allow arities greater than SHRT_MAX.
23847 2017-05-20  Philipp Stephani  <phst@google.com>
23849         Reimplement module functions
23851         Instead of a lambda, create a new type containing all data required to
23852         call the function, and support it in the evaluator.  Because this type
23853         now also needs to store the function documentation, it is too big for
23854         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
23855         that we don't have to add special support to the garbage collector.
23857         Since the new type is user-visible, give it a predicate.
23859         Now we can easily support 'help-function-args' and 'func-arity'; add
23860         unit tests for these.
23862         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
23863         (XMODULE_FUNCTION): New pseudovector type 'module function'.
23865         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
23866         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
23867         functions.
23868         (Ffunc_arity): Add support for detecting the arity of module
23869         functions.
23871         * src/emacs-module.c (module_make_function): Adapt to new structure.
23872         Return module function object directly instead of wrapping it in a
23873         lambda; remove FIXME.
23874         (funcall_module): New function to call module functions.  Replaces
23875         `internal--module-call' and is called directly from eval.c.
23876         (syms_of_module): Remove internal helper function, which is no longer
23877         needed.
23878         (module_function_arity): New helper function.
23880         * src/data.c (Ftype_of): Adapt to new implementation.
23881         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
23882         that module functions are first-class objects, they deserve a
23883         predicate.  Define it even if not compiled with --enable-modules so
23884         that Lisp code doesn't have to check for the function's existence.
23886         * src/doc.c (Fdocumentation): Support module functions.
23888         * src/print.c (print_object): Adapt to new implementation.
23890         * src/alloc.c (mark_object): Specialized garbage collector support is
23891         no longer needed.
23893         * lisp/help.el (help-function-arglist): Support module functions.
23894         While there, simplify the arity calculation by using `func-arity',
23895         which does the right thing for all kinds of functions.
23897         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
23898         the argument list.
23900         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
23901         new docstring.
23902         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
23903         is gone, the backtrace has changed and no longer leaks the
23904         implementation.
23905         (module--func-arity): New test for `func-arity'.
23906         (module--help-function-arglist): New test for `help-function-arglist'.
23908 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
23910         Avoid crashes in GC due to unescaped characters warning
23912         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
23913         Lisp objects from stack-based variables.  (Bug#26961)
23915 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
23917         New commands: find-library-other-window, find-library-other-frame
23919         * lisp/emacs-lisp/find-func.el (find-library-other-window)
23920         (find-library-other-frame): New commands to complement the
23921         existing 'find-library' command.  (Bug#26712)
23922         (read-library-name): New function to read a library name.
23923         * etc/NEWS: Mention 'find-library-other-window' and
23924         'find-library-other-frame'.
23926 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
23928         Fix automatic hscrolling of only the current line
23930         * src/xdisp.c (display_line): When hscrolling only the current
23931         line, increment iterator's first_visible_x and last_visible_x
23932         values to account for the hscroll.  This propagates the hscroll
23933         effect on the iterator geometry all the way down to the
23934         subroutines called by display_line, and avoids scrolling bugs
23935         under large hscroll values.  (Bug#26994)
23937 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
23939         Add handlerlist assertion to module code
23941         * src/emacs-module.c (module_reset_handlerlist):
23942         Check handlerlist.  Suggested by Philipp Stephani in:
23943         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
23945 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
23947         Port --enable-gcc-warnings to clang 3.9.1
23949         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
23950         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
23951         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
23953 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
23955         Limit integers printed as characters (Bug#16828)
23957         * lisp/simple.el (eval-expression-print-maximum-character): New
23958         variable.
23959         (eval-expression-print-format): Only display value as character if
23960         it's less than or equal to `eval-expression-print-maximum-character'.
23961         (eval-expression-get-print-arguments): Check
23962         eval-expression-print-maximum-character, allow negative arg to
23963         override it.
23964         (eval-expression):
23965         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
23966         (elisp--eval-last-sexp-print-value): Handle new variable.
23967         * doc/emacs/building.texi (Lisp Eval): Document new variable and
23968         behavior.
23969         * etc/NEWS: Announce it.
23970         * test/lisp/progmodes/elisp-mode-tests.el
23971         (eval-last-sexp-print-format-small-int)
23972         (eval-last-sexp-print-format-small-int-echo)
23973         (eval-last-sexp-print-format-large-int)
23974         (eval-last-sexp-print-format-large-int-echo):
23975         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
23976         (eval-expression-print-format-small-int-echo)
23977         (eval-expression-print-format-large-int)
23978         (eval-expression-print-format-large-int-echo): New tests.
23980 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
23982         Refactor lisp eval result printing
23984         * lisp/simple.el (eval-expression-print-format): Don't check
23985         `standard-output' or `current-prefix-arg'.
23986         (eval-expression-get-print-arguments): New function, centralizes
23987         decision about how to print results of `eval-expression' and
23988         `eval-last-sexp'.
23989         (eval-expression):
23990         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
23991         Use it.
23993 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23995         Check that signed right shift is arithmetic
23997         * src/data.c (ash_lsh_impl): Verify that signed right shift is
23998         arithmetic; if we run across a compiler that uses a logical shift
23999         we’ll need to complicate the code before removing this
24000         compile-time check.  Help the compiler do common subexpression
24001         elimination better.
24003 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24005         Minor .gitignore fixes
24007         * .gitignore: modules/mod-test/Makefile was renamed to
24008         test/data/emacs-module/Makefile.
24009         Omit [0-9]*.core, subsumed by *.core.
24010         test/indent/*.new was renamed to test/manual/indent/*.new.
24011         Add *.swp, for Vim.
24013 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
24015         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
24017 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
24019         Describe problems with Microsoft Intellipoint
24021         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
24022         mouse-2 events.  For the details, see
24023         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
24025 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
24027         Fix turning off whitespace-mode
24029         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
24030         the original buffer-display-table is saved and restored when
24031         global-whitespace-mode is active.  (Bug#26892)
24033         * test/lisp/whitespace-tests.el
24034         (whitespace-tests-whitespace-mode-on): New function.
24035         (whitespace-tests-display-tables): New test.
24037 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
24039         Minor tweaks in tramp-tests.el
24041         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
24042         (tramp-test05-expand-file-name-relative): Use it.
24043         (tramp-test38-unload): Run only in batch mode.
24045 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
24047         Fix a problem with OpenSSH 7 in Tramp
24049         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
24050         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
24052 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
24054         Improve documentation of 'split-string'
24056         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
24057         make it more readable.  (Bug#26925)
24059 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
24061         Fix typos in doc strings
24063         * lisp/mail/rfc2231.el (rfc2231-encode-string):
24064         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
24065         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
24066         strings.  (Bug#26103)
24068 2017-05-19  Philipp Stephani  <phst@google.com>
24070         Fix module tests on some systems
24072         If dladdr(3) isn't available or didn't work, the printed
24073         representation of a module function will not include the file name,
24074         but only the address.  Make the tests pass in that case.
24076         * test/src/emacs-module-tests.el (module-function-object): Fix match for
24077         module function printed representation
24079 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
24081         Add an optional arguments to string-trim
24083         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
24084         (string-trim): Add optional args that serve as defaults per the
24085         original behavior.  (Bug#26908)
24087 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
24089         Fix typo in last change to auto-hscroll-mode
24091         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
24093 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
24095         Support remote editing in emacsclient via Tramp
24097         * lib-src/emacsclient.c (main, decode_options)
24098         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
24099         specifies how emacs should use tramp to find remote files.
24101         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
24102         the various knobs to tune server.el for TCP opereation.
24103         (emacsclient Options): Reference "TCP Emacs server" from description of
24104         --server-file.  Document the new '--tramp' / '-T' options.
24105         * doc/emacs/emacs.texi (Top): Update the top-level menu.
24107         * etc/NEWS: Mention the new option.
24109 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
24111         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
24113 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24115         Attempt to work around macOS vfork bug
24117         Problem reported by YAMAMOTO Mitsuharu in:
24118         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
24119         This is related to the fix for Bug#26397.
24120         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
24121         Report internal error if wait_for_termination fails.
24122         * src/sysdep.c (get_child_status): Return -1 if waitpid is
24123         buggy, instead of aborting.
24124         (wait_for_termination): Return bool success value.
24125         All callers changed.
24127 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
24129         Adjust defcustom form for 'auto-hscroll-mode'
24131         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
24132         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
24134 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24136         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
24138         * src/fileio.c (file_name_case_insensitive_p):
24139         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
24140         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
24141         Problem reported by Philipp Stephani in:
24142         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
24144 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24146         Port --enable-gcc-warnings to clang 3.9.1
24148         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
24149         Problem reported by Philipp Stephani in:
24150         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
24152 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24154         Clean up compiler warning in emacs-module.c
24156         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
24157         instead of leaving it unused, to pacify picky compilers.
24158         (module_reset_handlerlist): Now takes a dummy pointer to a struct
24159         handler *, instead of a dummy pointer to an int.  All uses changed.
24161 2017-05-19  Philipp Stephani  <phst@google.com>
24163         Clean up some compiler warnings
24165         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
24166         Remove unused locals.
24168 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
24170         Support hscrolling only the current line
24172         * src/xdisp.c (hscrolling_current_line_p): New function.
24173         (init_iterator): If auto-hscrolling just the current line, don't
24174         increment the iterator's first_visible_x and last_visible_x
24175         variables.
24176         (hscroll_window_tree): Recompute window's hscroll when moving
24177         vertically to another screen line.
24178         (redisplay_window): If we are hscrolling only the current line,
24179         disable the optimizations that rely on the current matrix being
24180         up-to-date.
24181         (display_line): Accept an additional argument CURSOR_VPOS, the
24182         vertical position of the current screen line which might need
24183         hscrolling; all callers changed.  Compute first_visible_x and
24184         last_visible_x specially when auto-hscrolling current line, by
24185         repeating the calculation that is done in init_iterator in other
24186         modes.
24187         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
24188         accept a 3rd value 'current-line, to turn on the mode where
24189         only the current line is hscrolled.
24191         * etc/NEWS: Mention the new auto-hscroll-mode value.
24193 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
24195         Fix last change in line-move-finish
24197         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
24198         regression in C-n and C-p when lines are truncated, introduced by the
24199         change in 2017-05-10.
24201 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
24203         Expand docstring for CSS mode
24205         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
24206         Expand docstrings.
24208 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
24210         Use the expression angle units while simplifying it
24212         Don't use the angle mode, use the angle units included
24213         in the expression instead (Bug#23889).
24214         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
24215         (math-simplify): Use it.
24216         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
24217         Don't use calc-angle-mode if math-simplifying-units is non-nil.
24218         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
24219         (math-to-radians-2, math-from-radians-2): Don't convert angle
24220         to radians if math-simplifying-units is non-nil.
24221         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
24223 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
24225         Revert "Ignore angle mode while simplifying units"
24227         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
24228         This commit causes Bug#25652.
24230 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
24232         Avoid undefined behavior in struct sockaddr
24234         Problem noted by Philipp Stephani in:
24235         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
24236         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
24237         New macros.
24238         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
24239         (connect_network_socket, network_interface_info)
24240         (server_accept_connection): Use it when aliasing non-char objects.
24242 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
24244         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
24246         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
24247         Add autoload cookie.
24248         (smerge--refine-forward): Rename from smerge-refine-forward.
24249         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
24250         Assume that its `beg` arg is a marker.
24251         (smerge--refine-highlight-change): Rename from
24252         smerge-refine-highlight-change.  Remove `buf` arg.
24253         (smerge-refine-subst): Redefine as an obsolete alias.
24255 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
24257         Work around AddressSanitizer bug with vfork
24259         Problem reported by Jim Meyering in:
24260         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
24261         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
24262         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
24263         vforked child messes up the parent’s shadow memory.  This is too
24264         bad, as we’d rather have AddressSanitizer catch memory-access bugs
24265         related to vfork.
24267 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
24269         Catch IPv4/IPv6 issues at compile time
24271         * src/process.c (connect_network_socket): Use verify,
24272         not eassert, so that any problems are caught at compile-time.
24273         Avoid dodgy cast by using a local var of the correct type.
24275 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
24277         Pacify --enable-gcc-warnings --with-x-toolkit=no
24279         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
24280         Avoid unused local.
24282 2017-05-17  Glenn Morris  <rgm@gnu.org>
24284         * admin/update_autogen (commit): Pull before push.
24286 2017-05-17  Glenn Morris  <rgm@gnu.org>
24288         autoload-rubric no longer provides a feature by default
24290         * lisp/emacs-lisp/autoload.el (autoload-rubric):
24291         Stop providing a feature unless explicitly requested.
24292         (autoload-find-generated-file): Update autoload-rubric call.
24294 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
24296         Remove redundant code in connect_network_socket
24298         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
24299         Remove redundant type-casting and variables.  Don't call
24300         'getsockname' to find the port for AF_LOCAL sockets.
24301         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
24302         and IPv6 structures are at the same offset and have the same size.
24304 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24306         Fix minor timezone memory leak
24308         * src/editfns.c (wall_clock_tz): Remove; unused.
24310 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24312         Do not discard AddressSanitizer stderr
24314         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
24315         Do not close stderr.
24317 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24319         Simplify procname code to avoid GCC bug
24321         * src/process.c (server_accept_connection): Simplify and avoid
24322         multiple calls and struct literals in the last case of a switch.
24323         The old code ran afoul of GCC bug 80659, which caused an internal
24324         compiler error.  Problem reported by Jim Meyering in:
24325         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
24326         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
24328 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24330         Pacify GCC 7 with --enable-gcc-warnings
24332         * src/regex.c (regex_compile): Swap labels, so that the
24333         FALLTHROUGH immediately precedes the case label.
24335 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24337         Merge with gnulib, pacifying GCC 7
24339         This incorporates:
24340         2017-05-16 manywarnings: update for GCC 7
24341         2017-05-15 sys_select: Avoid "was expanded before it was required"
24342         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
24343         -Wformat-overflow=2 options, due to too many false alarms.
24344         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
24345         Copy from gnulib.
24346         * m4/gnulib-comp.m4: Regenerate.
24347         * src/coding.c (decode_coding_iso_2022):
24348         Fix bug uncovered by -Wimplicit-fallthrough.
24349         * src/conf_post.h (FALLTHROUGH): New macro.
24350         Use it to mark all switch cases that fall through.
24351         * src/editfns.c (styled_format): Use !, not ~, on bool.
24352         * src/gtkutil.c (xg_check_special_colors):
24353         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
24354         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
24355         this bug was actually caught by Clang.
24356         * src/search.c (boyer_moore):
24357         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
24358         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
24359         Tell GCC that glyph->u.glyphless.ch must be a character.
24361 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
24363         Make autoloading Tramp more robust
24365         * lisp/net/tramp.el (tramp-file-name-for-operation):
24366         Use `default-directory' where appropriate.
24367         (tramp-file-name-handler): Do not autoload.
24368         (tramp-autoload-file-name-handler): Reintroduce function.
24369         (tramp-register-autoload-file-name-handlers): Use it.
24371 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
24373         Extend tramp-tests.el
24375         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
24376         Remove declaration, not needed anymore.
24377         (tramp-test05-expand-file-name-relative): New test.
24378         (tramp-test10-write-region): Extend test.
24380 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
24382         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
24384 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
24386         Make `indent-line-to' respect field boundaries (Bug#26891)
24388         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
24389         of `backward-to-indentation'.
24391 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
24393         Make sure indent-sexp stops at end of sexp (Bug#26878)
24395         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
24396         indenting.
24397         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
24398         test.
24400 2017-05-16  Glenn Morris  <rgm@gnu.org>
24402         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
24404         * test/lisp/epg-tests.el (with-epg-tests):
24405         Also set GNUPGHOME in the environment of child processes.
24406         This avoids problems if gpg does not pass --homedir to spawned agent.
24408 2017-05-16  Glenn Morris  <rgm@gnu.org>
24410         Add oldxmenu to system-configuration-features
24412         * configure.ac (HAVE_OLDXMENU): New.
24413         (emacs_config_features): Add oldxmenu.
24415 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
24417         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
24419 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
24421         Remove unneeded stuff from nt/inc/sys/time.h
24423         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
24424         (timercmp, timerclear): Don't define.  Instead, include the system
24425         header sys/time.h, and add only the interval timers stuff.  This
24426         avoids compiler warnings about 'gettimeofday's prototype, and also
24427         avoids redefinition of macros from system headers.
24429 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
24431         Fix address violation found by AddressSanitizer
24433         * src/process.c (connect_network_socket):
24434         Use struct sockaddr_storage, not struct sockaddr_in, to store info
24435         about a socket address.  Problem reported by Philipp Stephani in:
24436         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
24437         This fix is based on a patch by Philipp in:
24438         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
24440 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
24442         Make edebug-step-in work on generic methods (Bug#22294)
24444         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
24445         New function to implement the edebug-form-spec property of
24446         the symbol cl-generic-method-args.
24447         (edebug-instrument-function): If the function is a generic
24448         function, find and instrument all of its methods. Return a list
24449         instead of a single symbol.
24450         (edebug-instrument-callee): Now returns a list. Update docstring.
24451         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
24452         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
24453         cl-generic-method-args in its Edebug spec.
24454         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
24455         cl-generic-method-args in its Edebug spec.
24456         * lisp/subr.el (method-files): New function.
24457         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
24458         (subr-tests--method-files--nonexistent-methods): New tests.
24460 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24462         Merge from gnulib
24464         This incorporates:
24465         2017-05-14 same-inode: Adapt for windows-stat-inodes
24466         2017-05-14 windows-stat-inodes: New module
24467         2017-05-14 stat-time: Adapt for windows-stat-timespec
24468         * lib/gnulib.mk.in: Regenerate.
24469         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
24470         Copy from gnulib.
24472 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
24474         Remove gettimeofday from w32 sources
24476         * lib-src/ntlib.c (gettimeofday):
24477         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
24478         function 'gettimeofday' and all of its supporting code.
24480 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
24482         Fix the MS-Windows build
24484         * nt/inc/sys/time.h (gettimeofday):
24485         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
24487 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
24489         More accurate documentation of the ':box' face attribute
24491         * doc/lispref/display.texi (Face Attributes): Fix the description
24492         of negative width of the ':box' attribute.  (Bug#26920)
24494 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24496         Merge from gnulib
24498         This incorporates:
24499         2017-05-13 largefile: Simplify
24500         2017-05-13 largefile: Improve and document
24501         2017-05-13 truncate: New module
24502         2017-05-13 windows-stat-timespec: New module
24503         2017-05-13 windows-stat-override: New module
24504         2017-05-11 getopt-posix: port to mingw
24505         2017-05-11 gettimeofday: Increase precision on mingw
24506         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
24507         2017-05-10 Implement a way to opt out from MSVC support
24508         2017-05-09 tzset: Expand comment about TZ problem on native Windows
24509         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
24510         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
24511         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
24512         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
24513         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
24514         * m4/unistd_h.m4: Copy from gnulib.
24515         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
24517 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
24519         Merge branch 'fix/bug-21072'
24521 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
24523         * .gitlab-ci.yml: Add setup for GitLab CI builds.
24525 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
24527         New minor mode 'pixel-scroll-mode'
24529         * lisp/pixel-scroll.el: New file.
24531         * etc/NEWS: Mention pixel-scroll-mode.
24533 2017-05-13  Philipp  <phst@google.com>
24535         Make `old-style-backquotes' variable internal
24537         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
24538         (syms_of_lread): Rename `old-style-backquotes' to
24539         `lread--old-style-backquotes', and clarify that it's for internal
24540         use only.
24541         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
24542         variable.
24543         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
24544         unit test.
24545         * test/lisp/emacs-lisp/bytecomp-tests.el
24546         (bytecomp-tests--old-style-backquotes): Add unit test.
24548 2017-05-13  Philipp Stephani  <phst@google.com>
24550         Improve unescaped character literal warnings
24552         * src/lread.c (load_warn_unescaped_character_literals)
24553         (syms_of_lread):
24554         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
24555         formatting of unescaped character literal warnings.
24557         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
24558         test/lisp/emacs-lisp/bytecomp-tests.el
24559         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
24561 2017-05-12  Alan Mackenzie  <acm@muc.de>
24563         Fontify C++ for loop variable as variable, even when followed by parentheses
24565         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
24566         getting fontified as a function, due to insufficient checking of the tokens
24567         between it and "()".
24569         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
24570         lang-consts/vars.
24572         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
24573         declarator's identifier, check for a ":" token inside a for's parentheses, and
24574         abort the search for "(" if this is found.
24576 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
24578         Make Tramp backward compatible
24580         * lisp/net/tramp-cmds.el (tramp-change-syntax):
24581         Set tramp-autoload cookie.
24583         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
24584         startup, if necessary.
24586         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
24587         (tramp-register-autoload-file-name-handlers): Do not mark
24588         `operations' for `tramp-file-name-handler'.
24589         (tramp-register-file-name-handlers): Remove also
24590         `tramp-autoload-file-name-handler' for backward compatibility.
24591         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
24593         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
24595 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
24597         Modify `beginning-of-defun-comments'
24599         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
24600         in the middle of a multiline comment.
24602 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
24604         Fix elisp-tests-with-temp-buffer compilation
24606         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
24607         Don't refer to the =!NAME= as "markers" since they produce variables
24608         with just plain positions, not marker objects.  Explicitly specify
24609         that CONTENTS is evaluated at compile time.  Don't re-evaluate
24610         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
24611         to BODY not using =!NAME= variables.
24612         (elisp-test-point-position-regex): Rename from
24613         `elisp-test-point-marker-regex'.
24614         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
24616 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
24618         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
24620 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
24622         Fix Bug#21072 and rework `mark-defun'
24624         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
24625           New variable
24626         (mark-defun-no-arg-region-inactive)
24627         (mark-defun-no-arg-region-active)
24628         (mark-defun-arg-region-active)
24629         (mark-defun-pos-arg-region-inactive)
24630         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
24631         the new `mark-defun'.
24633         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
24634           New function.
24635         (beginning-of-defun-comments): New function.
24636         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
24637         to accept a numerical prefix argument.
24639 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
24641         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
24643 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
24645         Improve doc strings in net-utils.el
24647         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
24648         (route, traceroute, nslookup, ftp, smbclient)
24649         (smbclient-list-shares, finger, whois)
24650         (network-connection-to-service, network-service-connection)
24651         (network-connection-reconnect): Improve doc strings.
24653 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
24655         Extend DNS lookup commands to allow specifying the name server
24657         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
24658         'net-utils-machine-at-point' obviating this autoloaded
24659         function (Bug#25426).
24660         (dig-program-options): New customization variable.
24661         (nslookup-host, dns-lookup-host, run-dig): Can now specify
24662         optional name server argument interactively (by prefix arg) and
24663         non-interactively.
24665         * etc/NEWS: Mention the extension of DNS lookup commands.
24667 2017-05-12  Glenn Morris  <rgm@gnu.org>
24669         Don't hard-code loaddefs files in lisp/Makefile
24671         * lisp/Makefile.in (loaddefs): New variable.
24672         (AUTOGENEL): Use $loaddefs, and include directory.
24673         (bootstrap-clean): Update for AUTOGENEL change.
24675 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
24677         Kill modified buffers silently when quitting (bug#26862)
24679         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
24680         sure that latest drafts are saved, and kill modified buffers silently.
24682 2017-05-10  Perry E. Metzger  <perry@piermont.com>
24684         Implement 1-based column numbering in mode line
24686         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
24688         * lisp/bindings.el (column-number-indicator-zero-based): New
24689         defcustom.
24690         (mode-line-position): Use %C when
24691         column-number-indicator-zero-based is nil.
24693         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
24694         * src/buffer.c (syms_of_buffer) <mode-line-format>:
24695         * doc/lispref/modes.texi (%-Constructs):
24696         * doc/lispref/frames.texi (Frame Titles): Document the %C
24697         construct.
24699         * doc/emacs/display.texi (Optional Mode Line): Document
24700         'column-number-indicator-zero-based'.
24702         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
24703         %C construct.
24705 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
24707         Ensure cursor's foreground color is in sync with 'default' face
24709         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
24710         foreground color is different from the background of the glyph
24711         string's face.  (Bug#26851)
24713 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
24715         Fix vertical cursor motion when columns are of unequal size
24717         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
24718         vertical-motion to move to the goal column, as the goal column
24719         should in that case be interpreted in units of frame's canonical
24720         character width.  (Bug#26852)
24722 2017-05-10  Glenn Morris  <rgm@gnu.org>
24724         Fix finding test .el files
24726         * test/Makefile.in (ELFILES): Exclude the data/ directory.
24727         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
24729 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
24731         Tweak a recent test
24733         This test fails in my local machine because the data files
24734         are compiled, and the test doesn't expect that.
24735         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
24736         ending with '.elc' when the data files are compiled.
24738 2017-05-10  Glenn Morris  <rgm@gnu.org>
24740         Put license information in each generated uni-*.el
24742         * admin/unidata/unidata-gen.el (unidata-gen-file):
24743         Get Copyright line from copyright.html.
24744         Put information in file header, not separate README.
24745         (unidata-gen-charprop): Mention the source location.
24746         * lisp/international/README: Remove file.
24748 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
24750         Fix lisp-indent-region and indent-sexp (Bug#26619)
24752         The new lisp-indent-region introduced in 2017-04-22 "Add new
24753         `lisp-indent-region' that doesn't reparse the code." is broken because
24754         it doesn't save the calculated indent amounts for already seen sexp
24755         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
24756         code.  Furthermore, only preserve position 2 of the running parse
24757         when the depth doesn't change.
24758         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
24759         corresponds with the start point when calling parse-partial-sexp.
24760         (lisp-indent-state): New struct.
24761         (lisp-indent-calc-next): New function, extracted from indent-sexp.
24762         (indent-sexp, lisp-indent-region): Use it.
24763         (lisp-indent-line): Take indentation, instead of parse state.
24764         * test/lisp/emacs-lisp/lisp-mode-tests.el
24765         (lisp-mode-tests--correctly-indented-sexp): New constant.
24766         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
24767         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
24768         tests.
24770 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
24772         Simplify url-encode-url and add a test
24774         * lisp/url/url-util.el (url-encode-url): Simplify.
24775         url-generic-parse-url copes with multibyte strings just fine
24776         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
24778         * test/lisp/url/url-parse-tests.el
24779         (url-generic-parse-url/multibyte-host-and-path): New test.
24781 2017-05-10  Glenn Morris  <rgm@gnu.org>
24783         More informative error when required feature missing
24785         * src/fns.c (Frequire): Include file name in missing feature error.
24786         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
24788 2017-05-10  Glenn Morris  <rgm@gnu.org>
24790         Put re-loaded file back at start of load-history (bug#26837)
24792         * src/lread.c (readevalloop): Fix the "whole buffer" check to
24793         operate in the correct buffer.
24794         (Feval_buffer): Move point back to the start after checking
24795         for lexical binding.
24796         * test/src/lread-tests.el (lread-test-bug26837): New test.
24797         * test/data/somelib.el, test/data/somelib2.el: New test data files.
24799 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
24801         Improve documentation of 'gnutls-verify-error'
24803         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
24804         doc string.  (Bug#26845)
24806 2017-05-09  Glenn Morris  <rgm@gnu.org>
24808         Don't duplicate autoload code in package.el
24810         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
24811         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
24812         (package-autoload-ensure-default-file): Use autoload-rubric.
24814 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
24816         * test/lisp/net/tramp-tests.el: Keep additional test.
24818 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
24820         Add elisp-tests-with-temp-buffer, a new testing macro
24822         * test/lisp/emacs-lisp/lisp-tests.el
24823         (elisp-test-point-marker-regex) New variable.
24824         (elisp-tests-with-temp-buffer): New macro to help test functions
24825         moving the point and/or mark.
24827 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
24829         Revert "Output number of characters added to file (Bug#354)"
24831         The extra message text turned out to be quite annoying in practice,
24832         and is generally more trouble than it's worth.  Also revert several
24833         related changes.
24835         Partially revert "Handle `write-region' messages in Tramp properly"
24836         Revert "New var write-region-verbose, default nil"
24837         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
24838         Revert "Minor tuneup of write-region change"
24839         Revert "Adjust write-region so file name is at the beginning again"
24840         Revert "Fix handling of non-integer START param to write-region"
24841         Revert "Output number of characters added to file (Bug#354)"
24843         * doc/emacs/files.texi (Misc File Ops):
24844         * etc/NEWS:
24845         * lisp/epa-file.el (epa-file-write-region):
24846         * lisp/gnus/mm-util.el (mm-append-to-file):
24847         * lisp/jka-compr.el (jka-compr-write-region):
24848         * lisp/net/ange-ftp.el (ange-ftp-write-region):
24849         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
24850         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
24851         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
24852         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
24853         * lisp/net/tramp.el (tramp-handle-write-region-message):
24854         * src/fileio.c (write_region, syms_of_fileio):
24855         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
24856         extra characters from file writing messages.
24858 2017-05-09  Noah Friedman  <friedman@splode.com>
24860         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
24861         because $ptr is modified by ygetptr and we use $ptr immediately at the
24862         beginning.
24864 2017-05-08  Ken Brown  <kbrown@cornell.edu>
24866         Skip a test from filenotify-tests.el on Cygwin
24868         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
24869         Skip the last part of the test on Cygwin; it fails due to timing
24870         issues.
24871         (file-notify--test-read-event):  Remove `sit-for' that was added
24872         for Cygwin.
24874 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24876         Merge from gnulib
24878         This incorporates:
24879         2017-05-08 intprops: don’t depend on ‘verify’
24880         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
24881         2017-05-07 utimens: Improve error code on native Windows
24882         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
24884 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
24886         Fix various verilog-mode.el issues.
24888         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
24889         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
24890         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
24891         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
24892         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
24893         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
24894         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
24895         msg2143. Reported by Galen Seitz.
24896         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
24897         compile-command is globally set, bug1119.  Reported by Galen Seitz.
24899 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
24901         Handle `write-region' messages in Tramp properly
24903         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
24904         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
24905         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
24906         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
24907         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
24909         * lisp/net/tramp.el (tramp-password-prompt-regexp)
24910         (tramp-completion-mode-p):
24911         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
24912         (tramp-append-tramp-buffers):
24913         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
24914         Use `bound-and-true-p'.
24916         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
24917         Don't check for `boundp' anymore.
24919         * test/lisp/net/tramp-tests.el (ert-x): Require it.
24920         (tramp--test-messages): New defvar.
24921         (tramp-test10-write-region): Extend test.
24923 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
24925         Fix glyph string generation for multi-font compositions (Bug#26742)
24927         * src/xdisp.c (glyph_string_containing_background_width): New function.
24928         (draw_glyphs): Use it to get correct background width.
24929         (compute_overhangs_and_x): Don't change x in the middle of composite
24930         characters.
24932 2017-05-07  Philipp Stephani  <phst@google.com>
24934         Fix all unescaped character literals
24936 2017-05-07  Alan Mackenzie  <acm@muc.de>
24938         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
24940         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
24941         e.g., between the two characters of an opening comment "/*", and additionally
24942         there were an odd number of quote marks (apostrophes) in the comment.  This
24943         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
24944         buffer position 615001.
24946         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
24947         pps-extended-state to mean that there are at least 11 elements in the parser
24948         state.
24950         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
24951         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
24952         types which indicate potentially being inside two-char constructs.
24953         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
24954         functions.
24956 2017-05-07  Glenn Morris  <rgm@gnu.org>
24958         Silence an mh-compat compiler warning
24960         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
24962 2017-05-07  Glenn Morris  <rgm@gnu.org>
24964         Evaluate mh-require when compiling
24966         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
24967         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
24968         Evaluate mh-require when compiling, as require is automatically.
24969         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
24971 2017-05-07  Glenn Morris  <rgm@gnu.org>
24973         Remove obsolete method of changing byte-compile-dest-file
24975         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
24976         Define unconditionally.
24978 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
24980         New var write-region-verbose, default nil
24982         By popular demand, write-region char counts are now off by default
24983         (Bug#26796).
24984         * src/fileio.c (write-region-verbose): New Lisp var.
24985         (write_region): Output char count only if the var is non-nil.
24986         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
24988 2017-05-07  Glenn Morris  <rgm@gnu.org>
24990         Write autoloads file atomically
24992         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
24993         New function, to save buffer atomically.
24994         (autoload-save-buffers, update-directory-autoloads):
24995         Use autoload--save-buffer.
24996         * lisp/Makefile.in ($(lisp)/loaddefs.el):
24997         No longer write to a temp file by hand.
24999 2017-05-07  Glenn Morris  <rgm@gnu.org>
25001         Write autoloads file once only
25003         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
25004         Simplify.  Don't bother about ensuring the output file exists.
25005         (autoload-generated-file): Add doc.
25006         (autoload-ensure-writable): Update doc.
25007         (autoload-ensure-file-writeable): Handle non-existing file.
25008         (autoload-ensure-default-file): Remove function.
25010 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
25012         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
25014         * src/.gdbinit (Lisp_Object_Printer.to_string):
25015         Explicitly convert integer val to 'int', so that
25016         older GDBs do not complain about the conversion.
25017         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
25018         Give the struct a tag, so that older GDB pretty-printers have a
25019         tag to hang their hat on.
25021 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
25023         Pretty-print const Lisp_Objects in .gdbinit
25025         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
25026         Compare unqualified type to Lisp_Object, to do the right thing
25027         when the expression has type ‘Lisp_Object const’.
25028         Problem reported by Eli Zaretskii in:
25029         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
25031 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
25033         Pacify GCC setjmp/longjmp warning
25035         * src/eval.c (internal_lisp_condition_case): Do not modify local
25036         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
25037         cases mistakenly diagnoses VAR possibly being modified between a
25038         setjmp and a longjmp.
25040 2017-05-06  Philipp  <phst@google.com>
25042         Fix bootstrap build of files.el
25044         * lisp/files.el (file-name-non-special): Don't use cl-letf.
25046 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
25048         Fix last change for MS-Windows
25050         * test/src/emacs-module-tests.el (module-function-object): Port to
25051         MS-Windows.
25053 2017-05-06  Philipp Stephani  <phst@google.com>
25055         Introduce new misc type for module function
25057         This resolves a couple of FIXMEs in emacs-module.c.
25059         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
25061         * src/alloc.c (make_module_function): New function.
25062         (mark_object): GC support.
25064         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
25066         * src/print.c (print_object): Print support for new type.
25068         * src/emacs-module.c (module_make_function, Finternal_module_call):
25069         Use new module function type, remove FIXMEs.
25070         (module_format_fun_env): Adapt and give it external linkage.
25072         * test/src/emacs-module-tests.el (module-function-object): Add unit
25073         test.
25075 2017-05-06  Philipp Stephani  <phst@google.com>
25077         Fix quoted files for 'verify-visited-file-modtime'
25079         Fixes Bug#25951.
25081         * lisp/files.el (file-name-non-special): Set the file name for the
25082         correct buffer.
25084         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
25085         Add unit test.
25086         (files-tests--with-advice, files-tests--with-temp-file): New helper
25087         macros.
25089 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
25091         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
25093 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
25095         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
25097         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
25098         ENABLE_CHECKING is defined.
25099         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
25100         instead of being defined.
25102 2017-05-06  Tom Tromey  <tom@tromey.com>
25104         Fix erc-join with channel password
25106         Bug#25349
25107         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
25108         server names.
25109         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
25110         Likewise.
25111         (erc-server-join-channel): Move to erc.el.
25112         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
25113         (erc-cmd-JOIN): Use erc-server-join-channel.
25115 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
25117         Ensure the created temp file in a test is new
25119         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
25120         to create the temp file.
25122 2017-05-06  Glenn Morris  <rgm@gnu.org>
25124         Decruftify dns-mode.el a little bit
25126         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
25127         New constant.
25128         (dns-mode-control-entity, dns-mode-bad-control-entity)
25129         (dns-mode-type, dns-mode-class): New faces.
25130         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
25131         (dns-mode-type-face, dns-mode-class): Make these variables use the
25132         new faces, and mark as obsolete.
25133         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
25135 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
25137         Pretty-print Lisp_Object values in GDB
25139         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
25140         GDB displays them as "XIL(0xXXX)" rather than displaying them
25141         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
25142         otherwise.
25144 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
25146         Tweak dns-mode font-lock
25148         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
25149         Highlight $TTL as a control entity.  (Bug#26780)
25151 2017-05-05  Glenn Morris  <rgm@gnu.org>
25153         Fontify the doc-string in some CL forms as such
25155         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
25156         Add the doc-string-elt property.  (Bug#26778)
25158 2017-05-05  Glenn Morris  <rgm@gnu.org>
25160         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
25162 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
25164         cl-defmethod: Make the edebug spec more technically correct
25166         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
25167         edebug spec part for qualifiers as [&rest atom], per
25168         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
25170 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
25172         Fix MH-E not to load cl at runtime (Bug#25552)
25174         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
25175         compile time, whether the target is bound.
25176         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
25177         mh-acros at compile time.
25178         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
25179         <npostavs@users.sourceforge.net>
25181 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
25183         Multiline support in NS "Open Selected File" service.
25185         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
25186         original call in a (split-string) to create as many calls as there
25187         are lines.
25188         (ns-spi-service-call): Call `ns-open-file-service' instead of
25189         `dnd-open-file'.
25191 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
25193         Require cl-lib at runtime in vc-hg
25195         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
25197 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
25199         Inherit incompatible/obsolete package faces from error
25201         Don't use the same face for installed packages as for incompatible
25202         or obsolete ones.
25203         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
25205 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
25207         Set process property `adjust-window-size-function' to `ignore' in Tramp
25209         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
25210         (tramp-adb-maybe-open-connection):
25211         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
25212         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
25213         (tramp-maybe-open-connection):
25214         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
25215         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
25216         (tramp-smb-maybe-open-connection): Set process property
25217         `adjust-window-size-function' to `ignore'.
25219 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
25221         * lisp/emacs-lisp/seq.el: Bump seq version.
25223 2017-05-04  Damien Cassou  <damien@cassou.me>
25225         Add seq-set-equal-p to test for set equality
25227         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
25228           two lists as if they were sets.
25230         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
25231           for seq-set-equal-p.
25233 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
25235         Spelling fixes
25237         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
25238         Rename from nndiary-last-occurence.
25239         (nndiary-next-occurrence):
25240         Rename from nndiary-next-occurence.  All uses changed.
25242 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
25244         Merge from pkg-config
25246         * m4/pkg.m4: Copy from pkg-config 0.29.1.
25248 2017-05-04  Tom Tromey  <tom@tromey.com>
25250         Add color highlighting to css-mode
25252         Bug#25525
25253         * lisp/textmodes/css-mode.el (css--color-map): New constant.
25254         (css-value-class-alist): Use css--color-map.
25255         (css--number-regexp, css--percent-regexp)
25256         (css--number-or-percent-regexp, css--angle-regexp): New constants.
25257         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
25258         functions.
25259         (css--colors-regexp): New constant.
25260         (css--hex-color, css--named-color, css--compute-color)
25261         (css--contrasty-color, css--fontify-colors)
25262         (css--fontify-region): New functions.
25263         (css-mode): Set font-lock-fontify-region-function.
25264         (css-mode-syntax-table): Set syntax on more characters.
25265         (css-fontify-colors): New defcustom.
25266         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
25267         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
25268         Update.
25269         (css-test-rgb-parser, css-test-hsl-parser)
25270         (css-test-named-color): New tests.
25271         * etc/NEWS: Add entry.
25273 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
25275         Fix Bug#26763
25277         * lisp/files.el (delete-directory): Call file name handler
25278         with `trash' argument.
25280         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
25281         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
25282         Add TRASH arg.  Implement it.  (Bug#26763)
25283         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
25285         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
25286         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
25287         Add _TRASH arg.
25289 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
25291         Use ptrdiff_t, not int, for stack sizes
25293         * src/thread.c (invoke_thread_function):
25294         * src/xterm.c (x_cr_export_frames):
25295         Don’t assume SPECPDL_INDEX fits in ‘int’.
25297 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
25299         Check list object type if --enable-gcc-warnings
25301         * configure.ac (--enable-check-lisp-object-type):
25302         Default to "yes" if --enable-gcc-warnings is not "no".
25303         * etc/NEWS: Mention this.
25304         * src/eval.c (internal_lisp_condition_case): Fix some glitches
25305         with 'volatile' uncovered by the above: in particular, 'clauses'
25306         should be a pointer to volatile storage on the stack, and need not
25307         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
25308         Don’t bother gathering binding count if VAR is nil.  Use
25309         more-specific local names to try to clarify what’s going on.
25311 2017-05-02  Glenn Morris  <rgm@gnu.org>
25313         Tweak auth-source-pass.el to avoid run-time subr-x
25315         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
25316         Avoid needing subr-x at run-time.
25318 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
25320         Constrain non-child frames to screen area in OS X
25322         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
25323         frames in OS X, if they would otherwise go offscreen.
25325         (Bug#25818)
25327 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
25329         Fix error in completion for separate Tramp syntax
25331         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
25332         Tweak regexp.
25334         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
25335         Run method and host name completion for all syntaxes.
25337 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
25339         Avoid compilation warnings
25341         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
25342         * src/w32term.c (x_draw_glyph_string):
25343         * src/w32fns.c (compute_tip_xy):
25344         * src/w32font.c (w32font_text_extents):
25345         * src/w32menu.c (set_frame_menubar):
25346         * src/search.c (Freplace_match): Avoid compiler warnings in
25347         optimized builds.
25349 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
25351         Merge from gnulib
25353         This incorporates:
25354         2017-05-02 utimens: port to Emacs + MS-Windows
25355         * lib/utimens.c: Copy from gnulib.
25357 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
25359         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
25361         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
25362         to make Edebug generate a new symbol for each method (Bug#24753) and
25363         to support a string following :extra (Bug#23995).
25364         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
25365         make Edebug generate a new symbol for each method (Bug#24753).
25367 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
25369         Temporary fix for the MS_Windows build
25371         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
25372         to be consistent with Gnulib's utimens.c.  This is because utimens.c
25373         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
25374         previous definition here conflicted with that.
25376 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
25378         Port format-time-string to MS-Windows better
25380         * test/src/editfns-tests.el (format-time-string-with-zone):
25381         Port test cases to MS-Windows.
25383 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
25385         Merge from gnulib
25387         This incorporates:
25388         2017-05-01 New module 'localtime-buffer'
25389         2017-04-30 utimens: Add support for native Windows
25390         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
25391         * configure.ac (tzset): No need for Emacs itself to check now.
25392         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
25393         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
25394         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25395         * lib/localtime-buffer.c, lib/localtime-buffer.h:
25396         * m4/localtime-buffer.m4: New files, copied from gnulib.
25397         * src/editfns.c (init_editfns): Assume tzset is callable.
25399 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
25401         Speed up project-find-regexp for simple regexps
25403         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
25404         New function.
25405         (xref--collect-matches): Use it.  Don't try to enable the
25406         appropriate major mode and file-local variables if the regexp
25407         does not depend on the buffer's syntax (bug#26710).
25408         (xref--collect-matches-1): Don't syntax-propertize in that
25409         case either.
25411 2017-05-01  Philipp Stephani  <phst@google.com>
25413         Warn about missing backslashes during load
25415         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
25416         (syms_of_lread): Warn if unescaped character literals are
25417         found (Bug#20152).
25418         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
25419         unescaped character literals during byte compilation.
25420         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
25421         unit test.
25422         (lread-tests--with-temp-file, lread-tests--last-message): Helper
25423         functions for unit test.
25424         * test/lisp/emacs-lisp/bytecomp-tests.el
25425         (bytecomp-tests--unescaped-char-literals): New unit test.
25426         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
25427         Helper macro for unit test.
25429 2017-05-01  Ken Brown  <kbrown@cornell.edu>
25431         * configure.ac: Suggest Mailutils on Cygwin.
25433 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
25435         Don’t stress-test time zones near the Epoch
25437         * test/src/editfns-tests.el (format-time-string-with-zone)
25438         (format-time-string-with-outlandish-zone): Don’t format
25439         timestamps near the Epoch, as this runs into bugs on MS-Windows,
25440         and we don’t want to worry about those bugs.
25442 2017-05-01  Glenn Morris  <rgm@gnu.org>
25444         Tweak vc-tests.el for bzr
25446         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
25447         Handle test environments where HOME does not exist.
25449 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
25451         vc-git-state: Return `ignored' as appropriate with newer Git
25453         * lisp/vc/vc-git.el
25454         (vc-git--program-version): New variable.
25455         (vc-git--program-version): New function.
25456         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
25458 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
25460         vc-git-state: Bring back CentOS 6 compatibility
25462         * lisp/vc/vc-git.el (vc-git-state):
25463         Bring back CentOS 6 compatibility (bug#19343).
25465 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
25467         Rewrite w32fns.c's `x_set_menu_bar_lines'
25469         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
25470         regardless of whether menu bar is added or removed.  Clear
25471         under internal border iff a W32 window exists.  Store either 0
25472         or 1 as new parameter value.
25473         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
25474         FRAME_X_WINDOW.
25476 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
25478         Fix filenotify-tests.el for cygwin
25480         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
25481         Add an additional `sit-for'.
25482         (file-notify-test02-rm-watch): Add an additional
25483         `file-notify--test-read-event' call.
25485 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
25487         Speed up vc-git-status and make it more precise
25489         * lisp/vc/vc-git.el (vc-git-state)
25490         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
25491         'git status', so that 'vc-git-state' can now return 'ignored',
25492         'conflict', or 'unregistered' when appropriate.  Discussed in
25493         bug#26066.  Fixes bug#19343.
25495 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
25497         Fix Git revision navigation in currently removed directories
25499         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
25500         default-directory because FILE's parent directory might not exist
25501         anymore (bug#26345).
25503 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
25505         Merge from gnulib
25507         This incorporates:
25508         2017-04-30 strftime-fixes: New module
25509         2017-04-30 mktime: Work around TZ problem on native Windows
25510         2017-04-30 ctime, localtime: New modules
25511         2017-04-30 gettimeofday: Provide higher resolution on native Windows
25512         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
25513         2017-04-29 Make use of module 'utime-h'
25514         2017-04-30 Fix a few typos
25515         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
25516         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
25517         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
25518         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
25519         Copy from gnulib.
25520         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25522 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
25524         Don't lose key bindings on mis-spelled text in flyspell-mode
25526         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
25527         explicitly.
25528         (make-flyspell-overlay): If the mis-spelled text already has a
25529         'keymap' property, make that keymap the parent of
25530         flyspell-mouse-map, so as not to lose the parent's bindings.
25531         (Bug#26672)
25533 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
25535         Fix `delete-frame' behavior including Bug#26682
25537         * src/frame.c (other_frames): Accept two arguments now.  Don't
25538         care about minibuffer window.  Don't care about visibility when
25539         called from delete_frame with FORCE true (Bug#26682).
25540         (delete_frame, Fmake_frame_invisible): Adjust other_frames
25541         calls.
25542         * src/w32term.c (w32_read_socket): Don't add a move frame event
25543         for an invisible frame.
25544         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
25545         attempting to delete a surrogate minibuffer frame.
25547 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
25549         Merge from gnulib
25551         This avoids incorporating the following, which I suspect are
25552         more trouble for Emacs than they’re worth:
25553         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
25554         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
25555         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25556         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
25558 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
25560         Fix buffer overflow in make-docfile
25562         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
25563         overflow when reading an identifier.  Use a static buffer for NAME
25564         rather than a small dynamically-allocated buffer.
25566 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
25568         Merge from gnulib
25570         This incorporates:
25571         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
25572         * lib/getopt-pfx-ext.h: Copy from gnulib.
25573         * lib/gnulib.mk.in: Regenerate.
25575 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
25577         Fix dependency error during bootstrap
25579         * lisp/files.el: Require pcase and easy-mmode at compile time.
25581 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
25583         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
25585 2017-04-29  Philipp Stephani  <phst@google.com>
25587         Reimplement auto-saving to visited files
25589         This reacts to confusing behavior of 'auto-save-visited-file-name',
25590         cf. Bug#25478.
25592         * lisp/files.el (auto-save-visited-interval): New customization option.
25593         (auto-save-visited-mode): New global minor mode.
25594         (auto-save-visited-file-name): Make obsolete.
25595         (auto-save--timer): New internal helper variable.
25597         * doc/emacs/files.texi (Auto Save Files): Document
25598         'auto-save-visited-mode' instead of obsolete
25599         'auto-save-visited-file-name'.
25600         (Auto Save Control): Document customization option
25601         'auto-save-visited-interval'.
25603 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
25605         Allow bypassing of some checks when merging
25607         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
25609 2017-04-29  Philipp Stephani  <phst@google.com>
25611         Integrate module test with normal test suite
25613         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
25614         configured.
25615         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
25616         correctly even if Emacs changes the current directory.
25617         ($(srcdir)/src/emacs-module-tests.log)
25618         ($(test_module)): Proper dependency tracking for test module.
25620         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
25621         Remove 'check' target and EMACS variable, which are no longer
25622         necessary.
25623         (SO): Change to include period.
25625         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
25626         environment variable to reliably find test data.
25628         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
25629         substitutions.
25631 2017-04-28  Glenn Morris  <rgm@gnu.org>
25633         Broaden comint-password-prompt-regexp
25635         * lisp/comint.el (comint-password-prompt-regexp):
25636         Broaden the regexp, for non-English locales.  (Bug#26698)
25638 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25640         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
25642 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
25644         Don't pass the value of point to 'push-mark', as that's the default.
25646         * lisp/textmodes/bib-mode.el (mark-bib):
25647         * lisp/simple.el (mark-whole-buffer, yank):
25648         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
25649         * lisp/progmodes/xscheme.el (xscheme-yank):
25650         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
25651         * lisp/progmodes/perl-mode.el (perl-mark-function):
25652         * lisp/progmodes/pascal.el (pascal-mark-defun):
25653         * lisp/progmodes/meta-mode.el (meta-mark-defun):
25654         * lisp/progmodes/icon.el (mark-icon-function):
25655         * lisp/progmodes/cc-cmds.el (c-mark-function):
25656         * lisp/obsolete/vip.el (ex-goto):
25657         * lisp/obsolete/vi.el (vi-put-before):
25658         * lisp/mouse.el (mouse-yank-primary):
25659         * lisp/menu-bar.el (menu-bar-select-yank):
25660         * lisp/mail/sendmail.el (mail-yank-original):
25661         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
25662         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
25663         (viper-mark-end-of-buffer):
25664         * lisp/cedet/semantic/senator.el (senator-mark-defun):
25665         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
25666         `(point)' from calls to `push-mark'.  (Bug#25565)
25668 2017-04-28  Glenn Morris  <rgm@gnu.org>
25670         Merge from origin/emacs-25
25672         784602b1050 (origin/emacs-25) ; Add release notice
25673         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
25674         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
25675         2b0d1118199 ; CONTRIBUTE: Remove stray header.
25676         f2ab09ec60d Fix a typo in indexing the user manual
25677         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
25678         a6d50401b4b Document 'line-pixel-height'
25679         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
25680         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
25681         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
25682         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
25683         84938d79698 default-directory: Remark that it must be a directory name
25684         3f0d047d2eb Delete confuse statement in manual
25685         ee1bd94dd0c Improve packaging documentation
25686         fb18bff91f0 Expand manual section on quitting windows
25687         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
25688         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
25689         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
25690         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
25691         e0e9db4c84a ; Spelling fix
25693         # Conflicts:
25694         #       README
25695         #       etc/AUTHORS
25696         #       etc/HISTORY
25697         #       lisp/ldefs-boot.el
25699 2017-04-28  Glenn Morris  <rgm@gnu.org>
25701         * doc/misc/auth.texi: Commas don't work in node names.
25703         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
25705 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
25707         Test format-time-string with zone arg
25709         * test/src/editfns-tests.el (format-time-string-with-zone)
25710         (format-time-string-with-outlandish-zone): New tests.
25712 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
25714         Merge from gnulib
25716         This incorporates:
25717         2017-04-24 time_rz: fix heap buffer overflow vulnerability
25718         2017-04-23 stat-time: Update comments.
25719         2017-04-22 ftoastr: cite a newer paper
25720         2017-04-21 gettext-h: Avoid -Wundef warning.
25721         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
25722         * m4/getopt.m4: Copy from gnulib.
25723         * m4/gnulib-comp.m4: Regenerate.
25725 2017-04-27  Damien Cassou  <damien@cassou.me>
25727         auth-source-pass: Add documentation; fix tests and indentation.
25729         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
25730           instead of @enumerate.
25731         * lisp/auth-source-pass.el: Fix indentation.
25732           (auth-source-pass--remove-directory-name): Remove.
25733         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
25735 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
25737         auth-source-pass: Enable finding entries by "host/username"
25739         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
25740         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
25742 2017-04-27  Damien Cassou  <damien@cassou.me>
25744         Integrate auth-source with password-store
25746         * lisp/auth-source-pass.el: auth-source backend for password-store.
25747         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
25748           behavior.
25750 2017-04-27  Damien Cassou  <damien@cassou.me>
25752         * lisp/auth-source.el: Document parser functions.
25754 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
25756         auth-source: factor out parsers and add tests
25758         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
25759         * test/lisp/auth-source-tests.el: Add tests.
25761 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
25763         Fix doc and customization type of `window-combination-limit' (Bug#26673)
25765         * src/window.c (Vwindow_combination_limit): Fix doc-string.
25766         * lisp/cus-start.el (window-combination-limit): Fix
25767         customization type.
25768         * doc/lispref/windows.texi (Recombining Windows): Fix
25769         documentation of `window-combination-limit'.
25771 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
25773         Drop face from hi-lock--unused-faces only when used
25775         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
25776         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
25777         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
25779 2017-04-26  Alan Third  <alan@idiocy.org>
25781         Fix macOS version check (bug#26664)
25783         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
25784         macOS versions 10.12+.
25786 2017-04-26  Glenn Morris  <rgm@gnu.org>
25788         Make charprop.el provide a feature
25790         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
25791         Provide a feature.
25792         * lisp/loadup.el: Use the charprop feature.
25794 2017-04-26  Glenn Morris  <rgm@gnu.org>
25796         * lisp/loadup.el: Get charprop.el into etc/DOC again.
25798 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
25800         * lisp/ido.el (ido-everywhere): Use add-function.
25802 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
25804         Try to fix latest fix of w32_mouse_position
25806         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
25807         latest fix and try to make the affected code more rigorous.
25809 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
25811         Avoid segfaults when 'find-font' is invoked for a TTY frame
25813         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
25814         text-mode frame.  (Bug#26646)
25816 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
25818         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
25820         New defun.
25822 2017-04-26  Glenn Morris  <rgm@gnu.org>
25824         * src/Makefile.in (leimdir): Remove variable, no longer used.
25826 2017-04-26  Glenn Morris  <rgm@gnu.org>
25828         Generate leim-list via lisp/Makefile, not src/Makefile
25830         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
25831         (emacs$(EXEEXT)): Don't depend on leim-list.
25832         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
25834 2017-04-25  Alan Third  <alan@idiocy.org>
25836         Fix define for GNUstep builds
25838         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
25839         doesn't see the code.
25841 2017-04-25  Glenn Morris  <rgm@gnu.org>
25843         Suppress intermittent test failure on hydra
25845         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
25846         (eieio-test-method-order-list-6): Skip on hydra.
25848 2017-04-25  Alan Third  <alan@idiocy.org>
25850         Fix some NS frame handling issues
25852         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
25853         defines intended to make things tidier.
25854         (x_set_undecorated): Use the new defines.
25855         (windowWillResize): Don't use new macOS 12+ only feature.
25856         (initFrameFromEmacs): Use the new defines, and disable automatic
25857         window tabbing feature in macOS 12.
25858         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
25859         x_set_z_group): Add NSTRACE notices.
25861 2017-04-25  Glenn Morris  <rgm@gnu.org>
25863         Avoid parallel race condition
25865         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
25867 2017-04-25  Glenn Morris  <rgm@gnu.org>
25869         Generate each unicode lisp file independently
25871         This is better for parallel builds, eg it eliminates race
25872         conditions from having one process write multiple files.
25873         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
25874         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
25875         (all): Explicitly list the output lisp files.
25876         (PHONY_EXTRAS): Remove.
25877         (${unidir}/charprop.el): Change rule to just be for this file.
25878         (${unifiles}): New rule to write each unicode lisp file.
25879         (extraclean): Simplify.
25880         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
25881         Quieten in batch mode.
25882         (unidata-gen-files): Remove, no longer used.
25883         * lisp/loadup.el: Update command-line parser.
25885 2017-04-25  Glenn Morris  <rgm@gnu.org>
25887         Further refactoring in unidata-gen.el
25889         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
25890         New function, split from unidata-gen-files.
25891         (unidata-gen-files): Use unidata-gen-charprop.
25893 2017-04-25  Glenn Morris  <rgm@gnu.org>
25895         Allow unidata-gen-file to work independently
25897         * admin/unidata/unidata-gen.el (unidata-gen-file):
25898         Make it work as a stand-alone function in batch mode.
25899         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
25901 2017-04-25  Glenn Morris  <rgm@gnu.org>
25903         Preparatory refactoring in unidata-gen.el
25905         * admin/unidata/unidata-gen.el (unidata-gen-file):
25906         New function, split from unidata-gen-files.
25907         (unidata-gen-files): Use unidata-gen-file.
25909 2017-04-25  Glenn Morris  <rgm@gnu.org>
25911         Write each generated character property lisp file only once
25913         * admin/unidata/unidata-gen.el (unidata-file-alist):
25914         Rename from unidata-prop-alist.  All users changed.
25915         Use file name rather than property name as the key.
25916         (unidata-prop-prop): New function.
25917         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
25918         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
25919         Change to parse the argument rather than unidata-prop-alist.
25920         (unidata-gen-table-character, unidata-gen-table)
25921         (unidata-gen-table-symbol, unidata-gen-table-integer)
25922         (unidata-gen-table-numeric, unidata-gen-table-word-list)
25923         (unidata-gen-table-name, unidata-gen-table-decomposition)
25924         (unidata-gen-table-special-casing): Pass index as an argument.
25925         (unidata-check): Adapt to unidata-file-alist.
25926         Pass index to generator functions.
25927         (unidata-gen-files): Adapt to unidata-file-alist.
25928         Write each output file once only.  Overwrite rather than delete.
25930 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
25932         Fix requesting sparse articles in gnus
25934         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
25935         sparse article number from the list, not its id.
25937 2017-04-25  Glenn Morris  <rgm@gnu.org>
25939         Don't advertise s_client in tls.el docs
25941         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
25942         Don't mention s_client in docs.
25944 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
25946         Remove s_client usage from tls.el
25948         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
25949         Ref http://bugs.debian.org/766397
25950         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
25952 2017-04-25  Glenn Morris  <rgm@gnu.org>
25954         Further robustify cedet bootstrap to loaddefs not yet built
25956         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
25957         Avoid void-function error when bootstrapping and semantic/loaddefs.el
25958         does not yet exist.
25960 2017-04-24  Alan Third  <alan@idiocy.org>
25962         Fix XBM color rendering in NS port (bug#22060)
25964         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
25966 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
25968         Add support for IRCv3 message tags.
25970         * lisp/erc/erc-backend.el:
25971           erc-response: Add `tags' element.
25972           Add (erc-parse-tags).
25973           (erc-parse-server-response): Use (erc-parse-tags) to parse message
25974           tags (if any), and store them in `erc-resopnse' struct.
25976         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
25977           properties of the corresponding message line.
25979 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
25981         Add image sizing tests for an image that's narrow
25983         Needlessly refactor tests for clarity
25985 2017-04-23  Philipp Stephani  <phst@google.com>
25987         Add missing remappings for Ido mode
25989         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
25991         * lisp/ido.el (ido-mode): Remap missing commands.
25992         (ido-file-internal, ido-visit-buffer): Add support for new
25993         methods.
25994         (ido-display-buffer-other-frame)
25995         (ido-find-alternate-file-other-window, ido-dired-other-window)
25996         (ido-dired-other-frame): New commands.
25998         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
25999         test for the bindings.
26001 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
26003         Let w32_mouse_position pick a child window only if it has a child frame
26005         * src/w32term.c (w32_mouse_position): When using a frame found
26006         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
26007         maybe).
26009 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
26011         Don't require bytecomp for running ert tests
26013         "Fix ert-tests when running compiled" 2016-12-06 accidentally
26014         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
26015         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
26016         on bytecomp was masked by loading other libraries until recently.
26018         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
26019         `byte-compile-macro-environment' if it's bound.
26020         * test/src/eval-tests.el: Add defvar for dynamic variable
26021         `byte-compile-debug'.
26023 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
26025         Eliminate unneeded warp-to-article in gnus article referral
26027         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
26028         (gnus-summary-refer-article): Remove gnus-warp-to article call.
26030 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
26032         Allow limiting gnus summary buffers to a thread
26034         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
26035         an optional argument to allow limiting the summary buffer to just the
26036         thread-related articles.
26037         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
26038         to control whether thread-referral adds the thread to the summary
26039         buffer or limits to just the thread.
26040         (gnus-summary-refer-thread): Use the new variable.
26042 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
26044         Correct gnus-newsgroup-limits in gnus when including thread
26046         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
26047         only add one list of thread-related articles to gnus-newsgroup-limits
26048         rather than two.
26050 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
26052         Improve gnus thread matching of similar subjects
26054         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
26055         Use the more liberal gnus-general-simplify-subject regexp to
26056         find thread articles with similar subjects.
26058 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
26060         Add new `lisp-indent-region' that doesn't reparse the code.
26062         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
26063         to get initial state, so they will no longer indent string literal
26064         contents.
26066         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
26067         `syntax-ppss', but with a more dependable item 2.
26068         (lisp-indent-region): New function, like `indent-region-line-by-line'
26069         but additionally keep a running parse state to avoid reparsing the
26070         code repeatedly.  Use `lisp-ppss' to get initial state.
26071         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
26072         `calculate-lisp-indent', use `lisp-ppss' if not given.
26073         (lisp-mode-variables): Set `indent-region-function' to
26074         `lisp-indent-region'.
26076 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
26078         Remove ignored argument from lisp-indent-line
26080         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
26081         argument, the behavior has long since been handled in
26082         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
26083         variables and use `indent-line-to'.
26085 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
26087         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
26089 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
26091         Don't reparse the sexp in indent-sexp (Bug#25122)
26093         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
26094         PARSE-START be a parse state that can be reused.
26095         (indent-sexp): Pass the running parse state to calculate-lisp-indent
26096         instead of the sexp beginning position.  Saving the
26097         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
26098         needed.  Don't bother stopping if we don't descend below init-depth,
26099         since we now alway scan the whole buffer (via syntax-ppss) anyway.
26100         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
26101         line to test case.
26103 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
26105         Add cond test cases for singleton clauses.
26107         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
26108           the default clause is a single non-nil expression.
26110 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
26112         b-c--cond-jump-table-info: Use correct body for singleton clauses
26114         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
26115         When a clause's body consists of a single constant expression, use
26116         that expression as the body to be compiled. This fixes switch bytecode
26117         evaluating to nil to such clauses.
26119 2017-04-22  Philipp Stephani  <phst@google.com>
26121         ffap: Don't switch window unless needed
26123         When using ffap-other-window, don't change the window configuration
26124         unless a new buffer has actually been created (Bug#25352).
26126         * lisp/ffap.el (ffap-other-frame): Don't change the window
26127         configuration if no new buffer has been created.
26128         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
26129         test.
26131 2017-04-22  Alan Mackenzie  <acm@muc.de>
26133         Fix fontification of C++ declaration with type FOO::FOO.
26135         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
26136         cfd-top-level properly.
26137         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
26138         before deciding it is a constructor.
26140         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
26141         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
26142         (simple bug fix).
26144 2017-04-22  Philipp Stephani  <phst@google.com>
26146         Fix usage of FRAME_Z_GROUP
26148         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
26149         Lisp object, cf. Bug#26597.
26151 2017-04-22  Alan Third  <alan@idiocy.org>
26153         Fix GNUstep build
26155         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
26156         compatibility.
26157         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
26159 2017-04-21  Alan Third  <alan@idiocy.org>
26161         Add no-accept-focus and frame-list-z-order to NS port
26163         * lisp/frame.el (frame-list-z-order): Add NS.
26164         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
26165         (Fx_create_frame): Handle no-accept-focus parameter.
26166         (ns_window_is_ancestor):
26167         (Fns_frame_list_z_order): New functions.
26168         * src/nsterm.m (x_set_no_accept_focus): New function.
26169         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
26170         non-fullscreen windows.
26171         (EmacsWindow:canBecomeKeyWindow): New function.
26173 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26175         Improve prefix handling for dash.el
26177         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
26178         Don't drop dash's "-<letter>" prefixes.
26180 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26182         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
26184         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
26185         and use a different fix for bug#26068.
26186         (cl--symbol-macro-key): New function.
26187         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
26188         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
26189         Failure is not expected any more.
26191 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
26193         Avoid infinite loop in redisplay when header-line-format is invalid
26195         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
26196         string has an invalid %-construct in it and is displayed as part
26197         of mode-line or header-line.  (Bug#26586)
26199 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
26201         Add tests to check image scaling functionality
26203         This is in preparation to doing further work in this area to avoid
26204         regressions.
26206         * test/data/image/blank-200x100.png: New file for testing
26207         image scaling.
26209         * test/manual/image-size-tests.el: New file.
26211 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
26213         Allow svg-image to take all create-image PROPS
26215         * lisp/svg.el (svg-image): Allow passing in PROPS when
26216         creating an image for convenience.
26218 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
26220         Treat non-erroring lisp call as successful eshell command (Bug#26161)
26222         This lets a compound command like 'cd .. && echo ok' print 'ok',
26223         similar to how most other shells behave.
26225         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
26226         last exit code was zero, rather than first checking whether the last
26227         command returned nil.
26228         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
26230 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
26232         Fix reading of tab settings in whitespace-mode
26234         lisp/whitespace.el (whitespace-indent-tabs-mode)
26235         whitespace-tab-width): Remove these variables. The underlying
26236         variables `indent-tabs-mode' and `tab-width' are already buffer-local
26237         when needed, and whitespace-mode never changes them.
26238         (whitespace-ensure-local-variables): Remove this function, which only
26239         existed to set the above variables.
26240         (whitespace-cleanup-region, whitespace-regexp)
26241         (whitespace-indentation-regexp, whitespace-report-region)
26242         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
26243         use `indent-tabs-mode' and `tab-width' directly, and not call
26244         `whitespace-ensure-local-variables'.
26246 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
26248         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
26250         by simplifying ascii-test.
26252 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
26254         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
26256         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
26257           FORM if the bytecode uses the byte-switch instruction. It is
26258           impossible to guess the correct stack depth while inlining such
26259           bytecode, resulting in faulty code.
26261 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
26263         Set Emacs version to 25.2 and update AUTHORS file
26265         * README: Set Emacs version to 25.2.
26266         * etc/HISTORY: Add release log.
26267         * lisp/ldefs-boot.el:
26268         * etc/AUTHORS:
26269         * ChangeLog.2: Update.
26271 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
26273         Don't register "def" as an autoload prefix (Bug#26412)
26275         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
26276         accept "def" as a prefix.
26278 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
26280         Use substring completion for Info menus and index
26282         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
26283         (Info-menu): Simplify now that we use the `default' arg of completing-read.
26284         * lisp/minibuffer.el (completion-category-defaults): Use substring
26285         completion for `info-menu`.
26287 2017-04-19  Glenn Morris  <rgm@gnu.org>
26289         Remove some explicit runtime loads of pcase
26291         Pcase is macros, so these should have used eval-when-compile.
26292         Anyway, pcase entry points are autoloaded, so the compiler handles it.
26293         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
26294         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
26295         * lisp/progmodes/xref.el: No need to require pcase.
26297 2017-04-19  Glenn Morris  <rgm@gnu.org>
26299         Stop cl-lib loading pcase at runtime
26301         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
26302         * lisp/emacs-lisp/autoload.el (make-autoload):
26303         Treat pcase-defmacro like defmacro.
26305 2017-04-19  Alan Third  <alan@idiocy.org>
26307         Note frame documentation exceptions for NS builds
26309         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
26310         NS differences.
26312 2017-04-19  Alan Third  <alan@idiocy.org>
26314         Fix bug introduced by my last commit
26316         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
26318 2017-04-19  Alan Third  <alan@idiocy.org>
26320         Add new frame functionality to NS port
26322         * lisp/frame.el (frame-restack): Call ns-frame-restack.
26323         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
26324         MOVE_FRAME_EVENT handling.
26325         * src/frame.h:
26326         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
26327         definitions.
26328         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
26329         x_set_undecorated (Cocoa only) to handler struct.
26330         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
26331         frame parameter.
26332         (Fns_frame_restack): New function.
26333         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
26334         FRAME_TOOLBAR_HEIGHT is no longer a variable.
26335         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
26336         Add #defines to find the screen position of the parent frame.
26337         (NS_TOP_POS): Remove defun.
26338         (EmacsView): Remove redundant toolbar variables and add createToolbar
26339         method.
26340         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
26341         values instead of storing them in a variable.
26342         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
26343         position into account when positioning frames.
26344         (initFrameFromEmacs): Remove toolbar creation code and handle new
26345         frame parameters.
26346         (x_set_window_size): Remove toolbar height calculation.
26347         (x_set_z_group):
26348         (x_set_parent_frame):
26349         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
26350         (x_destroy_window): Detach parent if child closes.
26351         (updateFrameSize): Change NSTRACE message to reflect new reality and
26352         no longer reset frame size.
26353         (windowWillResize): Don’t change NS window name when the titlebar
26354         is invisible.
26355         (createToolbar): Move toolbar creation code into it’s own method.
26356         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
26357         are no longer variables.
26358         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
26360 2017-04-19  Glenn Morris  <rgm@gnu.org>
26362         Tweak bytecomp's loading of cl-extra
26364         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
26365         post-bootstrap emacs where cl-loaddefs does exist.
26367 2017-04-19  Glenn Morris  <rgm@gnu.org>
26369         Avoid unnecessary loading of subr-x at run-time
26371         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
26372         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
26373         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
26374         No need to load subr-x at run-time.
26375         * lisp/gnus/nnheader.el: No need to load subr-x.
26377 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
26379         Use iteration in math-factorial-iter
26381         * lisp/calc/calc-comb.el (math-factorial-iter):
26382         Use iteration instead of recursion to avoid max-specpdl-size problem.
26384 2017-04-18  Glenn Morris  <rgm@gnu.org>
26386         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
26388 2017-04-18  Glenn Morris  <rgm@gnu.org>
26390         Avoid ert test failures
26392         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
26393         Avoid errors related to undefined byte-compile-macro-environment.
26394         Somehow masked until very recently because loading seq (eg)
26395         loads bytecomp.  http://hydra.nixos.org/build/51730765
26397 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
26399         Fix a typo in indexing the user manual
26401         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
26403 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
26405         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
26407         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
26408         Rename from find-library--from-load-path.  Check for `load-history'
26409         entries with nil FILE-NAMEs.  Simplify by not double
26410         checking for suffixes and making use of `locate-file'.
26412 2017-04-18  Alan Third  <alan@idiocy.org>
26413             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
26415         Use vfork if possible on Darwin (bug#26397)
26418         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
26419         (vfork): Don't define.
26420         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
26421         set, otherwise vfork.
26422         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
26423         the controlling terminal instead of setsid.
26425 2017-04-18  Fran Litterio  <flitterio@gmail.com>
26427         Small erc-kill-channel fix (bug#23700)
26429         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
26431 2017-04-18  Glenn Morris  <rgm@gnu.org>
26433         ediff: use user-error rather than debug-ignored-errors
26435         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
26436         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
26437         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
26438         (ediff-check-version):
26439         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
26440         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
26441         (ediff-append-custom-diff, ediff-meta-show-patch)
26442         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
26443         (ediff-get-meta-info, ediff-patch-file-form-meta):
26444         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
26445         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
26446         (ediff--check-ancestor-exists, ediff-toggle-read-only)
26447         (ediff-toggle-wide-display, ediff-toggle-multiframe)
26448         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
26449         (ediff-next-difference, ediff-previous-difference)
26450         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
26451         (ediff-save-buffer):
26452         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
26453         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
26454         (ediff-directories-internal, ediff-directory-revisions-internal)
26455         (ediff-regions-wordwise, ediff-regions-linewise)
26456         (ediff-load-version-control): Use user-error.
26457         (debug-ignored-errors): No longer modify.
26459 2017-04-18  Glenn Morris  <rgm@gnu.org>
26461         mh-e: use user-error rather than debug-ignored-errors
26463         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
26464         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
26465         (debug-ignored-errors): No longer modify.
26467 2017-04-18  Glenn Morris  <rgm@gnu.org>
26469         ispell.el: use user-error rather than debug-ignored-errors
26471         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
26472         (debug-ignored-errors): No longer modify.
26474 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26476         * src/xterm.c (x_fill_rectangle): Now static.
26478 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26480         Tighten recently-added UTF-8 check
26482         * src/coding.c (encode_coding_utf_8): Now extern.
26483         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
26484         Check for UTF-8, not just for multibyte.
26486 2017-04-17  David Engster  <deng@randomsample.de>
26488         xml: Properly handle symbol-qnames for attribute parsing
26490         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
26491           xml-ns argument (reverts aea67018) (Bug#26533).
26492           (xml-maybe-do-ns): Properly handle default namespace by not
26493           interning new symbol when 'special' flag is set.
26495         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
26496           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
26498 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26500         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
26502 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
26504         Fix assertion violations when displaying thread-related error
26506         * src/process.c (Faccept_process_output): Don't assume a thread's
26507         name is always a string.
26509 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
26511         dired ‘M’ should not complain about ‘.’ and ‘..’
26513         * lisp/dired-aux.el (dired-do-redisplay):
26514         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
26516 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
26518         Remove unused coding enums
26520         * src/coding.h (enum coding_system_type, enum end_of_line_type):
26521         Remove; unused.
26523 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
26525         Work around bug with unibyte Linux consoles
26527         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
26528         the terminal's coding system is unibyte (Bug#26396).
26530 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
26532         Fix org-agenda's command for calendar-lunar-phases
26534         Function org-agenda-phases-of-moon tries to call a non-existing
26535         function calendar-phases-of-moon. The correct function is
26536         calendar-lunar-phases.
26538 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
26540         Tuning for `separate' Tramp syntax
26542         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
26543         (tramp-completion-file-name-regexp-separate): Simplify.
26545         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
26546         Extend test.
26548 2017-04-16  Alan Mackenzie  <acm@muc.de>
26550         Fix bug #26529: C-h k errors with a lambda function bound to a key.
26552         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
26553         `function' is a symbol before trying to get property `reader-construct' from
26554         it.
26556 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
26558         Fix highlighting of short selectors in CSS mode
26560         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
26561         selectors where the part before a colon is only one character long,
26562         such as `a:hover'.
26564 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
26566         Fix redisplay performance problems with some fonts
26568         * src/font.c (font_list_entities): Revert part of the changes
26569         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
26570         zero_vector in the font-cache is an important indication that
26571         cannot be removed.  (Bug#21028)
26573 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
26575         Add assertion to STRING_SET_CHARS
26577         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
26578         to prevent incorrect usage.  For details, see this discussion:
26579         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
26581 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
26583         Avoid compilation warnings on MS-Windows
26585         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
26586         parentheses around assignment.
26587         * src/w32fns.c (w32_createwindow): Remove unused variable
26588         dwStyle.  Use "|=" where appropriate.
26590 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26592         Merge from gnulib
26594         This incorporates:
26595         2017-04-14 intprops: try to avoid tickling similar bugs
26596         2017-04-14 intprops: port to Oracle Studio 12.3 x86
26597         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
26599 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
26601         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
26603         * lisp/window.el (with-displayed-buffer-window): When a
26604         'window-height' action alist entry specifies a function, call
26605         `temp-buffer-window-show' with a '(window-height . t)' dummy
26606         entry so `window--try-to-split-window' will bind
26607         `window-combination-limit' to t and that function does not
26608         resize any other window but the one we split this one off
26609         (Bug#25055, Bug#25179).
26610         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
26611         we steal space only from windows in the same combination.
26612         Stealing space from other windows would not allow us to return
26613         that space later when this window is deleted (Bug#25055,
26614         Bug#25179).
26616 2017-04-15  Glenn Morris  <rgm@gnu.org>
26618         Avoid userlock queries hanging forever in batch mode
26620         * lisp/userlock.el (ask-user-about-lock)
26621         (ask-user-about-supersession-threat): Abort in batch mode.
26623 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
26625         Fix segfault when calling frame_ancestor_p (Bug#26493)
26627         * src/xterm.c (handle_one_xevent): Check that hf was not reset
26628         before calling frame_ancestor_p (Bug#26493).
26630 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
26632         A few additional copy-edits in documentation of frames
26634         * doc/lispref/frames.texi (Frame Layout)
26635         (Implied Frame Resizing): Windows -> MS-Windows.
26636         (Deleting Frames): Fix typo.
26638 2017-04-14  Glenn Morris  <rgm@gnu.org>
26640         Use user-error for some ert.el errors
26642         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
26643         (ert-results-find-test-at-point-other-window, ert-describe-test):
26644         Use user-error.
26646 2017-04-14  Glenn Morris  <rgm@gnu.org>
26648         Use user-error for customize's "invalid face" error
26650         * lisp/cus-edit.el (customize-face): Use user-error.
26651         (debug-ignored-errors): No more need to add "Invalid face".
26653 2017-04-14  Glenn Morris  <rgm@gnu.org>
26655         Remove duplicate lisp-eval-defun definition
26657         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
26658         Autoload rather than defining a stub.
26660 2017-04-14  Glenn Morris  <rgm@gnu.org>
26662         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
26664 2017-04-14  Glenn Morris  <rgm@gnu.org>
26666         Create generated lisp files before main loaddefs.el
26668         This should improve reproducibility of lisp/loaddefs.el.
26669         * lisp/Makefile.in (gen-lisp): New phony target.
26670         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
26671         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
26672         * lisp/cedet/semantic.el (semantic-mode):
26673         * lisp/cedet/semantic/fw.el (top-level):
26674         * lisp/emacs-lisp/eieio-core.el (top-level):
26675         Robustify to generated input files maybe not yet existing.
26677 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26679         Fix minor quoting issues in Makefile.in
26681         * Makefile.in (install-arch-dep, uninstall):
26682         Quote EMACS and EMACS_NAME more consistently.
26684 2017-04-13  Glenn Morris  <rgm@gnu.org>
26686         * Makefile.in (install-etc): Use existing Makefile variables.
26688 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
26690         Minor copyedits of recent changes in documentation
26692         * doc/lispref/frames.texi (Frame Layout, Frame Position)
26693         (Frame Size, Frame Interaction Parameters, Input Focus)
26694         (Raising and Lowering, Child Frames): Improve wording and indexing.
26695         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
26697 2017-04-13  Glenn Morris  <rgm@gnu.org>
26699         Small src/Makefile simplification
26701         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
26702         ($(lispsource)/term/ns-win.elc): Combine rules.
26704 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
26706         Add grid layout module to CSS property list
26708         * lisp/textmodes/css-mode.el (css-property-alist)
26709         (css-value-class-alist): Add new properties and value classes from CSS
26710         Grid Layout Module.
26712 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
26714         Describe recent frame and window changes in manuals
26716         * doc/emacs/emacs.texi (Top):
26717         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
26718         "outer border" (for the X border which can be set from within
26719         Emacs) and "external border" (for the border which is added by
26720         the window manager).
26721         * doc/lispref/display.texi (Tooltips): Clarify slightly.
26722         * doc/lispref/elisp.texi (Top): Update node and section names.
26723         * doc/lispref/frames.texi (Frames): Describe difference between
26724         top-level and child frames.
26725         (Frame Layout): Describe outer border.  Add more details about
26726         how Emacs obtains the outer size and position of a frame and
26727         about menu bar/tool bar wrapping.  Add references to new frame
26728         parameters.
26729         (Size and Position): Remove subsection.
26730         (Frame Position): New subsection excerpted from the earlier Size
26731         and Position subsection.  Clarify positioning concepts and
26732         some of their shortcomings.  Describe `move-frame-functions'.
26733         (Frame Size): New subsection excerpted from the earlier Size
26734         and Position subsection.  Describe how to track frame size
26735         changes and the new function `frame-size-changed-p'.
26736         (Position Parameters): Describe child frame positioning.  Warn
26737         about negative offsets.  Describe 'z-group' parameter.
26738         (Size Parameters): Describe 'text-pixels' specification
26739         facility and new 'min-width' and 'min-height' parameters.
26740         (Layout Parameters): Clarify description of 'tool-bar-lines' and
26741         'menu-bar-lines' parameters.
26742         (Frame Interaction Parameters): New subsubsection describing
26743         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
26744         'no-other-frame' parameters.
26745         (Management Parameters): Describe 'skip-taskbar',
26746         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
26747         'override-redirect' parameters.
26748         (Deleting Frames): Describe handling of 'delete-before'
26749         parameter and child frames for `delete-frame' and
26750         `delete-other-frames'.
26751         (Finding All Frames): Describe `frame-list-z-order' and handling
26752         of 'no-other-frame' parameter by `next-frame'.
26753         (Minibuffers and Frames): Minor clarifications.
26754         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
26755         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
26756         (Visibility of Frames): Describe mapping and how the visibility
26757         of a parent frame affects that of its child frames.
26758         (Raising and Lowering): Describe restacking of frames and
26759         z-groups.
26760         (Child Frames): New section.
26761         * doc/lispref/windows.texi (Selecting Windows): Describe
26762         additional semantics of NORECORD argument of `select-window' and
26763         how `buffer-list-update-hook' can emulate a "select window
26764         hook".
26765         (Mouse Window Auto-selection): New section.
26767 2017-04-13  Damien Cassou  <damien@cassou.me>
26769         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
26771         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
26772           pairs.
26773         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
26775 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
26777         Avoid unnecessary regeneration of the entire loaddefs.el
26779         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
26780         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
26781         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
26782         loaddefs.tmp before running 'batch-update-autoloads' on it, to
26783         avoid slow regeneration of the full contents.  (Bug#26459)
26784         Use 'move-if-change' instead of 'mv', to avoid producing a new
26785         Emacs binary when not necessary.
26787 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
26789         Handle indentation of nested ternary operators in JS
26791         * lisp/progmodes/js.el (js--looking-at-operator-p):
26792         Handle nested ternary operators.
26794 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
26796         Don't call 'kill-this-buffer' outside of menus
26798         * lisp/simple.el (kill-current-buffer): New function.
26799         (completion-list-mode-map): Use it instead of kill-this-buffer.
26800         * lisp/type-break.el (type-break-mode):
26801         * lisp/term/ns-win.el (global-map):
26802         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
26803         (gdb-disassembly-mode-map, gdb-frames-mode-map)
26804         (gdb-locals-mode-map, gdb-registers-mode-map):
26805         * lisp/org/org-mhe.el (org-mhe-follow-link):
26806         * lisp/net/secrets.el (secrets-mode-map):
26807         * lisp/net/eudc.el (eudc-mode-map):
26808         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
26809         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
26811 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
26813         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
26815 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
26817         New internal-border face and args for select-window and x-focus-frame
26819         Add `internal-border' face and handle it whenever clearing the
26820         internal border.  If NORECORD equals the symbol
26821         'mark-for-redisplay', `select-window' will not record the window
26822         but still mark it for redisplay.  The new argument NOACTIVATE
26823         for `x-focus-frame' tries to not activate FRAME when set.
26825         * lisp/faces.el (internal-border): New face.
26826         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
26827         `mark-for-redisplay'.
26828         * lisp/scroll-bar.el (scroll-bar-drag)
26829         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
26830         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
26831         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
26832         with `mark-for-redisplay'.
26833         * lisp/window.el (handle-select-window): When
26834         `focus-follows-mouse' is not 'auto-raise' try to not activate
26835         FRAME.
26836         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
26837         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
26838         * src/frame.h (x_focus_frame): Update extern declaration.
26839         * src/gtkutil.c (xg_clear_under_internal_border): Remove
26840         function.
26841         (xg_frame_resized, xg_frame_set_char_size): Call
26842         x_clear_under_internal_border.
26843         (xg_tool_bar_callback): Adapt x_focus_frame call.
26844         * src/gtkutil.h (xg_clear_under_internal_border): Remove
26845         declaration.
26846         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
26847         * src/w32fns.c (x_clear_under_internal_border): Fill border
26848         with internal-border background if specified.
26849         * src/w32term.h (x_clear_under_internal_border): Add extern
26850         declaration.
26851         * src/w32term.c (x_after_update_window_line): Fill border
26852         with internal-border background if specified.
26853         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
26854         (x_scroll_bar_clear, w32_read_socket): Call
26855         x_clear_under_internal_border.
26856         (x_focus_frame): New argument NOACTIVATE.
26857         * src/window.c (select_window): Mark WINDOW for redisplay when
26858         NORECORD equals 'mark-for-redisplay'.
26859         (Fselect_window): Update doc-string.
26860         (syms_of_window): Define Qmark_for_redisplay.
26861         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
26862         (redisplay_internal): Call x_clear_under_internal_border.
26863         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
26864         and `internal-border' faces.
26865         (realize_basic_faces): Realize `internal-border' face.
26866         (syms_of_xfaces): Define Qinternal_border.
26867         * src/xfns.c (x_set_internal_border_width): Remove call for
26868         xg_clear_under_internal_border.
26869         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
26870         activate frame.
26871         * src/xterm.c (x_fill_rectangle): No more static.
26872         (x_clear_under_internal_border, x_after_update_window_line):
26873         Fill border with internal-border background if specified.
26874         (xt_horizontal_action_hook): Rewrite.
26875         (handle_one_xevent): Call x_clear_under_internal_border.
26876         * src/xterm.h (x_fill_rectangle): Add extern declaration.
26878 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
26880         Port recent frame changes to --enable-gcc-warnings
26882         * src/frame.c (next_frame, prev_frame):
26883         Remove now-redundant assertions.
26884         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
26886 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
26888         Scroll right and left using wheel-right and wheel-left.
26890         These changes also make use of touchpad and trackpad (Bug#26347).
26892         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
26893         scrolling using the mouse wheel.
26895         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
26896         (mwheel-tilt-scroll-p, mwheel-flip-direction)
26897         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
26898         defcustoms.
26899         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
26900         events that calls wheel-left/right.
26902         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
26904 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
26906         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
26908 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
26910         Add new frame parameters and associated functions
26912         Add new frame parameters `undecorated', `override-redirect',
26913         `parent-frame', `skip-taskbar', `no-focus-on-map',
26914         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
26915         `mouse-wheel-frame', `min-width', `min-height'.  Add new
26916         functions `frame-restack' and `frame-list-z-order'.
26918         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
26919         type.
26920         * lisp/frame.el (handle-delete-frame): Handle child and
26921         `delete-before' frames.
26922         (other-frame): Stop looking for other frame after one round.
26923         (frame-list-z-order, frame-restack): New functions.
26924         (delete-other-frames): Handle child frames.
26925         * lisp/frameset.el (frameset-persistent-filter-alist)
26926         (frameset--record-relationships): Handle `delete-before',
26927         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
26928         latter from `frameset--record-minibuffer-relationships'.
26929         (frameset--restore-frame): Handle ‘parent-frame’ parameter
26930         specially.
26931         (frameset-restore): Handle `delete-before', `parent-frame' and
26932         `mouse-wheel-frame' parameters.
26933         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
26934         parameter.
26935         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
26936         (mouse-autoselect-window-select, handle-select-window): Major
26937         rewrite.  Try to not ignore errors.  Handle auto-selection of
26938         child frames and different values of `focus-follows-mouse'.
26939         * src/frame.c (frame_windows_min_size): Handle new `min-width'
26940         and `min-height' frame parameters.
26941         (make_frame): Initialize new frame structure members.
26942         (do_switch_frame): Don't reset internal_last_event_frame for
26943         descendant frames.
26944         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
26945         functions.
26946         (candidate_frame): Don't return `no-other-frame' frame.
26947         (other_frames): New function replacing other_visible_frames.
26948         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
26949         (Fmake_frame_invisible): Call other_frames.
26950         (store_frame_param): Check `delete-before' and `parent-frame'
26951         parameters for circular dependencies.
26952         (frame_parms, syms_of_frame): Add entries for and define new
26953         frame parameters.
26954         (focus_follows_mouse): New meaningful value `auto-raise'.
26955         * src/frame.h (z_group): New enumeration type.
26956         (frame): New slots parent_frame, undecorated, override_redirect,
26957         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
26958         (fset_parent_frame): New inlined function.
26959         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
26960         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
26961         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
26962         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
26963         (FRAME_Z_GROUP_BELOW): New macros.
26964         (frame_ancestor_p): Add declaration.
26965         * src/gtkutil.c (xg_create_frame_widgets): Handle
26966         `undecorated' and `override-redirect' frame parameters.
26967         (x_wm_set_size_hint): None for child frames.
26968         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
26969         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
26970         (xg_set_override_redirect): New functions.
26971         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
26972         Don't let scrollbars obscure child frames.
26973         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
26974         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
26975         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
26976         declarations.
26977         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
26978         frame parameters.
26979         (Fx_create_frame): Install `min-width' and `min-height' frame
26980         parameters.
26981         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
26982         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
26983         (x_real_positions): Handle child frames.
26984         (x_set_menu_bar_lines): Don't for child frames.
26985         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
26986         (x_set_no_focus_on_map, x_set_no_accept_focus)
26987         (x_set_z_group): New functions.
26988         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
26989         scroll bars over child frames.
26990         (w32_createwindow): Handle new frame parameters and child frames.
26991         (w32_wnd_proc): Let mouse clicks into a child frame activate
26992         the frame.  Try to handle the `no-accept-focus' parameter.  Do
26993         SetFocus when our window is brought to top or becomes the
26994         foreground window.
26995         (w32_window): Don't initialize menu bar for child frames.
26996         (Fx_create_frame): Handle new frame parameters.
26997         (x_create_tip_frame): Set explicit_parent slot.
26998         (w32_dialog_in_progress): New function.
26999         (Fx_file_dialog): Handle `z-group-above' frames.
27000         (w32_frame_list_z_order, Fw32_frame_list_z_order)
27001         (w32_frame_restack, Fw32_frame_restack): New functions.
27002         (w32_frame_parm_handlers): Add entries for new frame
27003         parameters.
27004         * src/w32font.c (Fx_select_font): Handle `z-group-above'
27005         frames during font selection dialogue.
27006         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
27007         event from F's w32 window.
27008         (w32_mouse_position): Handle child frames.
27009         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
27010         Don't draw scroll bars over child frames.
27011         (w32_read_socket): Always erase background of child frames.
27012         When generating SELECT_WINDOW_EVENTs handle new value of
27013         `focus-follows-mouse' and handle `no-accept-focus' parameter.
27014         Handle `mouse-wheel-frame' parameter.
27015         (x_calc_absolute_position, x_set_offset, x_set_window_size):
27016         Handle child frames.
27017         (x_make_frame_visible): Handle child frames specially.  Handle
27018         `no-focus-on-map' parameter.
27019         * src/w32term.h (w32_dialog_in_progress): Add external
27020         declaration.
27021         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
27022         for child frames.
27023         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
27024         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
27025         non-Motif, non-GTK case.
27026         (x_real_pos_and_offsets): Handle child frames.
27027         (x_set_undecorated, x_set_parent_frame)
27028         (x_set_no_focus_on_map, x_set_no_accept_focus)
27029         (x_set_override_redirect): New functions.
27030         (x_set_menu_bar_lines): Not for child frames.
27031         (x_window): Handle `undecorated' and `override_redirect' cases.
27032         (Fx_create_frame): Handle new frame parameters.
27033         (frame_geometry): Handle child frames and outer border.
27034         (x_frame_list_z_order, Fx_frame_list_z_order)
27035         (x_frame_restack, Fx_frame_restack): New functions.
27036         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
27037         (x_frame_parm_handlers): Add entries for new frame parameters.
27038         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
27039         frames.
27040         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
27041         for child frames.
27042         (XTmouse_position): Handle child frames.
27043         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
27044         bars obscure child frames.
27045         (handle_one_xevent): Handle child frame positions.  If necessary
27046         set `skip-taskbar' and reassign proper `z-group' when we are
27047         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
27048         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
27049         Let mouse clicks into a child frame activate the frame.
27050         (x_calc_absolute_position, x_set_offset): Handle child frames
27051         specially.
27052         (x_set_skip_taskbar, x_set_z_group): New functions.
27053         (x_make_frame_visible): Handle child frames.
27054         (ATOM_REFS_INIT): Add entries for
27055         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
27056         Xatom_net_wm_state_below.
27057         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
27058         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
27059         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
27061 2017-04-11  Glenn Morris  <rgm@gnu.org>
27063         Update a package test for hydra
27065         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
27066         Also bind package-gnupghome-dir, see eg
27067         http://hydra.nixos.org/build/51462182 .
27069 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
27071         Frame movement, focus and hook related changes
27073         New hook `move-frame-functions'.  Run `focus-in-hook'
27074         after switching to frame that gets focus.  Don't run
27075         XMoveWindow for GTK.
27077         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
27078         functions.
27080         * src/frame.c (do_switch_frame): Simplify code.
27081         (Fhandle_switch_frame): Switch frame before running
27082         `handle-focus-in'.
27083         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
27084         (Vmove_frame_functions): New hook variable.
27085         * src/keyboard.c (kbd_buffer_get_event): Handle
27086         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
27087         (head_table): Add Qmove_frame entry.
27088         (syms_of_keyboard): Add Qmove_frame.
27089         (keys_of_keyboard): Define key for `move-frame'.
27090         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
27091         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
27092         * src/window.c (run_window_size_change_functions): Record size of
27093         FRAME's minibuffer window too.
27094         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
27095         (x_set_offset): For GTK call gtk_widget_move instead of
27096         XMoveWindow.
27098 2017-04-11  Werner LEMBERG  <wl@gnu.org>
27100         Avoid abort in ftfont.c due to faulty fonts
27102         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
27103         hinting, before aborting.  (Bug#25945)
27105 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
27107         Document 'line-pixel-height'
27109         * doc/lispref/display.texi (Size of Displayed Text): Document
27110         line-pixel-height.  Suggested by Tak Kunihiro
27111         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
27113 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
27115         Introduce customizable variable 'package-gnupghome-dir'
27117         * lisp/emacs-lisp/package.el (package-import-keyring)
27118         (package--check-signature-content, package-check-signature):
27119         Use new variable package-gnupghome-dir to control which GnuPG
27120         homedir to use.
27121         * doc/emacs/package.texi: Mention package-gnupghome-dir.
27122         * etc/NEWS: Mention package-gnupghome-dir.
27124 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
27126         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
27128         This activates a change that was installed a few weeks ago but whose
27129         ChangeLog was inadvertently dropped during its commit.  The proper
27130         ChangeLog is included below as part of the present commit.
27132         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
27133         is set avoid calling x_gtk_parse_geometry (Bug#25851).
27134         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
27135         PPosition, USPosition and USSize flags if requested.
27136         * src/xterm.c (x_set_offset): With GTK when
27137         x_gtk_use_window_move is set, leave it entirely to
27138         gtk_window_move to position the window and skip any
27139         post-adjustments (Bug#25851 and Bug#25943).
27140         (x_gtk_use_window_move): New variable.
27142 2017-04-10  Alan Mackenzie  <acm@muc.de>
27144         Fix a loop in C Mode caused by inadequate analysis of comments.
27146         After M-;, and the insertion of the opening "/*", the CC Mode after-change
27147         function got confused, since the new comment opener matched the end of a
27148         subsequent comment, but moving back over that comment did not come back to the
27149         starting point.  Fix this.
27151         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
27152         point is left if no end-of-macro is found before it.
27153         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
27154         non-nil except where we have an unclosed block comment at the end of a macro.
27155         This enables us to populate the cache more fully, at the cost of some run
27156         time.
27158 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
27160         Add PVSIZE function to return the size of a pseudovector.
27162         * src/lisp.h (PVSIZE): New function.
27164         * src/chartab.c (copy_char_table):
27165         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
27166         * src/doc.c (Fdocumentation, store_function_docstring):
27167         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
27168         * src/fns.c (Flength, Fcopy_sequence):
27169         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
27170         * src/lread.c (substitute_object_recurse):
27171         * src/print.c (print_object):
27172           Use it.
27174 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
27176         Add Tramp tests
27178         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
27180         * test/lisp/net/tramp-tests.el
27181         (tramp-test01-file-name-syntax-simplified)
27182         (tramp-test01-file-name-syntax-separate)
27183         (tramp-test02-file-name-dissect-simplified)
27184         (tramp-test02-file-name-dissect-separate): New tests.
27186 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
27188         Make sure that `shell' makes BUFFER current
27190         * lisp/shell.el (shell): Restrict scope of recently added
27191         `with-current-buffer' to make sure that BUFFER is current when
27192         `shell' returns.
27194 2017-04-10  Jim Blandy  <jimb@red-bean.com>
27196         Default to PCRE syntax when reading .hgignore
27198         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
27199         Default to the PCRE syntax (bug#26249).
27201 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
27203         Document Tramp changes
27205         * doc/misc/tramp.texi (Change file name syntax): New node.
27207         * etc/NEWS: Mention `tramp-change-syntax'.
27209         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
27210         External packages uses it.
27211         (tramp-syntax): Set also `tramp-file-name-regexp'.
27213 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
27215         Merge from gnulib (Bug#26398)
27217         This incorporates:
27218         2017-04-08 getopt: prefer - to _ in new file names
27219         2017-04-08 getopt: port recent getopt changes to macOS
27220         * .gitignore: Add lib/getopt-cdefs.h.
27221         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
27222         * lib/getopt-core.h: Rename from lib/getopt_core.h.
27223         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
27224         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
27225         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
27226         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
27227         Copy from Gnulib.
27228         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
27230 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
27232         Write updated loaddefs to a temporary file and rename into place.
27234         In a parallel build, byte compilation can be running at the same times
27235         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
27236         loaddefs.el is read at startup and must always be in a usable state.
27238         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
27239         loaddefs.el.new and then rename it to loaddefs.el.
27241 2017-04-09  Glenn Morris  <rgm@gnu.org>
27243         In the manual, mention pops and imaps
27245         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
27246         Mention pops and imaps protocols.
27248 2017-04-09  Glenn Morris  <rgm@gnu.org>
27250         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
27252 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
27254         Fix rmail handling of movemail protocols (bug#18278)
27256         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
27257         (rmail-parse-url): Return protocol in second list element.
27258         Only use passwords with remote mailboxes.
27259         (rmail-insert-inbox-text): Handle non-simple local
27260         mailboxes (maildir, MH, etc.).
27262 2017-04-09  Glenn Morris  <rgm@gnu.org>
27264         Fix typos in manual re movemail local mailboxes
27266         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
27267         Fix examples of local mailbox urls.
27269 2017-04-08  Glenn Morris  <rgm@gnu.org>
27271         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
27273 2017-04-08  Glenn Morris  <rgm@gnu.org>
27275         Remove references to OS/2 in code, doc, and comments
27277         * lisp/gnus/nnheader.el (nnheader-read-timeout)
27278         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
27279         * lisp/emulation/viper-util.el (viper-color-defined-p):
27280         * lisp/net/pop3.el (pop3-read-timeout):
27281         * lisp/net/imap.el (imap-read-timeout):
27282         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
27283         * lisp/emulation/viper-ex.el (viper-glob-function):
27284         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
27285         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
27286         * doc/emacs/msdos-xtra.texi (MS-DOS):
27287         * doc/misc/gnus.texi (Various Various):
27288         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
27290 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
27292         Tune Tramp syntax
27294         * lisp/net/tramp-cmds.el (tramp-change-syntax):
27295         Use `tramp-syntax-values'.
27297         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
27299         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
27300         (tramp-syntax-values): New defun.
27301         (tramp-prefix-format, tramp-method-regexp)
27302         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
27303         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
27304         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
27305         and changed values.
27306         (tramp-completion-file-name-regexp-default): Rename from
27307         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
27308         (tramp-completion-file-name-regexp-simplified): Rename from
27309         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
27310         (tramp-initial-completion-file-name-regexp):
27311         Use `tramp-completion-file-name-regexp-default'.
27312         (tramp-run-real-handler): Do not autoload any longer.
27314 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
27316         Replace more nested ifs with cond
27318         This is a continuation of d526047 "Replace more nested ifs with cond".
27319         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
27320         when and cond where appropriate.
27322 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
27324         Adjust the edebug spec of if-let*
27326         This was fixed in Bug#24748, but now looking more closely, using gate in
27327         the spec seems correct.  See (info "(elisp) Backtracking").
27328         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
27330 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
27332         Replace some uses of cl-member-if with apply
27334         From the mhtml-mode series.  Some of the uses of cl-lib are not
27335         necessary.
27336         * lisp/align.el: Don't require cl-lib.
27337         (align-region): Use apply instead of cl-member-if.
27338         * lisp/emulation/viper.el: Don't require cl-lib.
27339         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
27340         cl-member-if.
27342 2017-04-08  Philipp Stephani  <phst@google.com>
27344         Validate SPEC of `dolist', cf. Bug#25477.
27346         * lisp/subr.el (dolist): Test type and length of SPEC.
27347         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
27348         Add unit test.
27350 2017-04-08  Philipp Stephani  <phst@google.com>
27352         Add unit test for Bug#26378
27354         * test/lisp/vc/ediff-diff-tests.el
27355         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
27357 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
27359         Fix circular read syntax for records.
27361         * src/lread.c (substitute_object_recurse): Work with records.
27363         * test/src/lread-tests.el (lread-record-1): New test.
27365 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
27367         Deprecate copy-record in favor of copy-sequence
27369         Since copy-sequence seems to be needed anyway for records, have it
27370         work on records, and remove copy-record as being superfluous.
27371         * doc/lispref/records.texi (Records, Record Functions):
27372         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
27373         * lisp/emacs-lisp/eieio.el (make-instance, clone):
27374         * test/src/alloc-tests.el (record-3):
27375         Use copy-sequence, not copy-record, to copy records.
27376         * doc/lispref/sequences.texi (Sequence Functions)
27377         (Array Functions): Document that aref and copy-sequence
27378         work on records.
27379         * etc/NEWS: Omit copy-record.
27380         * src/alloc.c (Fcopy_record): Remove.
27381         * src/data.c (Faref): Document that arg can be a record.
27382         * src/fns.c (Fcopy_sequence): Copy records, too.
27384 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
27386         Fix dependency checking in src/Makefile.in
27388         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
27389         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
27390         Otherwise, some dependencies will be missed.
27392 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
27394         Minor tuneup of write-region change
27396         * src/fileio.c (write_region): Use SCHARS, not Flength,
27397         on a value known to be a string.
27399 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
27401         Adjust write-region so file name is at the beginning again
27403         * lisp/epa-file.el (epa-file-write-region):
27404         * lisp/gnus/mm-util.el (mm-append-to-file):
27405         * lisp/jka-compr.el (jka-compr-write-region):
27406         * lisp/net/ange-ftp.el (ange-ftp-write-region):
27407         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
27408         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
27409         * src/fileio.c (write_region): Put file name at the beginning and move
27410         number of characters to the end of the message.
27412 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
27414         Check that file argument is a string
27416         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
27417           passed to `file-local-copy' is a string (Bug#26378).  Also fix
27418           the existing comment for this function, and convert it to its
27419           doc-string.
27421 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
27423         Fix handling of non-integer START param to write-region
27425         The previous patch for Bug#354 incorrectly assumed that START would
27426         always be an integer.
27428         * lisp/epa-file.el (epa-file-write-region):
27429         * lisp/jka-compr.el (jka-compr-write-region):
27430         * lisp/net/ange-ftp.el (ange-ftp-write-region):
27431         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
27432         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
27433         * src/fileio.c (write_region): Handle nil and string values of START.
27435 2017-04-07  Glenn Morris  <rgm@gnu.org>
27437         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
27439 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
27441         Add Tramp versions to `customize-package-emacs-version-alist'
27443         * lisp/net/trampver.el (customize-package-emacs-version-alist):
27444         Add Tramp versions to `customize-package-emacs-version-alist'.
27446 2017-04-07  Tom Tromey  <tom@tromey.com>
27448         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
27450 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
27452         * doc/lispref/records.texi (Record Functions): fix typo.
27454 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27456         More casefiddle minor fixes
27458         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
27459         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
27460         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
27462 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
27464         Output number of characters added to file (Bug#354)
27466         * src/fileio.c (write_region):
27467         * lisp/epa-file.el (epa-file-write-region):
27468         * lisp/jka-compr.el (jka-compr-write-region):
27469         * lisp/net/ange-ftp.el (ange-ftp-write-region):
27470         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
27471         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
27472         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
27473         characters written in addition to file name.
27474         * doc/lispref/files.texi: Added documentation to write-region and
27475         append-to-file describing their output.
27477 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
27479         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
27481         The recent changes to src/casefiddle.c cause build failure as seen
27482         below:
27484             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
27485                 --batch --load loadup bootstrap
27486             [Thread debugging using libthread_db enabled]
27487             Using host libthread_db library "/usr/lib/libthread_db.so.1".
27488             Loading loadup.el (source)...
27489             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
27490                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
27491                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
27492                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
27493                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
27494                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
27495             Loading emacs-lisp/byte-run (source)...
27496             Loading emacs-lisp/backquote (source)...
27497             Loading subr (source)...
27498             Loading version (source)...
27499             Loading widget (source)...
27500             Loading custom (source)...
27501             Loading emacs-lisp/map-ynp (source)...
27502             Loading international/mule (source)...
27503             Loading international/mule-conf (source)...
27505             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
27507             Breakpoint 1, terminate_due_to_signal at emacs.c:363
27508             363   signal (sig, SIG_DFL);
27509             (gdb) bt
27510             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
27511             #1  0x000000000060ec33 in die at alloc.c:7352
27512             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
27513             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
27514             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
27515             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
27516             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
27517             #7  0x00000000006325ac in eval_sub at eval.c:2219
27518             #8  0x0000000000632368 in eval_sub at eval.c:2184
27519             #9  0x000000000063446c in apply_lambda at eval.c:2875
27520             #10 0x00000000006329af in eval_sub at eval.c:2294
27521             #11 0x000000000062d462 in Fprogn at eval.c:449
27522             #12 0x000000000062d4cf in prog_ignore at eval.c:461
27523             #13 0x000000000062f19c in Fwhile at eval.c:982
27524             #14 0x00000000006321f4 in eval_sub at eval.c:2172
27525             #15 0x000000000062d462 in Fprogn at eval.c:449
27526             #16 0x000000000062f0c4 in Flet at eval.c:963
27527             #17 0x00000000006321f4 in eval_sub at eval.c:2172
27528             #18 0x0000000000632963 in eval_sub at eval.c:2290
27529             #19 0x000000000062d462 in Fprogn at eval.c:449
27530             #20 0x000000000062f0c4 in Flet at eval.c:963
27531             #21 0x00000000006321f4 in eval_sub at eval.c:2172
27532             #22 0x0000000000668caa in readevalloop at lread.c:1927
27533             #23 0x0000000000667253 in Fload at lread.c:1332
27534             #24 0x0000000000632683 in eval_sub at eval.c:2233
27535             #25 0x0000000000668caa in readevalloop at lread.c:1927
27536             #26 0x0000000000667253 in Fload at lread.c:1332
27537             #27 0x0000000000632683 in eval_sub at eval.c:2233
27538             #28 0x0000000000631be5 in Feval at eval.c:2041
27539             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
27540             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
27541             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
27542             #32 0x000000000062f51e in internal_catch at eval.c:1091
27543             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
27544             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
27545             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
27546             #36 0x000000000057b55b in main at emacs.c:1687
27548             Lisp Backtrace:
27549             "capitalize" (0xffffcf70)
27550             "format" (0xffffd130)
27551             "define-charset" (0xffffd370)
27552             "while" (0xffffd560)
27553             "let" (0xffffd7c0)
27554             "dolist" (0xffffd910)
27555             "let" (0xffffdb70)
27556             "load" (0xffffdfe0)
27557             "load" (0xffffe4a0)
27559         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
27560         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
27561         Qspecial_titlecase.
27562         (prepare_casing_context): Use aforementioned symbols.
27564 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27566         Merge from gnulib
27568         This merges some getopt fixes from Zack Weinberg, and affects only
27569         non-GNUish platforms.  It incorporates:
27570         2017-04-06 getopt-gnu: omit some duplicate code
27571         2017-04-06 getopt-posix: use angle-bracket include
27572         2017-04-06 getopt: annotate files with relationship to glibc
27573         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
27574         2017-04-06 getopt: better handling of ambiguous options
27575         2017-04-06 getopt: refactor long-option handling
27576         2017-04-06 getopt: tidy up _getopt_initialize a bit
27577         2017-04-06 getopt: merge from glibc: repetition reduction
27578         2017-04-06 getopt: clean up error reporting
27579         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
27580         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
27581         2017-04-06 getopt: harmonize comments with glibc
27582         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
27583         2017-04-06 getopt: tabify, in preparation for merge with glibc
27584         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
27585         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
27586         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
27587         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
27588         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
27589         Copy from gnulib.
27590         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
27591         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
27592         New files, taken from gnulib.
27593         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
27594         Regenerate.
27596 2017-04-07  Hong Xu  <hong@topbug.net>
27598         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
27599         doc (Bug#25193).
27601 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
27603         Mention that processes start in default-directory (Bug#18515)
27605         * doc/lispref/processes.texi (Synchronous Processes):
27606         (Asynchronous Processes):
27607         * lisp/subr.el (start-process):
27608         * src/callproc.c (call-process): Mention that the subprocess starts in
27609         `default-directory' when local, suggest `start-file-process' and
27610         `process-file' otherwise.
27612 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
27614         * src/xdisp.c (vmessage, message): Clarify commentary.
27616 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27618         Minor casefiddle.c cleanups
27620         * src/casefiddle.c: Redo recent changes to match GNU style,
27621         and prefer C99-style decls within blocks.
27622         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
27623         we are merely using the Unicode name, and make it a constant
27624         rather than a macro.  All uses changed.
27625         (SMALL_SIGMA): Remove; unused.
27626         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
27627         and make it a constant rather than a macro.  All uses changed.
27628         (do_casify_multibyte_string): Use ‘verify’ rather than an
27629         unportable static_assertion local.
27631 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
27633         * lisp/international/README: Update to match current list.
27635 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
27637         Fix 'make clean' in lib subdirectory
27639         * lib/Makefile.in (clean): Remove *-t files.
27640         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
27641         This removes files like lib/getopt.h that should be removed
27642         even if this configuration did not need to build them.
27643         (maintainer-clean): Remove TAGS here, not in distclean,
27644         to be consistent with ../src/Makefile.in.
27646 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
27648         Add new Tramp syntax
27650         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
27652         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
27653         Add :set function.
27654         (tramp-prefix-port-format): Simplify.
27655         (tramp-file-name-regexp-separate): Remove.
27656         (tramp-initial-file-name-regexp)
27657         (tramp-completion-file-name-regexp-old-style)
27658         (tramp-initial-completion-file-name-regexp): New defconst.
27659         (tramp-prefix-format, tramp-prefix-regexp)
27660         (tramp-method-regexp, tramp-postfix-method-format)
27661         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
27662         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
27663         (tramp-postfix-ipv6-regexp)
27664         (tramp-postfix-host-format, tramp-postfix-host-regexp)
27665         (tramp-remote-file-name-spec-regexp)
27666         (tramp-file-name-structure, tramp-file-name-regexp)
27667         (tramp-completion-file-name-regexp)
27668         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
27669         (tramp-tramp-file-p, tramp-find-method)
27670         (tramp-dissect-file-name, tramp-make-tramp-file-name)
27671         (tramp-completion-make-tramp-file-name)
27672         (tramp-rfn-eshadow-update-overlay)
27673         (tramp-register-autoload-file-name-handlers)
27674         (tramp-register-file-name-handlers)
27675         (tramp-unload-file-name-handlers)
27676         (tramp-completion-handle-file-name-all-completions)
27677         (tramp-completion-dissect-file-name, tramp-clear-passwd):
27678         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
27679         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
27680         (tramp-compute-multi-hops): Use them.
27682 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
27684         Implement special sigma casing rule  (bug#24603)
27686         In Greek, a sigma character has two lower case forms which depend on
27687         their position in the word.  Implement logic determining it.
27689         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
27690         assume inword is true when flag is CASE_UP and false when flag is
27691         CASE_DOWN.  For final sigma detection we need this information tracked
27692         reliably;.
27693         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
27694         Unicode code point of different forms of sigma letter.
27695         (case_character): Implement support for final sigma casing.
27696         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
27697         changes to case_character.
27699         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
27700         cases for final sigma.
27702 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
27704         Support casing characters which map into multiple code points  (bug#24603)
27706         Implement unconditional special casing rules defined in Unicode standard.
27708         Among other things, they deal with cases when a single code point is
27709         replaced by multiple ones because single character does not exist (e.g.
27710         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
27711         into SS).
27713         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
27714         standard distribution.
27715         * admin/unidata/README: Mention SpecialCasing.txt.
27717         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
27718         unidata-gen-table-special-casing--do-load): New functions generating
27719         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
27720         character Unicode properties built from the SpecialCasing.txt Unicode
27721         data file.
27723         * src/casefiddle.c (struct casing_str_buf): New structure for
27724         representing short strings used to handle one-to-many character
27725         mappings.
27727         (case_character_imlp): New function which can handle one-to-many
27728         character mappings.
27729         (case_character, case_single_character): Wrappers for the above
27730         functions.  The former may map one character to multiple (or no)
27731         code points while the latter does what the former used to do (i.e.
27732         handles one-to-one mappings only).
27734         (do_casify_natnum, do_casify_unibyte_string,
27735         do_casify_unibyte_region): Use case_single_character.
27736         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
27737         features of case_character.
27738         * (do_casify_region): Updated to reflact do_casify_multibyte_string
27739         changes.
27741         (casify_word): Handle situation when one character-length of a word
27742         can change affecting where end of the word is.
27744         (upcase, capitalize, upcase-initials): Update documentation to mention
27745         limitations when working on characters.
27747         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
27748         Add test cases for the newly introduced character properties.
27749         (casefiddle-tests-casing): Update test cases which are now passing.
27751         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
27752         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
27753         and ‘downcase’.
27754         (char-fold--test-match-exactly): Use the new functions.  This is needed
27755         because otherwise fi and similar characters are turned into their multi-
27756         -character representation.
27758         * doc/lispref/strings.texi: Describe issue with casing characters versus
27759         strings.
27760         * doc/lispref/nonascii.texi: Describe the new character properties.
27762 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
27764         Split up casify_region function  (bug#24603)
27766         No functional changes at this time but splitting casify_region into
27767         a function dealing with multibyte and another dealing with unibyte
27768         buffers will make future code changes slightly easier.
27770         * src/casefiddle.c (casify_region): Move most of the code into two
27771         new functions:
27772         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
27774 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
27776         Add support for title-casing letters  (bug#24603)
27778         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
27779         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
27780         property table if capitalization has been requested.
27781         (case_character): Make use of the titlecase_char_table to title-case
27782         initial characters when capitalising.
27784         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
27785         casefiddle-tests-casing): Update test cases which are now passing.
27787 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
27789         Introduce case_character function
27791         Move single-character casing logic into a separate function so that
27792         it is collected in a single place.  This will make future changes to
27793         the logic easier.  This commit introduces no functionality changes.
27795         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
27796         structure for saving casing context and function to initialize it.
27797         (case_character): New function which cases character base on provided
27798         context.
27799         (do_casify_integer, do_casify_multibyte_string,
27800         do_casify_unibyte_string, casify_object, casify_region): Convert to
27801         use casing_context and case_character.
27803 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
27805         Split casify_object into multiple functions
27807         casify_object had three major cases to cover and those were mostly
27808         independent of each other.  Move those branches to separate function
27809         so it’s easier to comprehend each individual case.
27811         While at it, use somewhat more descriptive ch and cased variable names
27812         rather than c and c1.
27814         This commit introduces no functional changes.
27816         * src/casefiddle.c (casify_object): Split into…
27817         (do_casify_integer, do_casify_multibyte_string,
27818         do_casify_unibyte_string): …new functions.
27820 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
27822         Update documentation for type semantics of records.
27824         * doc/lispref/objects.texi (Record Type): improve description of what
27825         `type-of' returns for records.
27826         (Type Descriptors): new section.
27827         * doc/lispref/elisp.texi: reference it.
27828         * doc/lispref/records.texi (Records): reference it.  Document
27829         behavior when type slot is a record.
27831         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
27833 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
27835         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
27837 2017-04-06  Tom Tromey  <tom@tromey.com>
27839         require cl-lib to fix fallout from mhtml series
27841         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
27842         lisp/emulation/viper.el: Require cl-lib.
27844 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
27846         In CANNOT_DUMP builds, allow editing of files named "dump".
27848         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
27849         calling dump-emacs only if dump-emacs is defined; otherwise, don't
27850         treat those command-line argument specially.
27852 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
27854         In CANNOT_DUMP builds, don't prepare for unexec.
27856         Having a command-line argument of "dump" or "bootstrap" would trigger
27857         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
27858         we should get signal handlers installed regardless of whatever funny
27859         file names we decide to edit.
27861         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
27862         alterations to initialization that prepares the process for unexec.
27864 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
27866         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
27868         During a bootstrap, loading rmail.el invokes movemail to determine its
27869         flavor, but call-process doesn't work if exec-path is nil.
27871         * lisp/loadup.el: Only clear exec-path if dumping.
27873 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
27875         Fix CANNOT_DUMP build on Darwin/macOS.
27877         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
27878         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
27879         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
27881 2017-04-05  Tom Tromey  <tom@tromey.com>
27883         add two more mhtml tests
27885         * test/manual/indent/html-multi-2.html: New file.
27886         * test/manual/indent/html-multi-3.html: New file.
27888 2017-04-05  Tom Tromey  <tom@tromey.com>
27890         enable mhtml-mode by default
27892         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
27893         html-mode.
27894         (magic-fallback-mode-alist): Likewise.
27895         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
27897 2017-04-05  Tom Tromey  <tom@tromey.com>
27899         add mhtml-mode.el
27901         * etc/NEWS: Update.
27902         * lisp/textmodes/mhtml-mode.el: New file.
27903         * test/manual/indent/html-multi.html: New file.
27904         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
27905         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
27907 2017-04-05  Tom Tromey  <tom@tromey.com>
27909         change sgml-mode to help multi-html mode
27911         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
27912         defconst.
27913         (sgml-syntax-propertize): Use it.
27914         (sgml--find-<>-backward): New function.
27915         (sgml-parse-tag-backward): Use it.
27917 2017-04-05  Tom Tromey  <tom@tromey.com>
27919         make js.el respect prog-first-column
27921         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
27923 2017-04-05  Tom Tromey  <tom@tromey.com>
27925         make smie.el respect prog-first-column
27927         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
27929 2017-04-05  Tom Tromey  <tom@tromey.com>
27931         change viper to use derived-mode-p
27933         * lisp/subr.el (provided-mode-derived-p): New function.
27934         (derived-mode-p): Use it.
27935         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
27936         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
27937         (set-viper-state-in-major-mode): Use derived-mode-p.
27939 2017-04-05  Tom Tromey  <tom@tromey.com>
27941         change align to use derived-mode-p
27943         * lisp/align.el (align-region): Use derived-mode-p.
27945 2017-04-05  Tom Tromey  <tom@tromey.com>
27947         change org to use derived-mode-p
27949         * lisp/org/org-list.el (org-list-insert-radio-list): Use
27950         derived-mode-p.
27951         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
27952         derived-mode-p.
27954 2017-04-05  Tom Tromey  <tom@tromey.com>
27956         change semantic to use derived-mode-p
27958         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
27960 2017-04-05  Tom Tromey  <tom@tromey.com>
27962         change calc to use derived-mode-p
27964         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
27965         (calc-embedded-make-info): Use derived-mode-p.
27967 2017-04-05  Tom Tromey  <tom@tromey.com>
27969         change auto-insert to use derived-mode-p
27971         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
27973 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
27975         * lisp/info.el (Info-search): Fix typo in April 1 change.
27977 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
27979         Minor cleanups related to type-of
27981         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
27982         * src/data.c (syms_of_data):
27983         * src/frame.c (syms_of_frame): Put all the primitive type names
27984         together, under the "Types that type-of returns" comment.
27986 2017-04-05  Glenn Morris  <rgm@gnu.org>
27988         * doc/lispref/package.texi (Package Archives): Mention https.
27990 2017-04-05  Glenn Morris  <rgm@gnu.org>
27992         Advertise https for homepage of gnu.org packages
27994         * lisp/emacs-lisp/package.el (describe-package-1):
27995         Use https, if supported, for the homepage of packages on gnu.org.
27997 2017-04-05  Glenn Morris  <rgm@gnu.org>
27999         Default to https for elpa.gnu.org if gnutls available
28001         * lisp/emacs-lisp/package.el (package-archives):
28002         Default to https for elpa.gnu.org if gnutls is available.  Ref:
28003         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
28005 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
28007         Minor simplifications and doc for records
28009         * doc/lispref/records.texi (Records): Mention size limit.
28010         * etc/NEWS: Mention records.
28011         * src/alloc.c (allocate_pseudovector, allocate_record):
28012         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
28013         (allocate_record): Check arg range here, not in callers, as this
28014         simplifies the code.  Use allocate_vectorlike instead of
28015         allocate_vector, to avoid duplicate runtime tests.
28016         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
28017         the doc string, as it is not visible to the user.
28018         (Fmake_record, record, Fcopy_record):
28019         Prefer make_lisp_ptr to XSETVECTOR.
28020         (record): Broaden memcpy to copy the type, too.
28022 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
28024         Fix recent changes in record data type
28026         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
28027         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
28029 2017-04-04  Philipp Stephani  <phst@google.com>
28031         Make subprocess functions resolve the default directory
28033         `call-process' doesn't respect file name handlers in
28034         `default-directory', so `file-name-non-special' has to resolve them
28035         for `process-file', `start-file-process', and
28036         `shell-command' (Bug#25949).
28038         * lisp/files.el (file-name-non-special): Also resolve default
28039         directory for 'process-file', 'start-file-process', and
28040         'shell-command'.
28041         * test/lisp/files-tests.el
28042         (files-tests--file-name-non-special--subprocess): Add unit test.
28044 2017-04-04  Philipp Stephani  <phst@google.com>
28046         Make ediff handle remote and quoted file names
28048         Quoted file names need to be unquoted before passed to
28049         subprocesses (Bug#25950).
28051         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
28052         file names.
28053         * test/lisp/vc/ediff-diff-tests.el
28054         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
28056 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
28058         Backward compatibility with pre-existing struct instances.
28060         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
28061         (cl-old-struct-compat-mode): New minor mode.
28063         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
28064         cl-struct-define to signal use of record objects.
28066         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
28067         cl-struct-define): Enable legacy defstruct compatibility.
28069         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
28070         old-struct): New tests.
28072         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
28073         `old-struct-compat'.
28075 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
28077         Make the URL library use records.
28079         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
28080         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
28081         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
28083         * lisp/url/url-http.el (url-http): Check for type `url' instead of
28084         `vector'.
28086 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
28088         Make EIEIO use records.
28090         * lisp/emacs-lisp/eieio-compat.el
28091         (eieio--generic-static-object-generalizer): Adjust to new tags.
28093         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
28094         directly as tag.
28095         (eieio--object-class): Adjust to new tag representation.
28096         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
28097         (eieio-defclass-internal): Use `make-record'.
28098         (eieio--generic-generalizer): Adjust generalizer code accordingly.
28100         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
28102         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
28103         Add `recordp'.
28105         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
28107 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
28109         Make cl-defstruct use records.
28111         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
28112         (cl--describe-class-slots): Use the new `type-of'.
28114         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
28115         (cl--generic-struct-specializers): Adjust to new tag.
28117         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
28118         Use the type symbol as the tag.  Use copy-record to copy structs.
28119         (cl--defstruct-predicate): New function.
28120         (cl--pcase-mutually-exclusive-p): Use it.
28121         (cl-struct-sequence-type): Can now return `record'.
28123         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
28124         code to new format.
28125         (cl--struct-register-child): Work with records.
28126         (cl-struct-define): Don't touch the tag's symbol-value and
28127         symbol-function slots when we use the type as tag.
28129         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
28131         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
28132         New test.
28134         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
28136 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
28138         Add record objects with user-defined types.
28140         * src/alloc.c (allocate_record): New function.
28141         (Fmake_record, Frecord, Fcopy_record): New functions.
28142         (syms_of_alloc): defsubr them.
28143         (purecopy): Work with records.
28145         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
28146         name if record's type holds class.
28147         (Frecordp): New function.
28148         (syms_of_data): defsubr it.  Define `Qrecordp'.
28149         (Faref, Faset): Work with records.
28151         * src/fns.c (Flength): Work with records.
28153         * src/lisp.h (prec_type): Add PVEC_RECORD.
28154         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
28156         * src/lread.c (read1): Add syntax for records.
28158         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
28159         (print_object): Add syntax for records.
28161         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
28162         New test.
28164         * test/src/alloc-tests.el (record-1, record-2, record-3):
28165         New tests.
28167         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
28168         doc/lispref/records.texi: Add documentation for records.
28170 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
28172         Fix a test in python-test.el
28174         Fix a test that breaks the test suite when it is run within a
28175         virtual environment.
28176         See following link for details:
28177         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
28178         * test/lisp/progmodes/python-tests.el
28179         (python-shell-calculate-process-environment-7): Bind
28180         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
28181         bind it to '/env'.
28183 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
28185         Throw a `search-failed' derived error in Info search
28187         The original fix for Bug#6106 switched from signaling `search-failed'
28188         to `user-error'.  However, this breaks incremental searching over
28189         multiple nodes because the isearch code doesn't expect a `user-error'.
28191         * src/search.c (syms_of_search): New error, `user-search-failed',
28192         with `user-error' and `search-failed' as parents.
28193         * doc/lispref/errors.texi (Standard Errors): Document it.
28194         * etc/NEWS: Announce it.
28195         * lisp/info.el (Info-search): Use it instead of `user-error' so that
28196         isearch will handle failed searches correctly.
28198 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
28200         Add Tramp test
28202         * doc/misc/tramp.texi (Remote processes): Fix typo.
28204         * lisp/shell.el (shell): Fix typo.
28206         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
28208         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
28209         New test.
28210         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
28211         (tramp-test31-vc-registered)
28212         (tramp-test32-make-auto-save-file-name)
28213         (tramp-test33-make-nearby-temp-file)
28214         (tramp-test34-special-characters)
28215         (tramp-test34-special-characters-with-stat)
28216         (tramp-test34-special-characters-with-perl)
28217         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
28218         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
28219         (tramp-test35-utf8-with-ls)
28220         (tramp-test36-asynchronous-requests)
28221         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
28223 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
28225         * lisp/ses.el: Silence byte-compiler warnings.
28227         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
28228         byte-compiler warnings.
28230 2017-04-02  Glenn Morris  <rgm@gnu.org>
28232         Belated fixes for admin.el's M-x make-manuals-dist
28234         * admin/admin.el (make-manuals-dist-output-variables): Additions.
28235         (make-manuals-dist--1): Also copy docstyle.texi.
28237 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
28239         Fix bugs in simplified test dependencies
28241         Problem reported by Glenn Morris in:
28242         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
28243         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
28244         (TESTS): Omit unnecessary patsubst.
28245         (test_template): Redo dependency heuristic, hopefully
28246         correctly this time.  It's the .log file that depends,
28247         not the phony test target.  Declare the phonies to be PHONY.
28248         Resurrect the exception for the *-tests subdirectory.
28249         Adjust to the fact that leading "./" is omitted now.
28251 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
28253         Fix typo in docstring
28255         * lisp/help.el: Fix typo.
28257 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
28259         Apply connecion-local variables for shells
28261         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
28262         variables.  Don't mention Emacs 23 anymore.
28263         (Frequently Asked Questions): Precise Emacs and MS Windows version.
28265         * lisp/files-x.el (connection-local-normalize-criteria):
28266         Suppress nil properties.
28267         (connection-local-set-profiles, with-connection-local-profiles):
28268         Adapt docstring.
28270         * lisp/shell.el (shell): Apply connecion-local variables.
28272 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
28274         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
28276         This prevents variables in signatures such as `sub add ($a, $b)' from
28277         being treated as punctuation.
28278         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
28279         Strictly match only prototype characters as punctuation.  (Bug#26037)
28281 2017-04-01  Tom Tromey  <tom@tromey.com>
28283         fix two js-mode syntax propertization bugs
28285         Bug#26070:
28286         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
28287         zero-or-one to regular expression.
28288         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
28289         literal up to END.
28290         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
28291         (js-mode-propertize-bug-2): New tests.
28293 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
28295         Simplify test dependency generation
28297         Generate default dependencies by using GNU extensions to ‘make’
28298         rather than via a hacky auxiliary program and script.
28299         * .gitignore: Remove test/make-test-deps.mk.
28300         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
28301         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
28302         (test_template): Infer dependency directly instead of via
28303         make-test-deps.mk.
28304         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
28305         (clean): No need to clean make-test-deps.mk.
28306         (make-test-deps.mk): Remove rule.
28307         * test/make-test-deps.emacs-lisp: Remove.
28309 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
28311         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
28313         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
28314         test suite.
28315         (cl-lib-symbol-macrolet-2): New test.
28317 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
28319         Use only posix options in a ediff-ptch test
28321         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
28322         Use just "-b" patch option.  Don't assume a particular suffix for
28323         the backup files.
28325 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
28327         Initial implementation of HTTP Digest qop for url
28329         This also refactors digest authentication functions in url-auth.el.
28331         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
28332         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
28333         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
28334         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
28335         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
28336         to simplify code and aid in unit testing.
28337         (url-digest-auth-build-response): Hook up new functionality, or fall
28338         back to previous.
28339         (url-digest-auth-make-request-digest-qop):
28340         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
28341         (url-digest-auth-name-value-string): Add new helper functions.
28342         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
28343         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
28344         (url-auth-test-digest-request-digest): Add a few tests as now more
28345         features are testable via intermediate functions.
28346         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
28347         the new implementation.  Parts of these were accidentally already
28348         merged in the past.
28350 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
28352         Tweak ediff-ptch test in previous commit a bit more
28354         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
28355         Apply patches without requiring a shell.  Add some comments.
28357 2017-03-31  Glenn Morris  <rgm@gnu.org>
28359         Tweak an ediff-ptch test
28361         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
28362         Add skip conditions.  Avoid going through shell where not needed.
28364 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
28366         * lisp/net/tramp-smb.el (tramp-smb-errors):
28368         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
28370 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
28372         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
28374 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
28376         dired-mark-suffix: New command
28378         Now dired-mark-extension prepends '.' to extension when not present.
28379         Add command dired-mark-suffix to preserve the previous
28380         behavior (Bug#25942).
28381         * lisp/dired-x.el (dired-mark-suffix): New command;
28382         mark files ending in a given suffix.
28383         (dired--mark-suffix-interactive-spec): New defun.
28384         (dired-mark-extension, dired-mark-suffix): Use it.
28385         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
28386         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
28388 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
28390         default-directory: Remark that it must be a directory name
28392         * src/buffer.c (default-directory): Update docstring (Bug#26272).
28394 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
28396         Delete confuse statement in manual
28398         * doc/misc/cl.texi (For Clauses): Delete confuse statement
28399         and its example (Bug#23550).
28401 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
28403         Use find -delete if available
28405         This shortens the ‘make’ output and should avoid some
28406         repetitive scanning of directories during a build.
28407         * configure.ac (FIND_DELETE): New var.
28408         * lisp/Makefile.in (compile-always, bootstrap-clean):
28409         * test/Makefile.in (clean, bootstrap-clean): Use it.
28410         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
28412 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
28414         Remove gnus-boundp
28416         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
28417         bound-and-true-p.
28418         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
28420 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
28422         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
28424         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
28425         end of line after deleting horizontal whitespace.
28427 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
28429         * src/inotify.c (add_watch): Add comment.
28431 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
28433         Minor filenotify.el fixes
28435         * lisp/filenotify.el: Require subr-x.
28436         (file-notify-callback): Use equal, not eq.
28438 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
28440         Improve packaging documentation
28442         * doc/lispref/package.texi (Packaging Basics):
28443         * doc/lispref/tips.texi (Library Headers): Clarify some header
28444         formats, relation between file headers and package
28445         attributes (Bug#13281).
28447 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
28449         Fix a small incompatibility in ibuffer
28451         Translate nil values from column functions to the empty string, so that
28452         subsequent calls to string-width don't signal an error (Bug#26317).
28453         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
28454         nil, treat it like the empty string.
28456 2017-03-30  Alan Mackenzie  <acm@muc.de>
28458         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
28460         Also implement the "asymmetric space" rule for fontifying otherwise
28461         ambiguous
28462         declarations/expressions.
28464         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
28465         c-new-BEG or c-new-END when there is no need.
28466         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
28467         space" rule.
28469         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
28470         extracted from c-font-lock-declarations.  Add to this function processing to
28471         make `context' 'decl for lines contained within parens when these are also
28472         declarations.
28473         (c-font-lock-declarations): Call the newly extracted function above in place
28474         of inline code.
28476         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
28477         c-literal-start.
28479         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
28481         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
28482         "asymmetric fontification" rule, including the variable
28483         c-asymmetric-fontification-flag.
28485 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
28487         Some inotify cleanup
28489         This catches some problems with integer overflow and races
28490         that I noticed in inotify.c after reviewing the changes
28491         installed to fix Bug#26126.
28492         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
28493         * src/inotify.c (aspect_to_inotifymask):
28494         Check for cycles and for improper lists.
28495         (make_lispy_mask, lispy_mask_match_p): Remove.
28496         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
28497         (inotifyevent_to_event, add_watch):
28498         Don’t assume watch descriptors and cookies fit in fixnums.
28499         (add_watch): Use assoc_no_quit, not Fassoc.
28500         Avoid integer overflow in (very!) long-running processes where
28501         the Emacs watch ID could overflow.  Avoid some duplicate code.
28502         (find_descriptor): New function.
28503         (remove_descriptor): First arg is now the returned value from
28504         find_descriptor, rather than the descriptor.  This way, the
28505         value can be removed without calling Fdelete, which might quit.
28506         Wait until the end (when watch_list is consistent) before signaling
28507         any errors.
28508         (remove_watch, inotify_callback):
28509         Use find_descriptor to avoid the need for Fdelete.
28510         (inotify_callback): Use simpler tests for ioctl failure.
28511         Free temporary buffer if signaled, and put it on the stack if small.
28512         Use ssize_t to index through read results, to avoid a cast.
28513         (valid_watch_descriptor): New function, with a tighter check.
28514         (Finotify_rm_watch, Finotify_valid_p): Use it.
28515         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
28516         of Fassoc.  Do not assume the first assoc succeeds.
28517         * test/src/inotify-tests.el (inotify-valid-p-simple):
28518         Add inotify-valid-p tests, some of which dump core without
28519         the fixes noted above.
28521 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
28523         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
28525 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
28527         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
28529 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
28531         Fix assoc_no_quit so that it does not quit
28533         The problem was that it called Fequal, which can quit.
28534         * src/fns.c (enum equal_kind):
28535         New enum, to be used in place of a boolean.
28536         (equal_no_quit): New function.
28537         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
28538         (assoc_no_quit): Use it to avoid quitting, the main point here.
28539         (internal_equal): Generalize bool to enum equal_kind arg, so that
28540         there are now 3 possibilities instead of 2.  Do not signal an
28541         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
28542         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
28543         changed.
28545 2017-03-29  Alan Mackenzie  <acm@muc.de>
28547         Amend gitmerge to recognize the injunction "don't merge".
28549         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
28550         well as "do not".
28552 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
28554         Add one more CSS pseudo-class
28556         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
28557         `focus-within'.
28559 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
28561         Update list of CSS pseudo-classes
28563         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
28564         pseudo-classes.
28566 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
28568         Adjust some search failure errors in info.el
28570         * lisp/info.el (Info-select-node): The search for beginning of node is
28571         an internal detail, and is not normally expected to fail, so it should
28572         not be a user error.
28573         (Info-complete-menu-item): Failing to find a menu indicates the user
28574         searched for a menu when there isn't one, so change to `use-error'.
28576 2017-03-28  Alan Mackenzie  <acm@muc.de>
28578         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
28580 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
28582         Don’t mishandle (format "%i" -1.0)
28584         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
28586 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
28588         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
28590 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
28592         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
28594 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
28596         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
28598         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
28599         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
28600         with (user-error "Search failed: "...).
28602 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
28604         Fix obsolete ‘test/automated’ references
28606         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
28607         (bootstrap-clean, maintainer-clean):
28608         Clean ‘test’, not ‘test/automated’.  Test for existence of
28609         subdirectory only for ‘test’, not for directories that should
28610         always exist.
28611         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
28612         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
28613         * lisp/man.el (Man-parse-man-k):
28614         * lisp/url/url-domsuf.el, make-dist:
28615         * test/file-organization.org:
28616         Fix obsolete references to test/automated.
28618 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
28620         shr-image-fetched: Work for narrowed Gnus article
28622         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
28624         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
28626 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
28628         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
28630 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
28632         Expand manual section on quitting windows
28634         * doc/lispref/windows.texi (Quitting Windows): Provide more
28635           information about the elements of the quit-restore window parameter,
28636           and how they affect the behavior of quit-restore-window.
28638 2017-03-26  Philipp Stephani  <phst@google.com>
28640         Add check for expected backtrace in module calls.
28642         * test/manual/cedet/tests/test.el
28643         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
28644         expected backtrace.
28646 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
28648         Fix redisplay glitches due to recent change in redisplay_internal
28650         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
28651         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
28652         for the problems caused by the original fix.
28654 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
28656         Fix Bug#26258
28658         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
28659         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
28660         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
28661         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
28662         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
28664         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
28665         (tramp-register-autoload-file-name-handlers)
28666         (tramp-register-file-name-handlers): Do not handle
28667         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
28668         the handlers are responsible for.
28669         (tramp-register-foreign-file-name-handler): New defun.
28671 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
28673         Fix docstring of dabbrev-abbrev-char-regexp
28675         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
28676         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
28677         previous character doesn't match, we search backwards for one that
28678         does, not throw an error.  Replace Lisp example with C based one to
28679         make it clear that "symbol" means a sequence of word and symbol
28680         constituent characters, not a Lisp symbol (Bug#358).
28682 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
28684         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
28686 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
28688         Minor fixes for inotify.c and filenotify.el
28690         * lisp/filenotify.el (file-notify--watch-absolute-filename):
28691         Add docstring.
28692         (file-notify-callback): Simplify.
28694         * src/inotify.c (Finotify_add_watch): Adapt docstring.
28696 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
28698         Fix issues regarding inotify file-notification
28700         Remove special code handling the inotify back-end.
28701         * lisp/filenotify.el (file-notify--watch): New struct
28702         representing a file-watch.
28703         (file-notify-descriptors): Use the new struct as hash-value.
28704         (file-notify-handle-event): Check that event is a cons.
28705         (file-notify--rm-descriptor, file-notify--event-watched-file)
28706         (file-notify--event-file-name, file-notify--event-file1-name)
28707         (file-notify-callback, file-notify-add-watch)
28708         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
28709         Remove special code handling inotify descriptors.  Remove code
28710         handling multiple clients per descriptor.
28711         (file-notify--descriptor): Remove unused function.
28713         Let inotify-add-watch return a unique descriptor on every
28714         call, like every other back-end does (Bug#26126).  Prevent
28715         multiple clients from interfering with each other, when
28716         watching a shared descriptor.
28717         * src/inotify.c (watch_list): Extend the format by including a
28718         id and the provided mask.
28719         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
28720         (make_watch_descriptor): Removed.
28721         (make_lispy_mask, lispy_mask_match_p): New functions.
28722         (inotifyevent_to_event): Match event against the mask provided
28723         by the client.
28724         (add_watch, remove_descriptor, remove_watch): New functions
28725         for managing the watch_list.
28726         (inotify_callback): Use the new functions.
28727         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
28728         flags from documentation.  Add check for validity of provided
28729         descriptor.  Use the new functions.  Use the default mask.
28730         (INOTIFY_DEBUG): Add new debug conditional.
28731         (inotify-watch-list, inotify-allocated-p): New debug functions.
28732         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
28734         * test/lisp/filenotify-tests.el:
28735         (file-notify-test02-rm-watch): Remove expected failure for inotify.
28737 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
28739         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
28741 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
28743         Stop edebug getting stuck on backquote (Bug#23651)
28745         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
28746         reading backquote or comma.
28748 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
28750         Expand manual section on quitting windows
28752         * doc/lispref/windows.texi (Quitting Windows): Provide more
28753           information about the elements of the quit-restore window parameter,
28754           and how they affect the behavior of quit-restore-window.
28756 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
28758         Support in ispell.el multiple dictionaries loaded by Hunspell
28760         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
28761         Support Hunspell configurations that load more than one dictionary
28762         by default.  Doc fix.  (Bug#25830)
28764 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
28766         Simplify Tramp autoloading.
28768         * lisp/net/tramp.el (tramp-completion-file-name-handler):
28769         Simplify autoloading.  Give it the `operations' property.
28770         (tramp-completion-handle-expand-file-name): Remove.
28772 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
28774         Fix a segfault due to failure to realize some faces
28776         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
28777         while redisplaying its windows, redisplay all of its windows
28778         again.  (Bug#26097)
28779         (init_iterator): When freeing all realized faces on all frames,
28780         reset the 'face_change' flag of the frame whose window we are
28781         about to iterate.
28783 2017-03-25  Philipp Stephani  <phst@google.com>
28785         Use a named function for 'safe-local-variable
28787         This improves the help screen for `version-control' (Bug#25431).
28789         * lisp/files.el (version-control-safe-local-p): New function.
28790         (version-control): Use it.
28792 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
28794         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
28796 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
28798         Make it easier to abort a series of tests with C-g
28800         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
28801         interactively is true and a test was aborted then ask if the remaining
28802         tests should be aborted too.
28803         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
28804         interactively arg.
28806 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
28808         Don’t require chown/chgrp for game installation
28810         Problem reported by Joseph Mingrone in:
28811         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
28812         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
28813         chgrp fails with update-game-score and the game directory.
28814         Instead, expect the installer to fix this up afterwards.
28816 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
28818         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
28820         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
28821         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
28823 2017-03-23  Philipp Stephani  <phst@google.com>
28825         Protect against an infloop in python-mode
28827         There appears to be an edge case caused by using `syntax-ppss' in a
28828         narrowed buffer during JIT lock inside of Python triple-quote strings.
28829         Unfortunately it is impossible to reproduce without manually
28830         destroying the syntactic information in the Python buffer, but it has
28831         been observed in practice.  In that case it can happen that the syntax
28832         caches get sufficiently out of whack so that there appear to be
28833         overlapping strings in the buffer.  As Python has no nested strings,
28834         this situation is impossible and leads to an infloop in
28835         `python-nav-end-of-statement'.  Protect against this by checking
28836         whether the search for the end of the current string makes progress.
28838         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
28839         against infloop.
28840         * test/lisp/progmodes/python-tests.el
28841         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
28843 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
28845         * doc/lispref/os.texi (File Notifications):
28847         Strengthen the recommendation to use filenotify.el.
28849 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
28851         Merge from gnulib
28853         This incorporates:
28854         2017-03-22 getopt: merge from glibc
28855         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
28856         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
28857         * lib/gnulib.mk.in: Regenerate.
28859 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
28861         Use lexical-bind in Tramp
28863         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
28865         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
28866         rather than `add-to-list'.
28867         (tramp-adb-get-device): Remove unused variable.
28869         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
28870         variable.
28872         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
28873         (tramp-find-file-name-coding-system-alist): Use `push' rather
28874         than `add-to-list'.
28876         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
28877         Require 'dired.  Move declarations up.
28878         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
28879         and `temporary-file-directory' calls with `with-no-warnings'.
28880         (tramp-test35-asynchronous-requests): Mark unused variable.
28882 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
28883             Noam Postavsky  <npostavs@gmail.com>
28885         Do not include comment start chars in ffap string
28887         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
28888         ensure that the returned string does not contain the comment start
28889         characters (especially for major modes that have '//' as comment start
28890         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
28891         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
28892         C-f" on a "//foo" comment will initiate an attempt to access a path
28893         "//foo" (Bug#24057).
28895 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
28897         c:/Temp/gtk-window-move/ChangeLog.txt
28899 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
28901         Fix filenotify.el issue for kqueue
28903         * lisp/filenotify.el (file-notify-add-watch): Use directory
28904         for remote file name handlers.
28906         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
28907         Create/delete temporary file only for "kqueue".
28908         (file-notify-test02-rm-watch): Create/delete temporary files.
28910 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
28912         Extend `file-notify-test02-rm-watch'
28914         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
28915         Expect it failed for inotify.  Divide tests into different
28916         `unwind-protect' clauses.  Check, that removing watch
28917         descriptors out of order do not harm.  (Bug#26126)
28919 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
28921         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
28923 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
28925         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
28927 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28929         Improve configure --with-pop etc. diagnostics
28931         * configure.ac: Improve diagnostics re --with-pop and
28932         --with-mailutils (Bug#26102).
28934 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
28936         Revert "Make --without-pop the default."
28938         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
28940 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28942         Don’t remove dependency files when configuring
28944         Problem reported by Tom Tromey in:
28945         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
28946         * configure.ac: Don’t remove */*.o and */deps/* when
28947         --enable-autodepend is in effect.
28949 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28951         Make --without-pop the default.
28953         Suggested by Angelo Graziosi in:
28954         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
28955         * configure.ac: Change the default from --with-pop to
28956         --without-pop.  Adjust diagnostics to match.
28958 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28960         Streamline dependency-file generation
28962         * configure.ac (AUTODEPEND_PARENTS): New var.
28963         mkdir the dependency directories here, to simplify ‘make’.
28964         Remove dependency files just before outputting Makefiles, so that
28965         they are preserved if ‘configure’ exits early due to some other problem.
28966         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
28967         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
28968         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
28969         number of processes spun off by ‘make’.
28970         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
28971         (distclean): Remove $(DEPDIR) itself.
28972         * lwlib/Makefile.in (all): Move to front, so that depdir includes
28973         do not alter default action.
28975 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28977         Port and simplify example sh script
28979         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
28980         don’t use ‘tail -1’, which is not portable.
28982 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
28984         Narrow scope of modification hook renabling in org-src fontification
28986         Modification hooks should be enabled while modifying text in the
28987         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
28988         org-src fontify buffers" the hooks were enabled also for modifications
28989         to the original org buffer.  This causes fontification errors when
28990         combined with certain packages, as reported in
28991         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
28993         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
28994         of inhibit-modification-hooks let-binding.
28996 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
28998         epatch: Save right backups in Git multipatches
29000         Multipatches on N Git files save wrong backups for
29001         N-1 files; only the last one has a correct backup (Bug#26084).
29002         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
29003         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
29004         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
29005         Rename from ibuffer-test-bug25010.
29006         (ediff-ptch-test-bug26084): New test.
29008 2017-03-21  Michael R. Mauger  <michael@mauger.com>
29010             * lisp/progmodes/sql.el: Version 3.6
29012             (sql-login-params): Added :must-match for completition of
29013             `server' and `database' login parameters.
29014             (sql-sqlite-login-params, sql-postgres-login-params): Set
29015             :must-match to `confirm'.
29016             (sql-get-login-ext): Use :must-match value to control
29017             `read-file-name' or `completing-read'.
29018             (sql-connect): Added optional BUF-NAME parameter; Reworked
29019             connection variable processing; Pass buffer name to
29020             `sql-product-interactive'.
29021             (sql-product-interactive): Pass buffer name along.
29022             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
29023             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
29024             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
29025             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
29026             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
29027             (sql-comint-vertica): Add optional BUF-NAME, pass to
29028             `sql-comint'.
29029             (sql-oracle--list-oracle-name): New function.
29030             (sql-oracle-list-all): Use it.
29031             (sql-oracle-completion-object): Enhanced.
29033 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
29035         Solve ses-recalculate-cell updating only current line bug.
29037         * lisp/ses.el (ses-recalculate-cell): Add optional argument
29038         ses--curcell to avoid overwriting ses--curcell when function is
29039         called from ses-recalculate-all.  Update docstring accordingly.
29040         (ses-recalculate-all): Call ses-recalculate-cell with argument
29041         ses--curcell to avoid its overwriting.
29043 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
29045         Fix problem with out-of-date dependencies
29047         Problem reported by Robert Marshall in:
29048         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
29049         Although this problem has been with us for a while, the recent
29050         change from Automake to GNU Make exposed it again.
29051         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
29052         leftover dependency and object files, since the previous sources'
29053         dependencies may disagree with the current ones.  Reconfiguring
29054         typically needs to force a rebuild anyway.
29056 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
29058         Simpler filter implementation
29060         * lisp/play/dunnet.el (dun-endgame-question): Get or set
29061         dun-endgame-questions one time only.  Use dolist and an index to
29062         prune the list.
29064 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
29066         * lisp/button.el (forward-button): Use user-error instead.
29068 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29070         Merge from gnulib
29072         This gets Emacs working again with HP-UX Itanium cc.
29073         It incorporates:
29074         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
29075         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
29076         2017-03-17 stat-time, timespec: Support header files in C++ mode
29077         2017-03-17 stdalign: Make it work with HP-UX cc
29078         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
29079         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
29080         2017-03-14 gnulib-tool: don't produce tests with only snippets
29081         2017-03-14 limits-h: Make it work with HP-UX cc.
29082         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
29083         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
29084         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
29085         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
29086         Copy from gnulib.
29088 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29090         * ChangeLog.2: Merge from emacs-25.
29092 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29094         Fixups after merge from emacs-25
29096         * etc/NEWS: Remove stray entry.
29097         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
29098         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
29099         Make it nondecreasing.
29101 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29103         Merge from origin/emacs-25
29105         d71e071 Improve documentation of interactive "r".
29107 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29109         Merge from origin/emacs-25
29111         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
29112         1925dd9 Fix duplicate wording in Emacs manual
29113         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
29114         2d671fd Fix wording in Emacs manual
29115         a8766a2 Document how to customize input methods
29116         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
29117         aceac95 Fix warning message about native completion (Bug#25984)
29118         a314c1f Clarify documentation of 'raise' and 'height' display specs
29119         f366f6e Mention problems with GPaste in PROBLEMS
29120         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
29121         6406618 Fix doc strings in info.el
29122         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
29123         eed9677 Fix doc string of 'posn-at-point'
29124         0d5957e Documentation fix in elisp reference manual
29126 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29128         Merge from origin/emacs-25
29130         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
29131         2b774fa Mention "editor" in Emacs man page header
29132         ae60d0c Document problems with nerd-fonts
29133         2fdb5a9 ; Details about pinning Emacs to w32 task bar
29134         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
29135         4c51ef4 Clarify what is the "cursor"
29136         8303c32 ; * etc/NEWS: Copyedits.
29137         3f7493e ; Fix a typo in comment
29138         c54cf8d Improve commentary in lisp.h
29139         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
29140         0ba9932 Disable native completion for ipython (Bug#25067)
29141         38fc456 Fix a typo in ada-mode manual
29142         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
29143         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
29145         # Conflicts:
29146         #       etc/NEWS
29147         #       etc/PROBLEMS
29149 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29151         Merge from origin/emacs-25
29153         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
29155 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29157         Merge from origin/emacs-25
29159         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
29161 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29163         Merge from origin/emacs-25
29165         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
29166         7e02a47 Index byte-compile-debug
29167         7c1e598 Document `byte-compile-debug' in the ELisp manual
29168         4d81eb4 Document variable `byte-compile-debug'
29169         72ef710 Fix call to debugger on assertion failure
29170         ae8264c Call modification hooks in org-src fontify buffers
29171         b3139da ; Fix last change in doc/lispref/strings.texi
29172         c331f39 Improve documentation of 'format' conversions
29173         9f52f67 Remove stale functions from ert manual
29174         c416b14 Fix a typo in Eshell manual
29175         06695a0 ; Fix a typo in ediff-merg.el
29176         954e9e9 Improve documentation of hooks related to saving buffers
29177         9fcab85 Improve documentation of auto-save-visited-file-name
29178         2236c53 fix typo in mailcap-mime-extensions
29179         85a3e4e Fix typos in flymake.el
29180         a1ef10e More NEWS checking for admin.el's set-version
29182         # Conflicts:
29183         #       lisp/emacs-lisp/bytecomp.el
29185 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29187         Merge from origin/emacs-25
29189         5569e64 ; Spelling fixes
29190         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
29191         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
29192         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
29193         42eae54 Improve documentation of dabbrevs
29194         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
29195         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
29197         # Conflicts:
29198         #       lisp/textmodes/rst.el
29200 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29202         Merge from origin/emacs-25
29204         0e35405 Improve documentation of coding-systems
29205         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
29206         16fb50d Fix an error message in python.el
29207         a2a2073 Clarify major mode switching
29208         fc38671 Add helpful comment to compile-command's docstring
29209         ee65d85 Fix ':version' of 'select-enable-primary'
29211 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
29213         Fix bug in generator function with pcase (Bug#26068)
29215         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
29216         to symbol-name.
29218 2017-03-19  Alan Mackenzie  <acm@muc.de>
29220         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
29222         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
29223         invocation of c-on-identifier with a check we're not at the _end_ of an
29224         identifier.
29226         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
29227         perl versions of texi2dvi haven't implemented it.
29228         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
29229         in Pike Mode.
29230         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
29231         (FAQ): Add a question about "excessive" indentation of the contents of a C++
29232         lambda function, and how to get rid of it.
29234 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
29236         Remove unused vars in cl-extra.el and tramp.el.
29238         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
29240         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
29241         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
29242         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
29244 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
29246         Improve describe-symbol's layout of slots when describing types
29248         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
29249         (cl--describe-class-slots): Use it.
29251 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
29253         Fix Bug#26156
29255         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
29256         <expand-file-name>: Remove handler.  (Bug#26156)
29258 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
29260         * lisp/obarray.el (obarray-size): Avoid compiler warning.
29262 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
29264         Fix last change in lib/Makefile.in
29266         * lib/Makefile.in (srcdir): Define, as including
29267         $(srcdir)/../nt/gnulib-cfg.mk needs that.
29269 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
29271         * configure.ac: Fix typo in diagnostic.
29273 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
29275         Port out-of-source builds to windows-nt
29277         Problem reported by Angelo Graziosi in:
29278         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
29279         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
29280         to handle out-of-source builds if windows-nt.
29282 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
29284         MS-Windows followup for switch from Automake
29286         * nt/INSTALL:
29287         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
29289 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
29291         Improve documentation of interactive "r".
29293         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
29294         must be set for "r" to work.
29296 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
29298         Fixups for GNU Make switchover
29300         This fixes some minor problems introduced in the recent switch to GNU
29301         Make, discovered by further testing.  Without some of these changes
29302         'make -j' would sometimes have race conditions caused by missing
29303         dependencies.  (Bug#26100)
29304         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
29305         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
29306         src/config.in, since the former's timestamp now represents
29307         the latter's.
29308         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
29309         with other autogen.sh invocations.
29310         ($(srcdir)/src/stamp-h.in):
29311         Remove rule, as this file is no longer created.
29312         * Makefile.in (top_distclean):
29313         * src/Makefile.in (bootstrap-clean):
29314         No need to remove stamp-h1, as that was an Automake byproduct
29315         and Automake is no longer in use.
29316         * lib/Makefile.in, src/Makefile.in:
29317         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
29318         (../config.status, Makefile): Simplify by limiting dependencies
29319         to files we care about and files in the repository, and by
29320         using just one file to represent the timestamps on multiple
29321         targets updated by the same rule.
29322         * autogen.sh: Do not create or use src/stamp-h.in.
29323         Instead, have 'find' test the two output files directly.
29325 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
29327         Switch from Automake to GNU Make
29329         Emacs assumes GNU Make, and GNU Make has much of the functionality of
29330         Automake built-in.  The Emacs build process uses Automake primarily
29331         because Emacs uses some Gnulib code and Gnulib formerly required
29332         Automake.  Now that Gnulib no longer requires Automake, Emacs can
29333         stop using Automake and this should simplify Emacs maintenance
29334         in the future (Bug#26100).  Although this patch may look long, most of
29335         it is generated automatically: the changes to build-aux/config.guess,
29336         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
29337         all done by admin/merge-gnulib.
29338         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
29339         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
29340         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
29341         as they are no longer built by autogen.sh.
29342         Add lib/gnulib.mk, as it is now built by 'configure'.
29343         Remove nt/gnulib.mk, as it is no longer built by 'make'.
29344         * INSTALL.REPO, README, admin/make-tarball.txt:
29345         Remove mention of Automake.
29346         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
29347         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
29348         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
29349         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
29350         Remove.
29351         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
29352         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
29353         ($(srcdir)/src/config.in):
29354         Use autogen.sh instead of doing it by hand.
29355         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
29356         New vars, to simplify processing of avoided modules.
29357         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
29358         Add --gnu-make, and change makefile name to gnulib.mk.in.
29359         Copy config.guess, config.sub, and install-sh too, since
29360         Automake no longer does that for us.
29361         * admin/notes/copyright:
29362         * admin/update_autogen (genfiles):
29363         Update list of files.
29364         Remove hack for nt/gnulib.mk, a file that is no longer needed.
29365         * autogen.sh (progs): Remove Automake.
29366         (automake_min): Remove.
29367         Build aclocal.m4 so that autoreconf need not use aclocal.
29368         * build-aux/config.guess, build-aux/config.sub:
29369         * build-aux/install-sh:
29370         New files, copied from Gnulib.  These are now updated by
29371         admin/merge-gnulib instead by autogen.sh.
29372         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
29373         Remove.
29374         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
29375         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
29376         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
29377         (--disable-silent-rules): New option, since Automake no longer
29378         does this for us.
29379         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
29380         with AM_SUBST_NOTMAKE.
29381         (AC_PROG_INSTALL): Add call.
29382         (MAKEINFO): Do not bother with the 'missing' program.
29383         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
29384         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
29385         (SUBDIR_MAKEFILES): Remove duplication.
29386         * lib/Makefile.am: Remove, replacing with:
29387         * lib/Makefile.in: New file, with the old Makefile.am contents
29388         and with the following changes:
29389         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
29390         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
29391         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
29392         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
29393         Remove.
29394         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
29395         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
29396         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
29397         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
29398         New macros and rules, since Automake no longer does them.
29399         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
29400         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
29401         Include dependency files if AUTO_DEPEND.
29402         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
29403         New macros.
29404         (bootstrap-clean): Depend on distclean, not maintainer-clean,
29405         and remove gnulib.mk.
29406         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
29407         New macros and rules, copied from ../Makefile.in.
29408         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
29409         (.c.o, e-%.o): New generic rules.
29410         * lib/gnulib.mk: Remove.
29411         * lib/gnulib.mk.in: New file, which is built by autogen.sh
29412         and contains much of what used to be in lib/gnulib.mk.
29413         * m4/gnulib-common.m4: Copy from gnulib.
29414         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
29415         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
29416         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
29417         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
29418         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
29419         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
29420         * nt/gnulib-cfg.mk: New file, which supersedes ...
29421         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
29422         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
29423         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
29424         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
29425         Defer to parent Makefile.
29427 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
29429         Don't suggest Mailutils on MS-Windows
29431         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
29432         hasn't been ported.
29434 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
29436         Fix bug: Range-check integer ‘alpha’ frame parm value
29438         Typo introduced 2013-04-01, "Prefer < to >
29439         in range checks such as 0 <= i && i < N".
29441         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
29443 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
29445         Fix bug: Range-check integer ‘alpha’ frame parm value
29447         Typo introduced 2013-04-01, "Prefer < to >
29448         in range checks such as 0 <= i && i < N".
29450         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
29452 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
29454         Fix Bug#26127
29456         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
29457         there is a function which could be called.  (Bug#26127)
29459         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
29460         Clear also `file-notify-descriptors'.
29461         (file-notify--test-make-temp-name): Move up.
29462         (file-notify-test02-rm-watch): New test.
29463         (file-notify-test03-events, file-notify-test04-autorevert)
29464         (file-notify-test05-file-validity)
29465         (file-notify-test06-dir-validity)
29466         (file-notify-test07-many-events, file-notify-test08-backup)
29467         (file-notify-test09-watched-file-in-watched-dir)
29468         (file-notify-test10-sufficient-resources): Rename.
29470 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
29472         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
29474 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
29476         Emacs 'movemail' is now a configure-time option
29478         The new configure option --with-mailutils lets the builder say
29479         that Emacs should assume that GNU Mailutils is installed, instead
29480         of continuing to build and install its own limited and insecure
29481         substitute for 'movemail'.
29482         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
29483         * configure.ac: Add --with-mailutils option.
29484         (with_mailutils): New variable.
29485         Do not bother configuring 'movemail' when not building it.
29486         Warn about issues relating to --with-mailutils.
29487         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
29488         (Movemail, Remote Mailboxes): Document port numbers in
29489         POP and IMAP URLs.
29490         * lib-src/Makefile.in (with_mailutils): New macro.
29491         (UTILITIES): Use it.
29493 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
29495         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
29497         * lisp/obarray.el (obarray-size): New function.
29499         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
29500         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
29501         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
29502         Use obarrayp.
29504         * test/lisp/obarray-tests.el (obarray-make-default-test)
29505         (obarray-make-with-size-test): Use it.
29507 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
29509         Document remote file name syntax change
29511         * doc/emacs/files.texi (Remote Files, Quoted File Names):
29512         * doc/misc/org.texi (dir): Change examples to use a method.
29514         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
29515         `Testing' menu entry.
29516         (History): Fix typos.  Mention syntax change.
29517         (Configuration, Default Host, File name Syntax)
29518         (File name completion, Frequently Asked Questions):
29519         Change examples to use a method.
29520         (External methods, Default Host, Multi-hops, Remote processes):
29521         Fix typos.
29522         (Default Method): Mention pseudo method "-".
29523         (External packages): Rewrite intention of `non-essential'.
29525         * etc/NEWS: Mark recent Tramp entries as documented.
29527 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
29529         (semantic-lex-type-invalid): Fix nested backquote.
29531         * lisp/cedet/semantic/lex.el: Use lexical-binding.
29532         (semantic-lex-type-invalid): Fix nested backquote.
29533         (semantic-lex-map-symbols, semantic-lex-type-symbol)
29534         (semantic-lex-keyword-symbol): Use obarrayp.
29536 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
29538         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
29540 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
29542         Write a named function
29544         * lisp/comint.el (comint-nonblank-p): New function.
29545         (comint-input-filter): Use it.
29547 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
29549         Replace more nested ifs with cond
29551         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
29552         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
29553         (dun-drop-check, dun-swim, dun-break): Use when and cond where
29554         appropriate.
29555         (dun-examine): Fix indentation.
29556         (dun-doverb): Use when.
29557         (dun-read-line): Refactor.
29559 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
29561         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
29563         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
29564         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
29565         causes the regex engine to backtrack a lot when searching for
29566         "\\s-+$" (Bug#26079).
29568         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
29569         syntax, search for "\\s-$" and then skip backward over trailing
29570         whitespace.
29572 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
29574         Merge from gnulib
29576         This incorporates:
29577         2017-03-14 snippets: move unadjusted snippet sources to lib
29578         2017-03-14 gnulib-tool: fix typo in comment output
29579         2017-03-14 snippets: work around GNU Make 3.82 VPATH
29580         2017-03-13 gnulib-tool: minor --gnu-make fixups
29581         2017-03-12 gnulib-tool: new option --gnu-make
29582         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
29583         lib/warn-on-use.h.  Change exception from
29584         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
29585         * admin/authors.el (authors-renamed-files-regexps):
29586         * admin/notes/copyright, make-dist:
29587         The snippet files moved from build-aux/snippet to lib.
29588         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
29589         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
29590         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
29591         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
29592         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
29594 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
29596         Fix duplicate wording in Emacs manual
29598         * doc/emacs/programs.texi (Which Function): Delete duplicate
29599         wording.  (Bug#26098)
29601 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
29603         Reenable lost Tramp test case
29605         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
29606         Reenable lost test case.
29608 2017-03-14  Alan Third  <alan@idiocy.org>
29610         Revert "Remove NSEvent loop from ns_select (bug#25265)"
29612         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
29614 2017-03-14  Alan Third  <alan@idiocy.org>
29616         Revert "Add missing timeout value in ns_select"
29618         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
29620 2017-03-14  Alan Third  <alan@idiocy.org>
29622         Remove old macOS compatibility code
29624         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
29625         macOS versions below 10.6 as they are not supported in Emacs 25+.
29627 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
29629         Tune `tramp-completion-file-name-regexp-unified'
29631         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
29632         Extend this regexp to match also "/".
29634 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
29636         Show ancestor buffer in 3way merges
29638         Add an option ediff-show-ancestor', to control if the ancestor buffer
29639         must be shown in 3way merges (Bug#25493); set it non-nil by default.
29640         Add a toggle to change this option interactively; the original
29641         value of the option is restored on exit.
29643         Update the window setup so that the ancestor buffer is
29644         shown in 3way merges when ediff-show-ancestor is non-nil.
29646         Any operation on ediff windows must take in account the
29647         ancestor window as well, when this is shown.
29649         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
29650         (ediff--show-ancestor-orig): New defvar.
29651         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
29652         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
29653         Display ancestor buffer if ediff-show-ancestor is non-nil.
29654         (ediff-keep-window-config): Expect ancestor window in
29655         ediff-window-config-saved.
29656         (ediff-window-alist): Add entry for the ancestor window.
29657         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
29658         ediff-window-config-saved contains ancestor window.
29659         (ediff-show-ancestor): Delete this command.
29660         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
29661         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
29662         don't cheat it to think that is performing a comparison, that trick is not
29663         necessary anymore: simply call 'ediff-setup-diff-regions-function'
29664         with file-A, file-B and the file ancestor.
29665         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
29666         (ediff--check-ancestor-exists): New defun.
29667         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
29668         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
29669         (ediff-scroll-vertically, ediff-scroll-horizontally)
29670         (ediff-operate-on-windows): Consider the ancestor as well.
29671         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
29672         List ediff-toggle-show-ancestor.
29673         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
29675 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
29677         diff-mode: Improve default faces for buffer ancestor
29679         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
29680         (ediff-fine-diff-Ancestor): Use defaults consistent with
29681         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
29683 2017-03-14  Hong Xu  <hong@topbug.net>
29685         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
29687 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
29689         Fix make-dist typo
29691         * make-dist: Fix typo introduced in the Bug#25895 fix.
29693 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
29695         Fix wording in Emacs manual
29697         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
29698         (Bug#26086)
29700 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
29702         etc/NEWS: Remote file names require a method.
29704 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
29706         Require method in remote file name syntax
29708         * lisp/minibuffer.el (completion--nth-completion):
29709         Do not bind `non-essential'.
29711         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
29712         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
29713         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
29714         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
29715         `tramp-check-proper-method-and-host'.
29717         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
29718         (tramp-maybe-open-connection): Do not use argument for
29719         ´tramp-completion-mode-p'.
29721         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
29722         (tramp-prefix-format, tramp-postfix-method-format)
29723         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
29724         (tramp-prefix-port-format, tramp-postfix-host-format)
29725         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
29726         Use `eq' instead of `eqal'.
29727         (tramp-method-regexp, tramp-domain-regexp)
29728         (tramp-remote-file-name-spec-regexp)
29729         (tramp-file-name-regexp-unified)
29730         (tramp-completion-file-name-regexp-unified)
29731         (tramp-completion-file-name-regexp-separate): Adapt regexp.
29732         (tramp-completion-file-name-handler-alist)
29733         (tramp-run-real-handler): Autoload them.
29734         (tramp-find-method): Handle `tramp-default-method-marker'.
29735         (tramp-check-proper-method-and-host)
29736         (tramp-completion-run-real-handler): Remove them.
29737         (tramp-error-with-buffer, tramp-connectable-p): Do not use
29738         argument for ´tramp-completion-mode-p'.
29739         (tramp-find-foreign-file-name-handler): Remove COMPLETION
29740         argument.  Do not apply heuristic for completion.
29741         (tramp-file-name-handler): Do not modify `non-essential'.
29742         (tramp-completion-file-name-handler): Change implementation.
29743         (tramp-autoload-file-name-handler)
29744         (tramp-completion-handle-file-name-all-completions):
29745         Call `tramp-run-real-handler'.
29746         (tramp-completion-mode-p): Do not autoload.  Remove argument.
29747         Do not apply heuristic for completion.
29748         (tramp-completion-dissect-file-name): Simplify implementation.
29749         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
29751         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
29752         (tramp-test02-file-name-dissect)
29753         (tramp-test03-file-name-defaults)
29754         (tramp-test06-directory-file-name): Adapt to the new syntax.
29755         (tramp-test11-copy-file, tramp-test12-rename-file)
29756         (tramp--test-check-files): Deactivate temporarily tests with
29757         quoted file names.
29758         (tramp-test16-directory-files, tramp-test17-insert-directory):
29759         Adapt tests.
29760         (tramp-test24-file-name-completion): Do not check for
29761         completion mode.
29762         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
29763         two tests.
29765 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
29767         Fix bidi paragraph direction when inserting text at newline
29769         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
29770         paragraph cache when inserting immediately after a newline.
29771         (Bug#26083)
29773 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
29775         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
29777 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
29779         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
29781         (cl-print-object) <compiled-function>: Print the docstring and
29782         interactive form.  Obey cl-print-compiled.
29784 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
29786         Fix indent-sexp when called from inside a string (Bug#21343)
29788         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
29789         state from `syntax-ppss'.
29791 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
29793         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
29795         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
29796         (indent-subsexp, indent-sexp-in-string): New tests.
29798 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
29800         Use switch on pseudovector types; plus cleanups along the way
29802         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
29803         (PSEUDOVECTOR_TYPEP): Change type of `code'.
29805         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
29806         (mark_object): Use PSEUDOVECTOR_TYPE.
29808         * src/data.c (Ftype_of): Use switch on pvec type.
29810         * src/print.c (print_object): Use switch on pvec type.
29812         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
29813         Add recently added types.
29815 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
29817         Install update-game-score only on request
29819         Most distributions do not install update-game-score properly
29820         due to setuid/setgid complications, so install it only when
29821         the installer specifies a user or group (Bug#25895).
29822         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
29823         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
29824         New vars.
29825         (epaths-force): Use PATH_GAME.
29826         (uninstall): Remove snake-scores and tetris-scores only if shared.
29827         * configure.ac: Default --with-gameuser to 'no'.
29828         (UPDATE_MANIFEST): Remove.
29829         * etc/NEWS: Mention this.
29830         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
29831         (use_gamedir): New macro.
29832         (UTILITIES): Remove update-game-score unless use_gamedir.
29833         (SCRIPTS): Remove $(UPDATE_MANIFEST).
29834         ($(DESTDIR)${archlibdir}): Install game directory program and data
29835         only if use_gamedir.
29836         * lib-src/update-game-score.exe.manifest: Remove, as
29837         update-game-score is no longer installed on MS-Windows.
29838         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
29839         Use auxiliary program only if setuid or setgid.
29840         * make-dist: Do not distribute update-game-score.exe.manifest.
29841         * src/callproc.c (init_callproc):
29842         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
29843         (syms_of_callproc): Remove unnecessary initialization of
29844         Vshared_game_score_directory.
29846 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
29848         Add `touch-action' to list of CSS properties
29850         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
29851         property.
29853 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
29855         Teach etags to process ENUM_BF correctly
29857         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
29858         (hash): Regenerated values for asso_values[] array.
29859         (in_word_set): Update values of TOTAL_KEYWORDS and
29860         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
29861         (in_enum_bf): New file-global variable.
29862         (consider_token): Skip ENUM_BF if not in a macro definition.
29863         (C_entries): Reset the in_enum_bf flag when past its closing
29864         parenthesis.
29866         * test/manual/etags/ETAGS.good_1:
29867         * test/manual/etags/ETAGS.good_2:
29868         * test/manual/etags/ETAGS.good_3:
29869         * test/manual/etags/ETAGS.good_4:
29870         * test/manual/etags/ETAGS.good_5:
29871         * test/manual/etags/ETAGS.good_6:
29872         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
29874 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
29876         Use path/to/file instead of path/to.file in tramp.texi
29878         * doc/misc/tramp.texi (Configuration, File name Syntax):
29879         Use path/to/file instead of path/to.file.
29881 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
29883         Remove some stray gnulib files
29885         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
29886         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
29887         the --avoid=unsetenv option avoided most of it anyway.
29888         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
29889         * lib/gnulib.mk: Regenerate.
29891 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
29893         Merge from gnulib
29895         This incorporates:
29896         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
29897         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
29899 2017-03-12  Glenn Morris  <rgm@gnu.org>
29901         Remove trivial duplication in epg-config
29903         * lisp/epg-config.el (epg-config--program-alist):
29904         Use epg-gpg-minimum-version.
29906 2017-03-12  Glenn Morris  <rgm@gnu.org>
29908         Small epg-find-configuration improvement
29910         * lisp/epg-config.el (epg-find-configuration):
29911         Handle epg-gpg-program customized but not saved.  (Bug#25947)
29913 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
29915         Improve last change
29917         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
29918         Use ppss to check escaping and add help-echo.
29920 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
29922         Highlight useless backslashes in Elisp strings
29924         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
29925         Put warning face on backslashes that have no effect.
29927 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
29929         Document how to customize input methods
29931         * doc/emacs/mule.texi (Input Methods): Document how to customize
29932         input methods.
29934 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
29936         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
29938 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
29940         Fix generation of nt/gnulib.mk on macOS
29942         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
29943         to Sed, as that is not portable with non-GNU Sed variants.
29944         (Bug#26043)
29946 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
29948         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
29950         * src/xdisp.c (handle_single_display_spec): If position to be
29951         restored after processing the display property comes from an
29952         overlay, protect against that overlay's end point being outside of
29953         the narrowed region.
29954         Reported by Filipe Silva <filipe.silva@gmail.com> in
29955         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
29957 2017-03-10  Glenn Morris  <rgm@gnu.org>
29959         Small improvement for epa-display-error (bug#24553)
29961         * lisp/epa.el (epa-display-error): Report the actual program in use.
29963 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
29965         Tweak X toolkit code to pacify modern GCC
29967         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
29968         Don’t include <stdlib.h>, since this code now calls emacs_abort
29969         rather than abort.
29970         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
29971         (wm_delete_window):
29972         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
29973         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
29974         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
29975         (separator_height, XlwMenuInitialize):
29976         Use emacs_abort, not abort.  Without this change, some calls
29977         to ‘abort’ were invalid, as stdlib.h was not always included.
29978         * src/widget.c (resources, emacsFrameClassRec):
29979         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
29980         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
29981         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
29982         (x_term_init) [USE_X_TOOLKIT]:
29983         Cast string constants to char * to pacify --enable-gcc-warnings.
29985 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
29987         * doc/misc/tramp.texi (Android shell setup): Require adb program
29989 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
29991         Adapt tramp-tests.el
29993         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
29994         (tramp-test24-file-name-completion): Call
29995         `tramp-completion-mode-p' with argument.
29997 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
29999         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
30001         * doc/lispref/processes.texi (Bindat Examples):
30002         Mention two examples in intro blurb; rewrite first example.
30004 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
30006         Simplify checks for xdg-open and xdg-email
30008         browse-url's xdg-open detection was too picky on some GNU/Linux
30009         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
30010         if it is executable, as nowadays this is more likely to be correct than
30011         trying to use heuristics from a few years ago.  Don't test for nohup: it
30012         is ineffective nowadays, as xdg-open's child uses the default action for
30013         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
30014         allow for Wayland here, as "emacs -nw" might be running in a non-X
30015         Wayland terminal.
30016         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
30017         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
30018         Simplify to a test for DISPLAY and whether the helper program is
30019         executable.  Allow WAYLAND_DISPLAY as an option.
30021 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
30023         Byte compile cond clauses without any bodies correctly.
30025         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
30026         cond clause has no body, push t on to the stack.
30028 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
30030         Fix bug#23006
30032         * lisp/minibuffer.el (completion--nth-completion):
30033         Let-bind `non-essential'.
30035         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
30036         (tramp-completion-mode-p): Optional parameter VEC.  Replace
30037         check for `last-input-event' by analysing VEC argument.
30038         (tramp-error-with-buffer, tramp-file-name-handler)
30039         (tramp-connectable-p, tramp-handle-file-name-as-directory):
30040         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
30042 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
30044         etc/NEWS: Add entry for new `switch' bytecode.
30046 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
30048         * src/data.c (arithcompare): Add comments.
30050 2017-03-08  Glenn Morris  <rgm@gnu.org>
30052         Update a cl-print test
30054         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
30055         Update for recent change in cl-print-object function output.
30057 2017-03-08  Sam Steingold  <sds@gnu.org>
30059         Replace change-log-date-face -> change-log-date
30061         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
30063 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
30065         Fix bug#26011
30067         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
30068         Check, whether file is too large.  (Bug#26011)
30070 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
30072         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
30073         (Fmax, Fmin): Restore documentation.
30075         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
30076         comparisons that are written backward.
30078 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
30080         [doc elisp] Add some index entries for "old" advice mechanism
30082         * doc/lispref/functions.texi (Porting old advice):
30083         Add one @cindex and two @findex entries.
30085 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
30087         * etc/NEWS: Adjust to match previous patch.
30089 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
30091         min and max should not return markers
30093         Problem reported by Glenn Morris in:
30094         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
30095         * src/data.c (minmax_driver): Convert any marker result to an
30096         integer, since some callers assume this.
30097         * test/src/data-tests.el (data-tests-max, data-tests-min):
30098         Test for this.
30100 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
30102         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
30104 2017-03-08  Alan Third  <alan@idiocy.org>
30106         Add missing timeout value in ns_select
30108         * src/nsterm.m (ns_select): Set timeout to distant future when relying
30109         on fd_handler's timeout.
30111 2017-03-07  Glenn Morris  <rgm@gnu.org>
30113         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
30115 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
30117         Remove isnan hack for Solaris 10 gcc 3.4.3
30119         This seems to have been a false alarm (Bug#26018).
30120         * src/data.c (isnan):
30121         * src/floatfns.c (isfinite, isnan):
30122         Use standard implementation if available.
30124 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
30126         Support browsing URLs with embedded spaces on MS-Windows
30128         * lisp/net/browse-url.el (browse-url-default-windows-browser):
30129         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
30130         support that in file:// URLs.  (Bug#26014)
30132 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
30134         Define copysign on all platforms
30136         * configure.ac (copysign): Remove test.
30137         * src/floatfns.c (signbit): New macro, if not already defined.
30138         (Fcopysign): Use it instead of copysign.
30139         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
30141 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
30143         Revert "Replace ldefs-boot with a much smaller file"
30145         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
30147         This commit has been reverted because the new mechanism was too
30148         sensitive to changes in the lisp source, generation of new ldefs-boot
30149         files was platform specific and resulted in warnings about undefined
30150         variables.
30152         See also 11436e2890d.
30154 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
30156         Revert "Record autoloads till emacs dump"
30158         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
30160         This commit has been reverted because the new mechanism was too
30161         sensitive to changes in the lisp source, generation of new ldefs-boot
30162         files was platform specific and resulted in warnings about undefined
30163         variables.
30165         See also 11436e2890d.
30167 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
30169         Revert "Remove unused ldefs-boot.el"
30171         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
30173         This commit has been reverted because the new mechanism was too
30174         sensitive to changes in the lisp source, generation of new ldefs-boot
30175         files was platform specific and resulted in warnings about undefined
30176         variables.
30178         See also 11436e2890d.
30180 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
30182         Revert "Remove conditional includes from bootstrap"
30184         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
30186         This commit has been reverted because the new mechanism was too
30187         sensitive to changes in the lisp source, generation of new ldefs-boot
30188         files was platform specific and resulted in warnings about undefined
30189         variables.
30191         See also 11436e2890d.
30193 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
30195         Revert "Speed generation of ldefs-boot-auto"
30197         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
30199         This commit has been reverted because the new mechanism was too
30200         sensitive to changes in the lisp source, generation of new ldefs-boot
30201         files was platform specific and resulted in warnings about undefined
30202         variables.
30204         See also 11436e2890d.
30206 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
30208         Revert "Fix minor problems with loaddefs autogeneration"
30210         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
30212         This commit has been reverted because the new mechanism was too
30213         sensitive to changes in the lisp source, generation of new ldefs-boot
30214         files was platform specific and resulted in warnings about undefined
30215         variables.
30217 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
30219         Set default when asking for send-mail-function (Bug#25874).
30221         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
30222         option as default for `completing-read'.
30224 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
30226         min and max now return one of their arguments
30228         * doc/lispref/numbers.texi (Comparison of Numbers):
30229         * etc/NEWS: Document this.
30230         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
30231         (minmax_driver): New function.
30232         (Fmax, Fmin): Use it instead of arith_driver.
30233         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
30235 2017-03-06  Alan Third  <alan@idiocy.org>
30237         Remove NSEvent loop from ns_select (bug#25265)
30239         * src/nsterm.m (ns_select): Remove event processing loop and replace
30240         with simple test for a new event.
30242 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
30244         A better fix for bug#25845
30246         * src/xdisp.c (font_for_underline_metrics): New function.
30247         * src/dispextern.h: Add its prototype.
30248         * src/xterm.c (x_draw_glyph_string):
30249         * src/w32term.c (x_draw_glyph_string):
30250         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
30251         having identical code 3 times in 3 different files.
30253 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
30255         Fix warning message about native completion (Bug#25984)
30257         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
30258         The relevant variable is `python-shell-completion-native-enable'.
30260 2017-03-06  Tom Tromey  <tom@tromey.com>
30262         Fix typos in EIEIO manual
30264         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
30266 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
30268         Merge from gnulib
30270         This incorporates:
30271         2017-03-04 dtotimespec: simplify
30272         * lib/dtotimespec.c: Copy from gnulib.
30274 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
30276         ffloor etc. now accept only floats
30278         * etc/NEWS: Say why.
30279         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
30280         Require arg to be float.
30281         * test/src/floatfns-tests.el (fround-fixnum): Check this.
30283 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
30285         Fix display of cursor on underlined text
30287         * src/nsterm.m (ns_draw_text_decoration):
30288         * src/xterm.c (x_draw_glyph_string):
30289         * src/w32term.c (x_draw_glyph_string): Compute the position and
30290         thickness of the underline by looking for the first glyph of the
30291         run of underlined glyphs that includes the glyph string we are
30292         drawing.  (Bug#25845)
30294 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
30296         Add more CL concept index items, print Concept Index
30298         * doc/misc/cl.texi: Print concept index.
30299         (Generalized Variables, Variable Bindings):
30300         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
30301         (Blocks and Exits, Iteration, Multiple Values): Add concept index
30302         items.
30304 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
30306         Add 'loop facility' to the CL concept index
30308         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
30309         index item.
30311 2017-03-05  martin rudalics  <rudalics@gmx.at>
30313         In `window--display-buffer' fix behavior reported in Bug#25946
30315         * lisp/window.el (window--display-buffer): Set the dedicated
30316         status of the window used and clear its history of previous
30317         buffers also for the case that the window already shows the
30318         buffer to be displayed.  (Bug#25946)
30320 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
30322         Compare and round more carefully
30324         * etc/NEWS: Document this.
30325         * src/data.c (store_symval_forwarding):
30326         * src/sound.c (parse_sound):
30327         Do not botch NaN comparison.
30328         * src/data.c (cons_to_unsigned, cons_to_signed):
30329         Signal an error if a floating-point arg is not integral.
30330         * src/data.c (cons_to_unsigned, cons_to_signed):
30331         * src/fileio.c (file_offset):
30332         Use simpler overflow check.
30333         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
30334         Avoid rounding error in overflow check.
30335         (Fcar_less_than_car): Use arithcompare directly.
30336         * test/src/charset-tests.el: New file.
30338 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
30340         Fewer rounding errors with (format "%f" fixnum)
30342         * etc/NEWS: Document this.
30343         * src/editfns.c (styled_format): When formatting integers via a
30344         floating-point format, use long double instead of double
30345         conversion, if long double’s extra precision might help.
30347 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
30349         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
30351         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
30353 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
30355         Clarify documentation of 'raise' and 'height' display specs
30357         * doc/lispref/display.texi (Other Display Specs): Clarify the
30358         effect of 'height' display spec on the following 'raise'.
30359         (Bug#25824)
30361 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
30363         Fix header shown by Info 'L' command
30365         * lisp/info.el (Info-history-find-node): A better heading for the
30366         list of visited nodes.  (Bug#25876)
30368 2017-03-04  K. Handa  <handa@gnu.org>
30370         Add a section about incorrect Bengali rendering.
30372 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
30374         Fix minor problems with loaddefs autogeneration
30376         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
30377         and coding-system-for-write, to produce a UTF-8 file with Unix
30378         EOLs on MS-Windows.
30380         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
30382 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
30384         Fix issues with dedicated windows in shr.el
30386         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
30387         the window not dedicated, to avoid errors if it was, before
30388         setting its buffer temporarily.  (Bug#25828)
30390 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
30392         Mention problems with GPaste in PROBLEMS
30394         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
30395         GPaste, and its solution.  (Bug#25902)
30397 2017-03-04  Glenn Morris  <rgm@gnu.org>
30399         Avoid duplicate gud menu items with gdb-mi
30401         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
30402         entries in gdbmi mode.  (Bug#23923)
30404 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30406         * src/editfns.c (styled_format): Omit unnecessary code.
30408 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30410         logb now works correctly on large integers
30412         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
30413         * etc/NEWS: Document the change.
30414         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
30415         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
30416         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
30417         * src/floatfns.c: Include count-leading-zeros.h.
30418         (Flogb): Do not convert fixnum to float before taking the log,
30419         as the rounding error can cause the answer to be off by 1.
30420         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
30421         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
30423 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30425         Merge from gnulib
30427         This incorporates:
30428         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
30429         2017-02-24 ftoastr: port to -Wdouble-promotion
30430         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
30432 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
30434         Avoid duplicating characters recorded in macros
30436         * src/keyboard.c (record_char): Don't store in macro definitions
30437         characters that came from executing a macro.  (Bug#25860)
30439 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
30441         Fix color component calculations in color.el
30443         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
30444         (color-rgb-to-hex): Accept an optional argument
30445         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
30446         notation either for 8 or 16 bits per component.  (Bug#25890)
30447         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
30448         color-rgb-to-hex with the optional argument of 2, to match color
30449         processing on the Web.
30451 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
30453         Use lexical binding in benchmark.el
30455         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
30456         (benchmark-elapse): Use 'declare'.
30457         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
30459 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
30461         Switch pp.el to lexical binding
30463         Additionally, do some minor code cleanup.
30465         * lisp/emacs-lisp/pp.el: Set lexical-binding.
30466         (pp-buffer): Use skip-syntax-forward.
30467         (pp-eval-expression): Use push.
30468         (pp-last-sexp): Use with-syntax-table.
30469         * test/lisp/emacs-lisp/pp-tests.el: New tests.
30471 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
30473         Fix completing-read call in reb-change-syntax
30475         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
30476         of completing-read.
30478 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
30480         sql-mode w/ sqlite: In-memory database
30482         Enable the usage of an in-memory database. Prior to this, sql-mode w/
30483         sqlite could only be used with file databases.
30484         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
30485         file name provided by the user, but call sub-process sqlite with that,
30486         in which case it uses an in-memory database.
30488 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
30490         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
30492         `abbrev--before-point' does not adjust `pos' to account for when it
30493         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
30494         `abbrev-before-point' goes to restore point, it moves point one
30495         character too far forward.
30497         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
30499 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
30501         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
30503 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
30505         Restore XFLOATINT but with restricted args
30507         Turn instances of extract_float into XFLOAT_DATA when possible,
30508         and to a resurrected XFLOATINT when the arg is a number.
30509         The resurrected XFLOATINT is more like XFLOAT and XINT in
30510         that is valid only if its arg is a number.  This clarifies
30511         the ways in which floats can be extracted at the C level.
30512         * src/editfns.c (styled_format):
30513         * src/floatfns.c (extract_float, Fexpt):
30514         Use XFLOATINT rather than open-coding it.
30515         * src/fns.c (internal_equal):
30516         * src/image.c (imagemagick_load_image):
30517         * src/xdisp.c (resize_mini_window):
30518         Prefer XFLOAT_DATA to extract_float on values known to be floats.
30519         * src/frame.c (x_set_screen_gamma):
30520         * src/frame.h (NUMVAL):
30521         * src/image.c (x_edge_detection, compute_image_size):
30522         * src/lread.c (read_filtered_event):
30523         * src/window.c (Fset_window_vscroll):
30524         * src/xdisp.c (handle_single_display_spec, try_scrolling)
30525         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
30526         (on_hot_spot_p):
30527         Prefer XFLOATINT to extract_float on values known to be numbers.
30528         * src/lisp.h (XFLOATINT): Bring back this function, except
30529         it now assumes its argument is a number.
30531 2017-03-02  Glenn Morris  <rgm@gnu.org>
30533         Ert commands to error if no test at point (bug#25931)
30535         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
30536         Deactivate some items if no test at point.
30537         (ert--results-test-at-point-no-redefinition):
30538         Add option to signal an error rather than return nil.
30539         (ert-results-pop-to-backtrace-for-test-at-point)
30540         (ert-results-pop-to-messages-for-test-at-point)
30541         (ert-results-pop-to-should-forms-for-test-at-point)
30542         (ert-results-describe-test-at-point): Error if no test at point.
30544 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
30546         Remove XFLOATINT
30548         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
30549         All callers changed to use extract_float.
30550         * src/frame.h (NUMVAL): Now an inline function, not a macro.
30552 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
30554         Fix rounding errors in <, =, etc.
30556         * etc/NEWS: Document this.
30557         * src/bytecode.c (exec_byte_code):
30558         * src/data.c (arithcompare):
30559         Do not lose information when comparing floats to integers.
30560         * test/src/data-tests.el (data-tests-=, data-tests-<)
30561         (data-tests->, data-tests-<=, data-tests->=):
30562         Test this.
30564 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
30566         Fix display of mouse-highlight produced by overlapping overlays
30568         * src/xfaces.c (face_at_buffer_position): If called to find the
30569         mouse-face, only consider the highest-priority source for that
30570         face, and ignore the rest.  Previously, all the mouse-face
30571         definitions at POS were merged in that case.
30572         * src/xdisp.c (note_mouse_highlight): Record the overlay that
30573         specifies mouse-face _after_ clearing the info about the previous
30574         overlay, so as not to clear the information about the just-recorded
30575         overlay.  (Bug#25906)
30577 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
30579         Fix display of strike-through text in variable-height lines
30581         * src/nsterm.m (ns_draw_text_decoration):
30582         * src/xterm.c (x_draw_glyph_string):
30583         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
30584         strike-through y-coordinate for a glyph row which is taller than
30585         the strike-through text.  (Bug#25907)
30587 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
30589         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
30591         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
30592         don't call x_net_wm_state when the window is a scroll bar window.
30593         (Bug#24963, Bug#25887)
30595 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
30597         gnus-summary-select-article-buffer: Don't re-render existing article
30599         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
30600         Don't re-render existing article.
30602 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
30604         Don't add debbugs address to message body (bug#25896)
30606         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
30607         Don't add debbugs address to message body (bug#25896), and
30608         don't add it to message header either if it already exists.
30610 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
30612         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
30614         (semanticdb--ih): Declare.
30615         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
30616         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
30617         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
30619 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
30621         * lisp/help-fns.el (describe-variable): Use cl-print for the value
30623         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
30625 2017-03-02  Glenn Morris  <rgm@gnu.org>
30627         * test/lisp/net/puny-tests.el: New file.
30629 2017-03-02  Glenn Morris  <rgm@gnu.org>
30631         Small puny.el fix
30633         * lisp/net/puny.el (puny-decode-string-internal):
30634         Handle strings with no ascii parts.  (Bug#23688)
30636 2017-03-02  Glenn Morris  <rgm@gnu.org>
30638         Small recover-this-file improvement
30640         * lisp/files.el (recover-this-file): Explicit error if not
30641         visiting a file.  (Bug#23671)
30643 2017-03-01  Glenn Morris  <rgm@gnu.org>
30645         Fix for coding-system completion (bug#23670)
30647         * lisp/international/mule.el (read-buffer-file-coding-system):
30648         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
30649         so that completion-pcm--pattern->regex can append "*?".
30651 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
30653         Fix rounding error in ‘ceiling’ etc.
30655         Without this fix, (ceiling most-negative-fixnum -1.0) returns
30656         most-negative-fixnum instead of correctly signaling range-error,
30657         and similarly for floor, round, and truncate.
30658         * configure.ac (trunc): Add a check, since Gnulib’s doc says
30659         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
30660         also missing from some other older operating systems like Solaris
30661         9 which I know we don’t care about any more, so MSVC is the only
30662         reason to worry about ‘trunc’ here.
30663         * src/editfns.c (styled_format): Formatting a float with %c is now an
30664         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
30665         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
30666         only as a result of my misunderstanding old code that I introduced
30667         2011.  Although %d etc. is sometimes used on floats that represent
30668         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
30669         happen with characters.
30670         * src/floatfns.c (rounding_driver): Rework to do the right thing
30671         when the intermediate result equals 2.305843009213694e+18, i.e.,
30672         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
30673         Simplify so that only one section of code checks for overflow,
30674         rather than two.
30675         (double_identity): Remove.  All uses changed to ...
30676         (emacs_trunc): ... this new function.  Add replacement for
30677         platforms that lack ‘trunc’.
30678         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
30679         Make it clear that the arg cannot be floating point.
30680         * test/src/editfns-tests.el (format-c-float): New test.
30681         * test/src/floatfns-tests.el: New file, to test for this bug.
30683 2017-03-01  Glenn Morris  <rgm@gnu.org>
30685         Small help--loaded-p fix
30687         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
30688         with nil file name.  (Bug#25847)
30690 2017-03-01  Leo Liu  <sdl.web@gmail.com>
30692         * src/fns.c (Fbuffer_hash): Doc fix.
30694 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
30696         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
30698         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
30699         Instead, use a plain concat, which will create a string out of a list
30700         of characters.
30702 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
30704         Fix epg-tests with dummy-pinentry program (Bug#23619)
30706         * test/data/epg/dummy-pinentry: New file.
30707         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
30708         when a passphrase is required.  Add debug declaration.  Set
30709         GPG_AGENT_INFO non-destructively.
30711 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
30713         Speed generation of ldefs-boot-auto
30715         Previously, generation of ldefs-boot-auto required at least one full
30716         bootstrap and, in extreme cases, two. Now, from build system, it
30717         requires the same time as taken to dump Emacs.
30719         * Makefile.in: Remove all calls, pass to src.
30720         * admin/ldefs-clean.el: Update for changed messages.
30721         * lisp/Makefile.in (compile-first-delete): Add.
30722         * lisp/ldefs-boot-auto.el: Update.
30723         * src/Makefile.in (generate-ldefs-boot): Add.
30725 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
30727         Add error handling to magic-mode-alist
30729         * lisp/files.el (set-auto-mode): Add explicit error handling in two
30730           places.
30732 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
30734         Remove conditional includes from bootstrap
30736         Previously, bootstrap-emacs includes optional functionality, depending
30737         on the platform which is not needed for bootstrap function.  As a
30738         result, bootstrap-emacs contains different functions in different
30739         circumstances.  If ldefs-boot-auto.el is generated, then loaded
30740         functions will not be added to ldefs-boot-auto.el, although they may be
30741         required during some builds.  With this change, bootstrap-emacs should
30742         always behave the same way and, therefore, require the same autoloads.
30744          * lisp/loadup.el: No longer load optional includes during bootstrap
30745            dumping.
30746          * lisp/ldefs-boot-auto.el: Regenerate.
30747          * lisp/ldefs-boot-manual.el: Add two autoloads.
30749 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
30751         Do not use find-file non-interactively
30753          * lisp/international/titdic-cnv.el (miscdic-convert): Use
30754            insert-file-contents in place of find-file.
30756 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30758         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
30760         (update_overlay_arrows): Skip non-markers.
30762 2017-02-28  Ken Brown  <kbrown@cornell.edu>
30764         Try to avoid hang when logging out of MS-Windows
30766         * src/w32term.c (x_update_window_begin, x_update_window_end)
30767         (my_show_window, my_set_window_pos, my_set_focus)
30768         (my_set_foreground_window, my_destroy_window)
30769         (my_bring_window_to_top, x_iconify_frame): Replace calls to
30770         SendMessage by calls to SendMessageTimeout with a 6-second
30771         timeout.  (Bug#25875)
30773 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30775         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
30777 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30779         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
30781         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
30782         (Methods): Document cl-defmethod.
30783         Explain in more detail the order in which the various
30784         methods are executed.  Document the conditions under which a method
30785         is redefined.  Remove reference to `eieio-generic-call-arglst`.
30786         Don't document the precise return value of cl-next-method-p.
30787         (Static Methods): Adjust to use `subclass` specializer.
30788         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
30789         (Signal Handling, Signals): Adjust names and args for cl-generic; add
30790         cl-no-primary-method.
30791         (CLOS compatibility, Wish List): Adjust to new featureset.
30793 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30795         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
30797         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
30799 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30801         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
30803         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
30804         (sgml-syntax-propertize-inside): New fun.
30806 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30808         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
30810         ": ;" after completing a property.
30812 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
30814         Show Ibuffer and jump to line listing current buffer
30816         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
30818 2017-02-27  Juri Linkov  <juri@linkov.net>
30820         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
30822         before adding it to the list of files.
30824 2017-02-27  Juri Linkov  <juri@linkov.net>
30826         Put text properties on query-replace separator string instead of "\0"
30828         * lisp/replace.el (query-replace--split-string):
30829         Split at a substring instead of just character.
30830         (query-replace-read-from): Put text properties on the
30831         separator string instead of "\0".  (Bug#25482)
30833 2017-02-27  Juri Linkov  <juri@linkov.net>
30835         Add file name and its extension to suggestions in dired-mark-files-regexp
30837         * lisp/dired.el (dired-mark-files-regexp): Add file name
30838         and its extension to the list of suggested defaults.  (Bug#25578)
30840 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
30842         Prompt default extension in dired-mark-extension
30844         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
30845         based on extension of file at point.  (Bug#25578)
30847 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
30849         Prevent for consing in cl-mapc and cl-mapl
30851         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
30852         If non-nil, accumulate values in the result (Bug#25826).
30853         (cl-mapc): Do computations inside function instead of call cl-map.
30854         (cl-mapl): Do computations inside function instead of call cl-maplist.
30855         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
30856         Call cl--mapcar-many with non-nil 3rd argument.
30857         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
30858         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
30859         (cl-extra-test-maplist): New tests.
30861 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
30863         Choose the right target dir on dired operations
30865         Prevent from changing the input target dir
30866         when dired-dwim-target is non-nil (Bug#25609).
30867         * lisp/dired-aux.el (dired-do-create-files):
30868         If dired-dwim-target is non-nil, then bind 'default' to nil.
30869         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
30871 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
30873         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
30875 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
30877         Don't record eshell/clear "command" in history (Bug#25838)
30879         `eshell/clear' is implemented by sending a series of blank lines,
30880         which is not a useful thing to have in the history.
30882         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
30883         `string-blank-p' which does check for newlines (even though newlines
30884         have comment-end syntax, not whitespace syntax class).
30885         * lisp/eshell/esh-mode.el (eshell/clear): Remove
30886         `eshell-add-to-history' from `eshell-input-filter-functions' while
30887         sending the blank lines.  This change is needed to solve the bug if
30888         the user customizes `eshell-input-filter' to something that doesn't
30889         filter newlines.
30891 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
30893         Remove a few unused C functions
30895         * src/eval.c (let_shadows_global_binding_p):
30896         * src/print.c (write_string):
30897         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
30898         Remove.
30899         * src/print.c (write_string): Rename from write_string_1.
30900         All uses changed.
30902 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
30904         Avoid segfault in overlay_arrows_changed_p
30906         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
30907         to avoid a segfault.
30909 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
30911         Don't call package--ensure-init-file if initialized during startup
30913         * lisp/emacs-lisp/package.el (package-initialize): Check
30914         `after-init-time' rather than `load-file-name' to decide if
30915         `package--ensure-init-file' should be called.  Depending on
30916         `load-file-name' will fail if the user calls `pacakge-initialize' in
30917         file which is loaded from the init file (Bug#24643, Bug#25819).
30919 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
30921         Fix display of before- and after-strings at invisible text
30923         * src/xdisp.c (next_overlay_string): Don't raise the
30924         ignore_overlay_strings_at_pos_p flag if the iterator is already
30925         set to continue at a buffer position different from the one
30926         where the overlay strings we just processed were loaded.  (Bug#25856)
30928 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
30930         Work on `tramp-completion-mode-p'
30932         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
30934         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
30935         (tramp-completion-mode-p): Reintroduce the check for 'tab.
30937 2017-02-25  Tom Tromey  <tom@tromey.com>
30939         Use font-lock-doc-face in js-mode
30941         Bug#25858:
30942         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
30943         defun.
30944         (js-mode): Use it.
30945         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
30946         test.
30948 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
30950         Don't use IP 0.0.0.0 for package test server (Bug#22582)
30952         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
30953         'server_address' when port number is given on the command line.  Print
30954         IP and port number as a URL, and flush it after printing.
30955         * test/lisp/emacs-lisp/package-tests.el:
30956         (package-test-update-archives-async): Grab the whole URL from server
30957         output.
30959 2017-02-25  Tom Tromey  <tom@tromey.com>
30961         Add more branch support to vc-dir
30963         Bug#25859:
30964         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
30965         * lisp/vc/vc.el (vc-revision-history): New defvar.
30966         (vc-read-revision): Use vc-revision-history.
30967         (vc-print-branch-log): New function.
30968         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
30969         bindings.
30970         * etc/NEWS: Mention new vc-dir bindings.
30972 2017-02-25  Alan Mackenzie  <acm@muc.de>
30974         Allow for the :: operator in C++ "enum class" declarations.
30976         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
30977         "::".
30979 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
30981         Fix bug#25854
30983         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
30984         Simplify error handling for huge inodes.
30985         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
30987 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
30989         Avoid leaving garbage on screen when using 'raise' display property
30991         * src/xdisp.c (display_line): Reset voffset value of the iterator
30992         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
30993         which then leaves stuff on screen that needs to be cleared by
30994         redisplay.  (Bug#25855)
30996 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
30998         Fix doc strings in info.el
31000         * lisp/info.el (Info-selection-hook, Info-mode-hook)
31001         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
31003 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
31005         Fix doc string of 'posn-at-point'
31007         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
31008         (Bug#25796)
31010 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
31012         New option -u / --suppress-output to emacsclient
31014         * lib-src/emacsclient.c (print_help_and_exit, longopts)
31015         (decode_options, main): Implement new option --suppress-output / -u to
31016         suppress printing of eval-results.
31017         * doc/emacs/misc.texi (emacsclient Options): Document the new
31018         "--suppress-output/-u" options.
31019         * etc/NEWS: Mention the new options.
31021 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
31023         Fix scrolling with partial line corner case (Bug#25792)
31025         Also fix up the scrolling tests so that they don't make so many
31026         assumptions about the current window configuration.
31028         * src/xdisp.c (try_window): Take partial line height into account when
31029         comparing cursor position against scroll margin.
31031         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
31032         HEIGHT argument, to allow setting up window with exact height and
31033         partial line.
31034         (scroll-tests-display-buffer-with-height): New display-buffer action
31035         function.
31036         (scroll-tests-scroll-margin-over-max):
31037         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
31038         `scroll-tests--scroll-margin-whole-window'.
31039         (scroll-tests-conservative-show-trailing-whitespace): New test.
31040         (scroll-tests-scroll-margin-negative): Fix line counting.
31041         (scroll-tests--point-in-middle-of-window-p): Set window height
31042         properly.
31044 2017-02-25  Tom Tromey  <tom@tromey.com>
31046         Fix indentation error in js.el
31048         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
31049         call in condition-case.
31050         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
31051         test.
31053 2017-02-24  Tom Tromey  <tom@tromey.com>
31055         add "async" and "await" keywords
31057         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
31059 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31061         Use cl-print for Edebug and EIEIO
31063         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
31064         (edebug-prin1, edebug-print): Remove.
31066         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
31067         (cl-print-object): Add a method for EIEIO objects.
31068         (eieio-edebug-prin1-to-string): Delete.
31069         (edebug-prin1-to-string): Don't advise any more.
31071         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
31072         Replace `object-print' -> `cl-prin1-to-string'.
31074 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31076         Fix left over uses of `call-next-method'
31078         * lisp/cedet/semantic/db-global.el (object-print):
31079         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
31081 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31083         Minor redisplay optimizations
31085         * src/frame.c (Ficonify_frame): No need to redisplay everything.
31087         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
31088         (redisplay_internal): Use it to avoid redisplaying everything.
31089         (try_window_id): Use it keep the same behavior as before.
31091 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31093         * lisp/emacs-lisp/cl-print.el: New file
31095         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
31096         (advice--make-docstring): Use it.
31098         * src/print.c (print_number_index): Don't declare here any more.
31099         (Fprint_preprocess): New function.
31101         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
31103 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
31105         Make calc's least common multiple positive (bug#25255)
31107         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
31108         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
31110 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
31112         Documentation fix in elisp reference manual
31114         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
31115         on 'declare' forms (Bug#25846).
31117 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
31119         Support read syntax for circular objects in Edebug (Bug#23660)
31121         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
31122         for edebug-read-function. Handle the read syntax for circular
31123         objects.
31124         (edebug-read-objects): New variable.
31125         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
31127         * src/lread.c (Fsubstitute_object_in_subtree): Make
31128         substitute_object_in_subtree into a Lisp primitive.
31130 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
31132         Add Conference to the list of valid bibtex entry types
31134         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
31135         Add Conference as a duplicate of InProceedings.  (Bug#25143)
31137 2017-02-23  Glenn Morris  <rgm@gnu.org>
31139         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
31141 2017-02-23  Glenn Morris  <rgm@gnu.org>
31143         Small dunnet score file improvements
31145         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
31146         (dun-do-logfile): Handle non-existing score file.
31148 2017-02-23  Glenn Morris  <rgm@gnu.org>
31150         * lisp/play/dunnet.el (dun-help): Doc fix.
31152 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
31154         Declare dun-line and dun-line-list
31156         Previously, there were free variables 'line' and 'line-list'.
31157         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
31158         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
31159         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
31160         (dun-batch-unix-interface): Use them.
31162 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31164         Merge from gnulib
31166         This incorporates:
31167         2017-02-16 xbinary-io: rename from xsetmode
31168         2017-02-15 xsetmode: new module
31169         * lib-src/etags.c (main):
31170         * lib-src/hexl.c (main):
31171         * src/emacs.c (main) [MSDOS]:
31172         Prefer set_binary_mode to the obsolescent SET_BINARY.
31173         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
31175 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31177         hexl: handle large files and I/O errors
31179         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
31180         Do not include ctype.h, as the code no longer uses isdigit.
31181         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
31182         (DEFAULT_BASE, endian): Remove; was not really used.
31183         (usage): Remove; now done by ‘main’, as that’s simpler.
31184         (progname): Now static.
31185         (output_error, hexchar): New functions.
31186         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
31187         "-little-endian" options, as they did not work and were not used.
31188         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
31189         Use SET_BINARY only once on stdout.
31190         Do not assume file offsets fit in ‘long’.
31191         If an I/O error occurs, report it and exit with nonzero status.
31193 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
31195         Avoid quitting inside a critical section on MS-Windows
31197         * src/w32uniscribe.c (uniscribe_list_family):
31198         * src/w32font.c (w32font_list_family, w32font_text_extents)
31199         (w32font_list_internal, w32font_match_internal)
31200         (list_all_matching_fonts): Prevent quitting while these functions
31201         cons lists of fonts, to avoid leaving the critical section taken
31202         by the main thread, which will then cause any other thread
31203         attempting to enter the critical section to hang.  (Bug#25279)
31205 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
31207         Use revision-completion-table in vc-retrieve-tag
31209         * lisp/vc/vc.el (vc-retrieve-tag): Use the
31210         revision-completion-table command for completion (bug#25710).
31212 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
31214         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
31216         remove entries whose car can't be returned by type-of.
31217         (cl--generic-all-builtin-types): New var.
31218         (cl-generic-generalizers): Use it to avoid requiring
31219         extra entries in cl--generic-typeof-types.
31221 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
31223         Find macro binding for symbol-bound macros too (Bug#6848)
31225         There are 2 ways to bind a macro: with global-set-key or
31226         kmacro-bind-to-key.  The former binds a key to a symbol, while the
31227         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
31228         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
31229         case, but broke the symbol case.
31231         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
31232         MACRONAME.
31234 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
31236         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
31238 2017-02-22  Juri Linkov  <juri@linkov.net>
31240         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
31242 2017-02-22  Juri Linkov  <juri@linkov.net>
31244         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
31246         (isearch-lazy-highlight-update): Check it to decide whether to apply
31247         overlays only on the selected window.
31249         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
31250         (Bug#17453, bug#21092)
31252 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31254         Minor weak hash table performance tweaks
31256         * src/fns.c (make_hash_table): Omit unnecessary assignment to
31257         h->next_weak when the hash table is not weak.
31258         (copy_hash_table): Put the copy next to the original in the
31259         weak_hash_tables list, as this should have better locality
31260         when scanning the weak hash tables.
31262 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31264         Use float instead of Lisp_Object for rehash_size
31266         * src/alloc.c (purecopy_hash_table):
31267         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
31268         (Fhash_table_rehash_size):
31269         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
31270         The rehash_size member of struct Lisp_Hash_Table is now a
31271         float, not a Lisp_Object.
31272         * src/alloc.c (purecopy_hash_table): Assign members in order.
31273         * src/fns.c (make_hash_table): Use EMACS_INT for size and
31274         float for rehash_size, instead of Lisp_Object for both.
31275         All callers changed.
31276         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
31277         and 1 smaller.
31278         * src/print.c (print_object): Simplify by calling
31279         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
31280         Avoid unnecessary NILP.
31282 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31284         Use ptrdiff_t instead of Lisp_Object for collision
31286         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
31287         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
31288         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
31289         integer (or Qnil if empty).  All callers changed.
31290         (larger_vecalloc): New static function.
31291         (larger_vector): Use it.
31292         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
31293         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
31294         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
31295         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
31296         * src/profiler.c (evict_lower_half, record_backtrace):
31297         -1, not nil, is now the convention for end of collision list.
31298         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
31299         of the free list.  Reallocate H->next last, in case other
31300         reallocations exhaust memory.
31301         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
31302         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
31303         ‘index’, which no longer contain nil.
31304         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
31306 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31308         Hash table threshold is now float, not double
31310         Change default from 0.8 to 0.8125 so it fits in float without
31311         rounding glitches.
31312         * doc/lispref/hash.texi (Creating Hash):
31313         * doc/lispref/objects.texi (Hash Table Type):
31314         * etc/NEWS:
31315         Document change.
31316         * src/fns.c (make_hash_table, maybe_resize_hash_table)
31317         (Fmake_hash_table): Threshold is now float, not double.
31318         Be consistent about how this is rounded.
31319         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
31320         Change back to float, now that the other code rounds consistently.
31321         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
31323 2017-02-22  Juri Linkov  <juri@linkov.net>
31325         Avoid flicker in lazy-highlight by doing all updates without redisplay.
31327         * lisp/isearch.el (lazy-highlight-max-at-a-time):
31328         Change default value from 20 to nil to not trigger redisplay
31329         between updating iterations.
31330         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
31331         overlays when non-nil.
31332         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
31333         with non-nil second arg when the search string is not empty.
31334         Run timer with isearch-lazy-highlight-start instead of
31335         isearch-lazy-highlight-update.
31336         (isearch-lazy-highlight-start): New function. (Bug#25751)
31338 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
31340         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
31342         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
31344 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
31346         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
31348         which resulted in incomplete list of parents in one copy of the
31349         cl-structure-class class.
31351 2017-02-21  Glenn Morris  <rgm@gnu.org>
31353         Tweak recent custom-reevaluate-setting change
31355         * lisp/custom.el (custom-reevaluate-setting):
31356         Tweak previous change to avoid font-lock init issues.
31358 2017-02-21  Glenn Morris  <rgm@gnu.org>
31360         Ensure delayed-init custom variables get marked special
31362         * lisp/custom.el (custom-reevaluate-setting):
31363         If the variable has never been set, defvar it.  (Bug#25770)
31365 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
31367         Turn on lexical-binding in dunnet.el
31369         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
31370         byte compile warnings.
31372 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
31374         Make dunnet insertion functions n-ary
31376         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
31377         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
31378         any number of arguments.
31379         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
31380         (dun-take, dun-go, dun-move, dun-press, dun-score):
31381         (dun-compile-save-out, dun-do-logfile): Collect arguments from
31382         multiple insertion calls into less calls with more args.
31384 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
31386         message-goto-body-1: Fix regexp so as not to match multi-line
31388         * lisp/gnus/message.el (message-goto-body-1):
31389         Fix regexp so as not to match multi-line.
31391 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
31393         Simplify cl-get using `plist-member'
31395         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
31396         `plist-member' instead of explicit loop.
31397         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
31399 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31401         Verify xwidget USE_LSB_TAG assumption
31403         * src/xwidget.c (Fxwidget_webkit_execute_script):
31404         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
31406 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
31408         * src/insdel.c (make_gap): Improve comment.
31410 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
31412         Do not use switch-to-buffer for working in a temp buffer
31414         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
31415         cf. Bug#22244.
31416         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
31417         with-temp-buffer instead.
31419 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
31421         Make dun-room-shorts a defconst
31423         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
31424         initial value into the declaration.
31425         (dun-space-to-hyphen): Remove.
31427 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31429         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
31431         * src/xwidget.c (webkit_javascript_finished_cb)
31432         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
31433         integer.  This fix is just a hack; I’ll file a bug report about
31434         the underlying problem.
31436 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
31438         mm-decode.el: Simplify regexp used to search html meta tag
31440         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
31441         Simplify regexp used to search html meta tag.
31443 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
31445         mm-shr: Ignore coding-system `ascii'
31447         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
31449 2017-02-20  Tom Tromey  <tom@tromey.com>
31451         vc-log-outgoing fixes for git; add binding to vc-dir
31453         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
31454         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
31455         async execution.
31456         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
31457         log-incoming.
31458         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
31459         as remote-location argument.
31461 2017-02-20  Tom Tromey  <tom@tromey.com>
31463         Remove stale comments from vc-git and vc-hg
31465         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
31466         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
31468 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
31470         Remove member clone
31472         * lisp/play/dunnet.el (dun-answer): Use member instead.
31473         (dun-members): Remove.
31475 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
31477         Prefix global var
31479         * lisp/play/dunnet.el (room): Rename to dun-room.
31480         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
31481         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
31483 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
31485         Replace nested ifs with cond
31487         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
31488         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
31489         and cond where appropriate.
31490         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
31491         (dun-take): Use null and dun-mprincl.
31492         (dun-inven-weight, dun-load-d): Reformat.
31493         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
31495 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
31497         Fix glitches in recent hash table changes
31499         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
31500         by using 0 rather than -1.
31501         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
31502         than a bitfield, for speed (the bitfield did not save space).
31503         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
31504         float, since the float caused unwanted rounding errors, e.g.,
31505         (hash-table-rehash-threshold (make-hash-table)) yielded
31506         0.800000011920929 instead of the correct 0.8.
31508 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
31510         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
31512 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
31514         Avoid aborts during loadup
31516         * src/emacs-module.c (syms_of_module):
31517         * src/image.c (xpm_make_color_table_h): Update calls to
31518         make_hash_table to adjust to a recent change in fns.c.
31519         * src/fns.c (make_hash_table):
31520         * src/lisp.h (make_hash_table): 4th arg is now of type double.
31522 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
31524         Rework connection local variables
31526         For connection local variables interface, `class' is renamed
31527         to `profile'.  All arguments `criteria' are a plist now.
31529         * doc/lispref/variables.texi (Connection Local Variables):
31530         Rewrite.
31532         * lisp/files-x.el (connection-local-profile-alist): Rename
31533         from `connection-local-class-alist'.  Adapt docstring.
31534         (connection-local-criteria-alist): Adapt docstring.
31535         (connection-local-normalize-criteria): New defun.
31536         (connection-local-get-profiles): Rename from
31537         `connection-local-get-classes'.  Rewrite.
31538         (connection-local-set-profiles): Rename from
31539         `connection-local-set-classes'.  Rewrite.
31540         (connection-local-get-profile-variables): Rename from
31541         `connection-local-get-class-variables'.  Rewrite.
31542         (connection-local-set-profile-variables): Rename from
31543         `connection-local-set-class-variables'.  Rewrite.
31544         (hack-connection-local-variables)
31545         (hack-connection-local-variables-apply)): Rewrite.
31546         (with-connection-local-profiles): Rename from
31547         `ith-connection-local-classes'.  Rewrite.
31549         * lisp/net/tramp.el (tramp-set-connection-local-variables):
31550         Compute criteria.
31552         * lisp/net/tramp-cmds.el (tramp-bug):
31553         Use `connection-local-profile-alist'.
31555         * test/lisp/files-x-tests.el (files-x-test--variables1)
31556         (files-x-test--variables2, files-x-test--variables3)
31557         (files-x-test--variables4, files-x-test--criteria1)
31558         (files-x-test--criteria2): Make them a defconst.
31559         (files-x-test--application)
31560         (files-x-test--another-application, files-x-test--protocol)
31561         (files-x-test--user, files-x-test--machine): New defconst.
31562         (files-x-test--criteria): New defvar.
31563         (files-x-test--criteria3): Remove.
31564         (files-x-test-connection-local-set-profile-variables):
31565         Rename from `files-x-test-connection-local-set-class-variables'.
31566         Rewrite.
31567         (files-x-test-connection-local-set-profiles): Rename from
31568         `files-x-test-connection-local-set-classes'.  Rewrite.
31569         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
31570         (files-x-test-with-connection-local-profiles): Rename from
31571         `files-x-test-with-connection-local-classes'.  Rewrite.
31573 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
31575         Set up combination and random item location
31577         * lisp/play/dunnet.el (dun-combination): Make defconst.
31578         (tloc, tcomb): Remove.  Replace with a top-level form.
31580 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
31582         Replace movement variables with an alist and accessor
31584         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
31585         (northwest, southwest, up, down, in, out): Remove.
31586         (dun-movement-alist): New constant.
31587         (dun-movement): New function.
31588         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
31589         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
31590         (dun-move, dun-special-move): Translate movement symbol to an
31591         enumeration.
31593 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
31595         Change top-level setq forms to defvar or defconst
31597         Also collect some code onto fewer lines and reindent.
31598         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
31599         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
31600         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
31601         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
31602         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
31603         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
31604         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
31605         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
31606         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
31607         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
31608         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
31609         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
31610         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
31611         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
31612         declaration to use defvar or defconst.
31613         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
31614         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
31615         dun-verblist.  Those are now constants and the byte compiler doesn't
31616         allow defconsts in lambda lists.
31618 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
31620         Move all dunnet globals up to the top
31622         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
31623         (dun-visited, dun-current-room, dun-exitf):
31624         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
31625         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
31626         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
31627         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
31628         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
31629         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
31630         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
31631         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
31632         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
31633         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
31634         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
31635         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
31636         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
31637         top of the file, before any uses.
31639 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
31641         Fix bug#25788
31643         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
31644         Do not load tramp.el just for "/".  (Bug#25788)
31646 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31648         Fix fringe bitmap initialization on MS-Windows
31650         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
31651         of fb->bits.  (Bug#25673)
31653 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
31655         Change type of `rehash_threshold' and `pure' fields in hash-tables
31657         * src/lisp.h (struct Lisp_Hash_Table): Change type of
31658         `rehash_threshold' and `pure' fields and move them after `count'.
31659         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
31660         (Fmake_hash_table, Fhash_table_rehash_threshold):
31661         * src/category.c (hash_get_category_set):
31662         * src/xterm.c (syms_of_xterm):
31663         * src/profiler.c (make_log):
31664         * src/print.c (print_object):
31665         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
31667 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
31669         Use 'char *FOO' instead of 'char* FOO'
31671 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
31673         More json.el changes
31675         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
31676         (json-read-array): Just use = for char comparison.
31678 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
31680         * lisp/woman.el (woman): Fix docstring prefix arg description.
31682 2017-02-18  Alan Mackenzie  <acm@muc.de>
31684         Fix edebug-spec on c-lang-defvar.
31686         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
31687         optional documentation to be instrumented for edebug.
31689         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
31690         c-lang-defvar.
31691         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
31692         'dont-doc.
31694 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
31696         Lists used as plists now have to be an even length
31698         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
31699         (eww-process-text-input): Not here, either.
31701 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
31703         Unset `non-essential' in Tramp when not needed anymore
31705         * doc/misc/trampver.texi:
31706         * lisp/net/trampver.el: Change version to "2.3.2-pre".
31708         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
31709         Use `tramp-completion-mode-p'.
31711         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
31712         when file name doesn't match `tramp-completion-file-name-regexp'.
31714 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
31716         Automatically regenerate emacs.1 and *.rc files
31718         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
31719         non-Makefile files produced by config.status.
31720         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
31721         their targets are regenerated when the source changes.
31723 2017-02-18  Alan Mackenzie  <acm@muc.de>
31725         Set the syntax table in AWK Mode.
31727         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
31728         It fixes bug #25722.
31730         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
31732 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
31734         Mention "editor" in Emacs man page header
31736         * doc/man/emacs.1.in: Mention "editor" in the header line.
31737         (Bug#25771, Bug#25779)
31739 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
31741         Fix Turkish language environment setup
31743         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
31744         language setup.  (Bug#25763)
31746 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
31748         Support 24-bit direct colors on text terminals
31750         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
31751         foreground and background functions are present in terminal type
31752         definition.
31753         * src/tparam.h: Define prototype for tigetstr.
31755         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
31756         index to pixel value on 16.7M color terminals.
31757         (tty-color-24bit): New function to convert color palette index to
31758         pixel value on 16.7M color terminals.
31759         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
31760         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
31761         TTY colors on 16.7M color terminals.
31763         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
31764         enable direct color TTY mode.
31765         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
31767 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
31769         Remove unused TN_max_pairs field
31771         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
31772         describing maximum number of terminal background/foreground color pairs.
31773         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
31774         (init_tty): Remove references to TN_max_pairs.
31776 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
31778         Improve documentation of query-replace-from-to-separator
31780         * doc/emacs/search.texi (Query Replace): Document the meaning of
31781         the nil value of query-replace-from-to-separator.  (Bug#25482)
31783 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
31785         Document problems with nerd-fonts
31787         * etc/PROBLEMS (fonts): Describe the potential problems with
31788         nerd-fonts that cause slow display.  (Bug#25697)
31790 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
31792         Improve commentary for a recent change in keyboard.c
31794         * src/keyboard.c (Fset__this_command_keys): Add a comment about
31795         the magic 248 value.  (Bug#25612)
31797 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
31799         Avoid infloop in rect.el
31801         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
31802         with argument N whose absolute value is greater than 1.  (Bug#25773)
31804 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
31806         Remove annoying warnings about let-binding
31808         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
31809         Remove warnings about making symbols local while let-bound.
31810         (Bug#25561)
31812 2017-02-18  Hong Xu  <hong@topbug.net>
31814         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
31816         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
31817         functionp instead of fboundp on
31818         flyspell-generic-check-word-predicate (Bug#25765).
31820 2017-02-18  Glenn Morris  <rgm@gnu.org>
31822         Remove the build number from emacs-version variable
31824         It's a largely internal detail that can confuse users.  (Bug#25590)
31825         * lisp/version.el (emacs-build-number): New constant.
31826         (emacs-version): Use emacs-build-number.
31827         * lisp/loadup.el (top-level): When dumping, increment
31828         emacs-build-number rather than emacs-version.
31829         * src/emacs.c (emacs-version): Doc fix.
31830         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
31831         Mention emacs-build-number.
31832         * lisp/gnus/gnus-util.el (gnus-emacs-version):
31833         * lisp/mail/emacsbug.el (report-emacs-bug):
31834         * admin/admin.el (set-version): Update for emacs-version change.
31836 2017-02-18  Glenn Morris  <rgm@gnu.org>
31838         Ensure that user-mail-address always has a value
31840         * lisp/startup.el (user-mail-address): Initialize in the normal way.
31841         (command-line): Reset user-mail-address if needed using
31842         standard custom machinery.
31843         * lisp/mail/feedmail.el (feedmail-fiddle-from):
31844         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
31845         * lisp/mail/rmailsum.el (rmail-header-summary):
31846         Simplify now that user-mail-address is always set.
31848 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
31850         Turn on lexical-binding in ruby-mode
31852         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
31853         (ruby-font-lock-syntax-table): Use make-syntax-table.
31854         (ruby-mode): 'define-derived-mode' writes the keys for us.
31856 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
31858         Turn on lexical-binding in elint.el
31860         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
31861         (elint-running, elint-current-pos): Move these dynamic vars to toward
31862         the top of the file.
31863         (elint-check-quote-form): Ignore unused argument.
31864         (elint-check-conditional-form): Remove unused binding.
31866 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
31868         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
31870 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
31872         Enable erc-accidental-paste-threshold-seconds by default
31874         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
31875         default to 0.2 (Bug#25709).
31877 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
31879         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
31881         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
31882         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
31883         one created with ‘make extraclean’), see
31884         <http://hydra.nixos.org/build/48774928>.
31886         The failure was caused by characters.el trying to read Unicode
31887         property tables which aren’t available so early in the build process.
31889         Wrap the part that requires Unicode property tables in a condition
31890         checking if those are available.  If they aren’t they case and syntax
31891         tables won’t be fully set but later on, the characters.el file will be
31892         evaluated again and this time with Unicode properties available so
31893         final Emacs ends up with the exact same case and syntax tables.
31895 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
31897         mm-add-meta-html-tag: Improve regexp
31899         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
31900         Improve regexp to search html meta tag.
31902 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
31904         mm-shr: Prefer charset specified in html meta tag
31906         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
31907         meta tag than mail-parse-charset in the case there is no charset spec
31908         in MIME header.
31910 2017-02-17  Glenn Morris  <rgm@gnu.org>
31912         Stop duplicating some custom-types in message.el
31914         * lisp/gnus/message.el (user-mail-address, user-full-name):
31915         No need to re-specify custom-type.
31917 2017-02-17  Glenn Morris  <rgm@gnu.org>
31919         Whitespace trivia in dunnet.el
31921         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
31922         (dun-rlogin-endgame): Whitespace trivia.
31924 2017-02-17  Glenn Morris  <rgm@gnu.org>
31926         Explicit error on changing case of negative integers
31928         * src/casefiddle.c (casify_object): Reject negative integers:
31929         Emacs characters are positive integers.  (Bug#25684)
31931 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
31933         Fix buffers update in vc-retrieve-tag
31935         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
31936         `repository', use the repository root and pass it to
31937         vc-resynch-buffer (bug#25714).
31939 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31941         * src/buffer.h: Fix indenting.
31943 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31945         Add sanity checks for Bswitch hash tables
31947         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
31948         Check that operand is a hash table and hashes to ints.
31950 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31952         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
31954 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
31956         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
31958         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
31959           redundant operations while calculating the correct jump addresses
31960           from TAGs in jump tables.
31962 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
31964         Minor changes in json.el
31966         * lisp/json.el (json-advance): Simpler docstring.
31967         (json-read-escaped-char): Use xdigit subform in rx expression.
31968         (json-read-string): Just use = for char comparison.
31970 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
31972         Don't expand body inside a let-binding when there are no bindings
31974         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
31975         is non-nil.
31977 2017-02-16  Glenn Morris  <rgm@gnu.org>
31979         Handle user-mail-address being the empty string
31981         * lisp/mail/feedmail.el (feedmail-fiddle-from):
31982         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
31983         * lisp/mail/rmailsum.el (rmail-header-summary):
31984         Belated update for 2002-09-29 startup.el change, 680ebfa, where
31985         the value of user-mail-address during initialization was changed
31986         from nil to the empty string.
31988 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
31990         Continue to fix bug#25607
31992         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
31993         (ido-file-name-all-completions-1): Do not bind `non-essential'.
31995         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
31996         Improve autoloaded version.
31997         (tramp-completion-file-name-handler): Remove old compat code.
31998         Check only for `tramp-completion-mode-p'.
31999         (tramp-completion-mode-p): Autoload.  Do not check any longer
32000         for `last-input-event'.
32001         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
32003 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
32005         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
32007         A compatibility digraph characters, such as Dž, are neither upper- nor
32008         lower-case.  At the moment however, those are reported as upper-case¹
32009         despite the fact that they change when upper-cased.
32011         Stop checking if a character is upper-case before trying to up-case it
32012         so that title-case characters are handled correctly.  This fixes one of
32013         the issues mentioned in bug#24603.
32015         ¹ Because they change when converted to lower-case.  Notice an asymmetry
32016           in that for a character to be considered lower-case it must not be
32017           upper-case (plus the usual condition of changing when upper-cased).
32019         * src/buffer.h (upcase1): Delete.
32020         (upcase): Change to upcase character unconditionally just like downcase
32021         does it.  This is what upcase1 was.
32023         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
32024         of upcase1 and don’t check !uppercasep(x) before calling upcase.
32026         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
32027         downcase(x) and see if it changed.
32029         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
32030         casefiddle-tests-casing): Update test cases which are now passing.
32032 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
32034         Generate upcase and downcase tables from Unicode data  (bug#24603)
32036         Use Unicode data to generate case tables instead of mostly repeating
32037         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
32038         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
32040         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
32041         changes to syntax table and case tables introduced by this commit.
32043         * lisp/international/characters.el: Remove case-pairs defined with
32044         explicit Lisp code and instead use Unicode character properties.
32046         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
32047         casefiddle-tests-casing): Update test cases which are now working
32048         as they should.
32050 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
32052         Add tests for casefiddle.c  (bug#24603)
32054         Fixes cases marked FIXME upcoming in followup commits.
32056         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
32057         casefiddle-tests-case-table, casefiddle-tests-casing-character,
32058         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
32059         casefiddle-tests-casing-byte8-with-changes): New tests.
32060         (casefiddle-tests--test-casing): New helper function for runnig
32061         some of the tests.
32063 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
32065         oldXMenu: add missing #include <string.h>
32067         Some of the files in oldXMenu use functions from string.h without
32068         including that header which results in compile warnings:
32070                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
32071                 ChgPane.c:46:20: warning: incompatible implicit declaration of
32072                         built-in function ‘strlen’
32073                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
32074                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
32075                         function ‘strlen’
32076                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
32077                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
32078                 InsPane.c:65:20: warning: incompatible implicit declaration of
32079                         built-in function ‘strlen’
32080                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
32081                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
32082                         function ‘strlen’
32083                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
32085         Add the necessary ‘#include <string.h>’.
32087         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
32088         oldXMenu/InsSel.c: add missing #include <string.h>
32090 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
32092         Fixup recent rmail patch
32094         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
32096 2017-02-15  Richard Stallman  <rms@gnu.org>
32098         Rmail fix
32100         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
32101         as element 4 of the value.
32102         (rmail-epa-decrypt): Take the text to insert from that element.
32104 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
32106         bytecomp-tests.el: Store all test forms in one constant.
32108         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
32109         in a single constant (byte-opt-testsuite-arith-data), add new forms
32110         which generate lapcode with adjacent/redundant tags.
32112 2017-02-15  Glenn Morris  <rgm@gnu.org>
32114         Small lispref edit
32116         * doc/lispref/os.texi (User Identification):
32117         Remove extraneous detail about user-mail-address.
32119 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
32121         Document fill-separate-heterogeneous-words-with-space (bug#25685)
32123         * doc/lispref/text.texi (Filling):
32124         Document fill-separate-heterogeneous-words-with-space (bug#25685).
32126 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
32128         Test comment-multi-line = nil auto fill case too
32130         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
32131         `comment-multi-line' both nil and non-nil.
32132         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
32133         boolean.
32134         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
32136 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
32138         Don't delete leading and trailing space from CJK word (bug#25685)
32140         * lisp/textmodes/fill.el (fill-delete-newlines):
32141         Don't delete leading and trailing space from CJK word.
32142         (fill-separate-heterogeneous-words-with-space):
32143         New user option that controls it (bug#25685).
32145 2017-02-15  Juri Linkov  <juri@linkov.net>
32147         ‘M-s w RET word C-s’ repeats incremental search.
32149         * lisp/isearch.el (isearch-new-nonincremental): New variable.
32150         (with-isearch-suspended): Bind isearch-new-nonincremental to
32151         isearch-nonincremental, and restore it afterwards.
32152         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
32153         Set isearch-new-nonincremental to nil.  (Bug#25562)
32155 2017-02-14  Tom Tromey  <tom@tromey.com>
32157         Make vc-git detect conflict state for vc-dir
32159         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
32160         (vc-git-dir-status-update-file): New function.
32161         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
32162         vc-git-dir-status-state; add 'ls-files-conflict state.
32163         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
32165 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
32167         byte-opt: Replace merged tags in jump tables too. (bug#25716)
32169         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
32170           adjacent tags, make sure that the old tag is replaced in all jump
32171           tables, if any. This fixes the bytecode VM jumping to the wrong
32172           address in compiled cond forms where the body of a clause was a loop
32173           of any sort.
32175 2017-02-14  Glenn Morris  <rgm@gnu.org>
32177         Remove overly broad element from default mail-dont-reply-to-names
32179         * lisp/mail/mail-utils.el (mail-dont-reply-to):
32180         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
32181         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
32182         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
32183         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
32185 2017-02-14  Juri Linkov  <juri@linkov.net>
32187         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
32189 2017-02-13  Arash Esbati  <arash@gnu.org>
32191         Match all characters in optional argument of \documentclass
32193         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
32194         characters in optional argument containing name of the main file.
32196 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
32198         Merge branch 'master' into feature/byte-switch
32200 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
32202         Fix non-ASCII text encoding (bug#25658)
32204         * lisp/gnus/mm-bodies.el (mm-encode-body):
32205         Fix non-ASCII text encoding (bug#25658).
32207 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
32209         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
32211 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
32213         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
32215 2017-02-13  Glenn Morris  <rgm@gnu.org>
32217         Fix recent bootstrap issue by moving string-to-list
32219         * lisp/international/mule-util.el (string-to-list, string-to-vector):
32220         Move from here...
32221         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
32222         The implementation is trivial and at least string-to-list
32223         has ended up being needed early during bootstrap.
32225 2017-02-13  Glenn Morris  <rgm@gnu.org>
32227         Doc fixes related to mail-host-address
32229         * lisp/startup.el (mail-host-address): Doc fix.
32230         * doc/lispref/os.texi (System Environment):
32231         Remove extraneous details of mail-host-address.
32233 2017-02-13  Glenn Morris  <rgm@gnu.org>
32235         Simplify time-stamp mail host usage
32237         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
32238         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
32240 2017-02-13  Glenn Morris  <rgm@gnu.org>
32242         Doc fix for vhdl-mode re mail-host-address
32244         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
32245         (mail-host-address): Do not add to vhdl-related custom group,
32246         since vhdl-template-replace-header-keywords doesn't use it.
32248 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
32250         Substitute leading $HOME/ in xdg-user-dirs
32252         * lisp/xdg.el (xdg--substitute-home-env): New function.
32253         (xdg--user-dirs-parse-line): Use it.
32254         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
32256 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
32258         * lisp/buff-menu.el: Turn on lexical-binding.
32260 2017-02-13  Juri Linkov  <juri@linkov.net>
32262         * lisp/replace.el (query-replace-from-to-separator): Move propertize
32264         and char-displayable-p test to query-replace-read-from.
32265         Add choice nil to disable this feature.
32266         (query-replace-read-from): Don't reevaluate custom setting.
32267         Use char-displayable-p to test the first non-whitespace character
32268         in query-replace-from-to-separator, use " -> " when fails.
32269         Add prompt for the case when separator is nil but
32270         query-replace-defaults is non-nil.
32271         Remove unused test for regexp-flag.
32272         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
32274 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
32276         Convert more uses of `looking-at' to `following-char'
32278         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
32279         (commit 91478f46238a) with more of the same.
32281         * lisp/bookmark.el (bookmark-send-edited-annotation):
32282           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
32283           with char comparisons using following-char.
32285 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
32287         Fix typos in tests for lax-plist-get etc.
32289         Problem reported by Eli Zaretskii (Bug#25606#62).
32290         * test/src/fns-tests.el (test-cycle-lax-plist-get)
32291         (test-cycle-plist-put, test-cycle-lax-plist-put):
32292         Fix tests to match behavior.
32294 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
32296         Fix bug#25607
32298         * lisp/net/tramp.el (tramp-completion-file-name-handler):
32299         Improve autoloaded version.
32300         (tramp-autoload-file-name-handler): Avoid recursive load.
32301         (tramp-completion-handle-expand-file-name): Handle empty NAME.
32302         (Bug#25607)
32304 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
32306         Remove server-buffer-clients string from minor-mode-alist
32308         * lisp/server.el: Don't put an element for server-buffer-clients into
32309         minor-mode-alist. (Bug#20201)
32311 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
32313         Nix some useless uses of looking-at, looking-back
32315         * lisp/allout.el (allout-kill-topic):
32316         (allout-next-topic-pending-encryption):
32317         * lisp/bookmark.el (bookmark-kill-line):
32318         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
32319         * lisp/cus-theme.el (custom-theme-write-variables):
32320         (custom-theme-write-faces):
32321         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
32322         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
32323         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
32324         (checkdoc-interactive-ispell-loop):
32325         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
32326         (checkdoc-this-string-valid-engine):
32327         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
32328         * lisp/emulation/viper-cmd.el (viper-backward-indent):
32329         * lisp/image-dired.el (image-dired-delete-char):
32330         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
32331         looking-back with char comparisons using following-char, preceding-char.
32333 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
32335         Clarify what is the "cursor"
32337         * doc/lispref/windows.texi (Window Point): Clarify the notion of
32338         "cursor".
32340 2017-02-11  Tom Tromey  <tom@tromey.com>
32342         Recognize JS regexp literals more correctly
32344         Bug#25529
32345         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
32346         constant.
32347         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
32348         (js--syntax-propertize-regexp-syntax-table): Remove.
32349         (js-syntax-propertize): Update.
32350         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
32351         New test.
32353 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
32355         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
32357         This avoids using XUINT every time while comparing it with
32358         HASH_HASH (h, i), replacing it with EQ.
32360 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
32362         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
32364 2017-02-11  Tom Tromey  <tom@tromey.com>
32366         Fix bug in css--mdn-find-symbol
32368         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
32369         before skipping word characters.
32370         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
32371         regression test.
32373 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
32375         src/bytecode.c: Add optional sanity check for jump tables.
32377         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
32378           check that the jump table's size is equal to it's count.
32380 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
32382         Merge branch 'master' into feature/byte-switch
32384         * src/bytecode.c: Refactor to follow GNU coding standards
32386 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
32388         Fix handling of XBM images on MS-Windows
32390         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
32391         'nbytes' when inverting XBM data bits.  (Bug#25661)
32393 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
32395         Fix handling of PBM data
32397         * src/image.c (pbm_load): Handle PBM data with no blanks between
32398         individual pixel values correctly.  (Bug#25660)
32400 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
32402         Fix warnings in debug tracing code
32404         * src/xdisp.c (dump_glyph, dump_glyph_string):
32405         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
32406         specifiers to match signedness.
32408 2017-02-10  Sam Steingold  <sds@gnu.org>
32410         Extract grep-find-ignored-directories processing from rgrep-default-command
32412         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
32413         Some Emacs packages use `grep-find-ignored-directories' to ignore some
32414         directories, so will use this function instead of custom code.
32415         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
32417 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
32419         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
32421         * src/bytecode.c: (exec_byte_code) While linear searching the jump
32422           table, compare the value's hash table first to avoid calling
32423           h->test.cmpfn every time.
32425 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
32427         Fix a few integer-overflow glitches
32429         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
32430         * src/dispextern.h (struct composition_it.rule_idx):
32431         * src/keyboard.c (Fset__this_command_keys):
32432         * src/xwidget.c (webkit_js_to_lisp):
32433         Don’t assume object sizes fit in ‘int’.
32434         * src/xwidget.c (Fxwidget_resize):
32435         Don’t assume Emacs integers fit in ‘int’.
32437 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
32439         Fix a bug with displaying an image after a TAB
32441         * src/xdisp.c (display_line): Handle TAB at end of screen line
32442         specially only when we are displaying characters.  (Bug#25662)
32444 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
32446         Improve commentary in lisp.h
32448         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
32449         object is discouraged.
32451 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
32453         Move cyclic tests to fns-tests.el
32455         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
32456         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
32457         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
32458         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
32459         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
32460         (test-cycle-plist-get, test-cycle-lax-plist-get)
32461         (test-cycle-plist-member, test-cycle-plist-put)
32462         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
32463         New tests.
32464         * test/manual/cyclic-tests.el: File deleted.
32466 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
32468         Fix instrumenting code with propertized strings in Edebug
32470         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
32471         'read' to decide what is and isn't a syntax error.  (Bug#25068)
32473 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
32475         Improve fontification in bat-mode
32477         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
32478         word and symbol constituents when looking for variable names
32479         to fontify; also, correct the syntax table and mark the equal
32480         sign (=) character as punctuation.  Improve fontification
32481         accuracy of iteration/positional variables.
32482         (bat-mode): Set comment-start-skip.  (Bug#25541)
32484         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
32485         bat-mode.el.
32487 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
32489         Restore special setting of this-command-keys by M-x
32491         It was lost when execute-extended-command was reimplemented in Lisp.
32493         * src/keyboard.c (Fset__this_command_keys): New function.
32494         (syms_of_keyboard): Defsubr it.
32496         * lisp/simple.el (execute-extended-command): Set this-command-keys
32497         as novice.el expects.  (Bug#25612)
32499 2017-02-09  Juri Linkov  <juri@linkov.net>
32501         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
32503         to t to display "Pending" in the search prompt for lax
32504         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
32505         when 'bound' is non-nil.
32506         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
32507         at the beginning of regexp (bug#22589).
32509         * lisp/info.el (Info-isearch-search):
32510         Use isearch--lax-regexp-function-p.
32512         * doc/emacs/search.texi (Word Search, Symbol Search):
32513         Mention "Pending" prompt for lax word/symbol search.
32515 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
32517         src/bytecode.c (exec_byte_code): Remove unneeded assert.
32519         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
32521 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
32523         bytecode.c (exec_byte_code): don't check hash code in linear search.
32525         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
32526           not nil when linear scanning the jump table. Hash tables for are
32527           declared with :size as the exact number of cases, so each entry i
32528           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
32529           check.
32531 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
32533         Ibuffer: Update mode documentation
32535         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
32537 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
32539         Fix environment variable for xdg-data-dirs
32541         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
32543 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
32545         Ibuffer: Erase output buffer before shell commands
32547         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
32548         BEFORE and AFTER; they are forms to run before/after the operation.
32549         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
32550         New defun; if shell-command-dont-erase-buffer is nil, then
32551         erase shell command output buffer.
32552         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
32554 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
32556         Ibuffer: Don't truncate shell command output
32558         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
32559         (ibuffer-do-shell-command-pipe-replace)
32560         Use 'call-shell-region' (Bug#22679).
32561         (ibuffer-do-shell-command-file): Use call-process-shell-command.
32562         If FILE, the file that the buffer object is visiting,
32563         exists and the buffer is up-to-date, then use
32564         FILE instead of creating a temporary file (Bug#22679).
32566 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
32568         Improve byte-switch execution.
32570         * lisp/emacs-lisp/byte-opt.el,
32571           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
32572           (byte-compile-lapcode): Calculate the actual jump address while
32573           compiling, store it in the jump table.
32575         * src/bytecode.c: Jump to the looked up value directly, do a linear
32576           search when the number of elements is <= 5.
32578 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
32580         Make sure eshell pipelines don't drop data
32582         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
32583         handling output of the process, make sure to close the pipes only later,
32584         so that the next process in the pipeline recieves EOF only after getting
32585         all its input (Bug#25549).
32587 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
32589         Make mm-shr use mail-parse-charset by default
32591         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
32592         This helps an html message with no charset spec to be decoded.
32594 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
32596         describe-char: unambiguous name for inserting ASCII 7
32598         * lisp/descr-text.el (describe-char): Make the input
32599         suggestion for inserting ASCII character 7 by name use the
32600         unambiguous name "BELL (BEL)" (bug#25641).
32602 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
32604         Modify suppressing `vc-refresh-state' in filenotify-tests.el
32606         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
32607         Use an advice rather than an alias for suppressing `vc-refresh-state'.
32609 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
32611         Disable native completion for ipython (Bug#25067)
32613         * lisp/progmodes/python.el:
32614         (python-shell-completion-native-disabled-interpreters): Add "ipython".
32616 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
32618         Suppress undesired error messages in filenotify-tests.el
32620         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
32621         Suppress `vc-refresh-state', it produces undesired error messages.
32623 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
32625         Fix a typo in ada-mode manual
32627         * doc/misc/ada-mode.texi (Project file variables): Add a missing
32628         right bracket.  Reported by Jean-Christophe Helary
32629         <jean.christophe.helary@gmail.com>.
32631 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
32633         Ensure that Gnus bugs show up in the Emacs tracker
32635         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
32636         package spec.
32638 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
32640         Revert "Don't tag Gnus bugs with "gnus""
32642         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
32644         The debbugs syntax requires a package name
32646 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
32648         Add tests for checking byte-switch code.
32650         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
32651           test byte-switch bytecode.
32653 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
32655         Add xdg library
32657         * etc/NEWS: Mention new library.
32658         * lisp/xdg.el: New file.
32660 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
32662         Do not trick info/dir’s timestamp
32664         * Makefile.in (${srcdir}/info/dir): When making this file, do not
32665         do anything special about its timestamp.  Previously this rule
32666         used move-if-change, which meant that this file’s timestamp could
32667         end up being older than the files it depends on, and this caused
32668         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
32669         now that ‘make-dist’ invokes ‘make --question info’.
32671 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
32673         Make FOR_EACH_TAIL more like other FOR_EACH macros
32675         See comments by Stefan Monnier in:
32676         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
32677         and by Eli Zaretskii in:
32678         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
32679         * src/fns.c (internal_equal): Do not bypass check for depth
32680         overflow when tail-recursing via a dotted list tail or an overlay
32681         plist, to avoid a rare infloop.
32682         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
32683         arg, and update it at each iteration, rather than have callers
32684         access it.tail.  All callers changed.
32685         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
32686         the caller’s responsibility.  All callers changed.
32687         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
32688         (struct for_each_tail_internal.tail): Remove; no longer needed.
32689         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
32690         arg each time through the loop.  All callers changed.
32692 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
32694         Port to clang 3.8.0
32696         It does not allow a for-loop's control var to be an anonymous struct.
32697         * src/lisp.h (struct for_each_tail_internal): New type.
32698         (FOR_EACH_TAIL_INTERNAL): Use it.
32700 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
32702         Add cyclic-list tests
32704         * test/manual/cycle-tests.el: New file (Bug#25606).
32706 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
32708         FOR_EACH_TAIL now checks for quit
32710         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
32711         maybe_quit are unnecessary in practice, Eli was not convinced
32712         that the calls are unnecessary.
32713         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
32714         Call maybe_quit every so often.
32715         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
32717 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
32719         Signal list cycles in ‘length’ etc.
32721         Use macros like FOR_EACH_TAIL instead of maybe_quit to
32722         catch list cycles automatically instead of relying on the
32723         user becoming impatient and typing C-g (Bug#25606).
32724         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
32725         (Frassoc, Fdelete, Freverse):
32726         Use FOR_EACH_TAIL instead of maybe_quit.
32727         (Fnreverse): Use simple EQ to check for circular list instead
32728         of rarely_quit, as this suffices in this unusual case.
32729         (Fplist_put, Flax_plist_put, Flax_plist_put):
32730         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
32731         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
32732         of by-hand tail recursion that did not catch cycles.
32733         * src/fns.c (Fsafe_length, Fplist_get):
32734         * src/xdisp.c (display_mode_element):
32735         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
32736         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
32737         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
32738         fancier versions are no longer needed.
32739         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
32740         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
32741         mostly taken from FOR_EACH_TAIL.
32742         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
32744 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
32746         Simplify use of FOR_EACH_TAIL
32748         * src/data.c (circular_list): New function.
32749         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
32750         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
32751         to speed things up a bit on typical hosts with optimization.
32752         All uses changed (Bug#25605).
32754 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
32756         * lisp/textmodes/css-mode.el: Require subr-x at compile time
32758 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
32760         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
32762         * doc/lispref/nonascii.texi (Text Representations): Clarify that
32763         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
32764         'filepos-to-bufferpos' can lead to expensive and slow processing.
32766         * lisp/international/mule-util.el (filepos-to-bufferpos)
32767         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
32769 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
32771         Merge remote-tracking branch 'origin/master' into feature/byte-switch
32773 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
32775         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
32777         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
32778           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
32779           make sure that obj1/obj2 can be compared with `eq'.
32781 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
32783         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
32785 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
32787         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
32789         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
32790           Restore value of byte-compile-depth after emitting a jump to a tag
32791           in a jump table, or default/done tags.
32792           Set the depth of final tags for byte-switch to nil after emitting
32793           any jumps to them.
32795 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
32797         byte-opt.el: Replace jump tables while decompiling correctly.
32799         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
32800           Don't make a copy of the constant vector, as it isn't used with
32801           the decompiled lapcode.
32802           Make sure that the correct lapcode pair/list is being modified while
32803           replacing the jump table.
32805 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
32807         bytecomp.el: Don't store non-keyword symbols in jump-tables.
32809         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
32810           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
32811           table can only be used when comparing variables with constant values.
32813 2017-02-04  Tom Tromey  <tom@tromey.com>
32815         typo fix
32817         (css--colon-inside-selector-p): Fix typo in docstring.
32819 2017-02-04  Tom Tromey  <tom@tromey.com>
32821         Set comment-multi-line in js-mode
32823         Bug#6806:
32824         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
32825         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
32827 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
32829         * test/manual/indent/scss-mode.scss: Fix indentation
32831 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
32833         Fix indentation of multiline CSS property values
32835         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
32836         to properties higher precedence.
32837         (css--colon-inside-selector-p, css--colon-inside-funcall): New
32838         functions for helping SMIE during tokenization.
32839         (css-smie--forward-token, css-smie--backward-token): Distinguish
32840         colons belonging to properties from other colons.
32842         * test/manual/indent/css-mode.css: Add tests for the changes above.
32844         * test/manual/indent/scss-mode.scss: Ditto.
32846 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
32848         Add tests for lisp/kmacro.el
32850         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
32852 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
32854         Fix autorevert-tests on MS-Windows
32856         * test/lisp/autorevert-tests.el
32857         (auto-revert-test02-auto-revert-deleted-file): Don't check that
32858         auto-revert-use-notify was reset to nil on w32.
32860 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
32862         New macro 'ert-with-message-capture'
32864         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
32865         (Bug#25158)
32867         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
32868         (auto-revert-test00-auto-revert-mode)
32869         (auto-revert-test01-auto-revert-several-files)
32870         (auto-revert-test02-auto-revert-deleted-file)
32871         (auto-revert-test03-auto-revert-tail-mode)
32872         (auto-revert-test04-auto-revert-mode-dired):
32873         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
32874         ert-with-message-capture.
32876 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
32878         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
32880         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
32881         'declare' form.  (Bug#24722)
32883 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
32885         Fix a syntax error when evaluating pcase.el under Edebug
32887         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
32888         with an explicit 'put' form.  Suggested by Gemini Lasswell
32889         <gazally@runbox.com>.  (Bug#24717)
32891 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
32892             Eli Zaretskii  <eliz@gnu.org>
32894         Change edebug-max-depth from defconst to defcustom
32896         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
32897         (Bug#24713)
32899         * etc/NEWS: Mention edebug-max-depth.
32901         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
32902         edebug-max-depth and index it.  Add cross-references for
32903         max-lisp-eval-depth and max-specpdl-size.
32905 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
32907         Support options with embedded whitespace in 'dired-listing-switches'
32909         * lisp/dired.el (dired-listing-switches): Document how to quote
32910         options with embedded whitespace.
32912         * lisp/files.el (insert-directory): Use split-string-and-unquote
32913         to support dired-listing-switches that specify command-line
32914         options with embedded spaces.  (Bug#25485)
32916 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
32917             Noam Postavsky  <npostavs@users.sourceforge.net>
32919         Add tests for lisp/emacs-lisp/testcover.el
32921         * test/lisp/emacs-lisp/testcover-tests.el: New file.
32922         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
32924 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
32926         Document 'save-some-buffers-default-predicate'
32928         * doc/lispref/files.texi (Saving Buffers):
32929         * doc/emacs/files.texi (Save Commands): Document
32930         save-some-buffers-default-predicate.
32932 2017-02-04  Richard Stallman  <rms@gnu.org>
32934         New defcustom 'save-some-buffers-default-predicate'
32936         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
32937         (save-some-buffers): Use it when PRED is nil or omitted.
32939 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
32941         Rename to if-let* and when-let*
32943         Make the existing if-let and when-let aliases.
32944         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
32945         docstrings, incorporating that from let* and the existing if-let.
32946         (if-let, when-let, and-let*): Alias them.
32948 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
32950         Revert "Use maphash instead of cl-loop."
32952         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
32954 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
32956         Bump Emacs version to 25.2 RC1
32958         * README:
32959         * configure.ac:
32960         * msdos/sed2v2.inp:
32961         * nt/README.W32: Bump Emacs version.
32962         * lisp/ldefs-boot.el: Update.
32964 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
32966         * admin/make-tarball.txt: Add documentation regarding the release banner.
32968 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
32970         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
32972 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
32974         Re-port alloc.c to Solaris sparc and simplify
32976         alloc.c had bitrotted a bit, and used an undefined symbol
32977         stack_base when Emacs was built on Solaris sparc, leading to
32978         compilation failures.  Also, code related to __builtin_unwind_init
32979         was unnecessarily duplicated.  Fix the bitrot and remove some
32980         duplication.
32981         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
32982         is never defined.
32983         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
32984         Define a no-op dummy, to simplify use.
32985         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
32986         than in the caller, to simplify use.
32987         (stacktop_sentry): New type.
32988         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
32989         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
32990         (flush_stack_call_func, Fgarbage_collect): Use it.
32991         (init_alloc): Omit unnecessary initialization.
32992         After dumping, Emacs need not re-test setjmp.
32994 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
32996         Add tests for scrolling
32998         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
33000 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
33002         Fix scrolling with partial lines
33004         * src/xdisp.c (partial_line_height): New function.
33005         (try_scrolling):
33006         * src/window.c (window_scroll_pixel_based): Use it for calculating the
33007         pixel scroll margin correctly in a window with partial lines.
33009 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
33011         Make limit on scroll-margin variable
33013         * src/xdisp.c (maximum-scroll-margin): New variable.
33014         * lisp/cus-start.el: Make it customizable.
33015         * etc/NEWS: Mention it.
33016         * doc/emacs/display.texi (Auto Scrolling):
33017         * doc/lispref/windows.texi (Textual Scrolling): Document it.
33018         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
33019         division by 4 (Bug #5718).
33021 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
33023         Don't count mode line for scroll-margin limit
33025         * src/window.c (window_scroll_margin): Use window_box_height to avoid
33026         counting header line, scrollbars for scroll-margin limit (Bug #5718).
33028 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
33030         Refactor uses of scroll_margin to a function
33032         Its effective range needs to be clamped between 0 and (window height /
33033         4), so it's better to have this constraint in a single place.
33035         * src/window.c (window_scroll_margin): New function.
33036         (window_scroll_pixel_based, window_scroll_line_based):
33037         (Frecenter, Fmove_to_window_line):
33038         * src/xdisp.c (try_scrolling, try_cursor_movement):
33039         (redisplay_window, try_window, try_window_id): Use it.
33041 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
33043         (xref-collect-matches): Use '-E' together with '-e'
33045         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
33046         together with '-e', as suggested by Noam Postavsky
33047         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
33049 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
33051         Pacify Oracle Studio 12.5
33053         * src/emacs.c (main): Do not silently convert char * to bool.
33055 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
33057         Fix lisp.h underparenthesization
33059         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
33060         Parenthesize compound literals that are function call args.
33061         Although this does not fix any bugs, it is the proper style for
33062         macro parenthesization as it means this code will continue to
33063         work even if make_lisp_ptr is changed to a macro.
33065 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33067         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
33069         (doc-view-revert-buffer): Silence overflow warnings.
33071 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
33073         Merge from gnulib
33075         2017-01-30 Port to PGI 16.10 x86-64
33076         2017-01-20 time_rz: fix comment typo
33077         2017-01-14 strftime: %z is -00 if unknown
33078         This incorporates:
33079         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
33080         * lib/time-internal.h, lib/verify.h:
33081         Copy from gnulib.
33083 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
33085         Check if there are hunks before kill or refine a hunk
33087         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
33088         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
33090 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
33092         Ignore error after kill last file or hunk
33094         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
33095         Ignore error after kill last hunk (Bug#25570).
33096         (diff-file-kill): Idem.
33098 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
33100         Show current line highlighted in *Occur* buffer
33102         * lisp/replace.el (list-matching-lines-current-line-face)
33103         (list-matching-lines-jump-to-current-line): New user options.
33104         (occur--orig-line, occur--orig-line-str): New variables.
33105         (occur, occur-engine): Use them.
33106         (occur--final-pos): New variable.
33107         (occur-1): Use it.
33108         (occur-engine): Idem.
33109         Show the current line with 'list-matching-lines-current-line-face'.
33110         Set point on the first matching line after the current one.
33111         * etc/NEWS: Add entry for the new option.
33113 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
33115         Allow occur command to operate on the region
33117         See discussion in:
33118         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
33119         * lisp/replace.el (occur--region-start, occur--region-end)
33120         (occur--matches-threshold): New variables.
33121         (occur-engine): Use them.
33122         (occur): Idem.
33123         Add optional arg REGION; if non-nil occur applies in that region.
33124         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
33125         * doc/emacs/search.texi (Other Repeating Search): Idem.
33127 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
33129         Treat list-buffers-directory as a string
33131         Another step in the long history of list-buffers-directory.  A thread
33132         branch discussing the meaning/use of the variable starts here
33133         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
33134         Also see (info "(elisp) Buffer File Name").
33135         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
33136         Info-* defvars.
33137         (Buffer-menu--pretty-file-name): Remove special case.  Use
33138         bound-and-true-p.
33139         (Buffer-menu-info-node-description): Remove.
33140         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
33141         list-buffers-directory as a string.
33142         * lisp/info.el (Info-node-description): New function.
33143         (Info-select-node): Use it.
33145 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
33147         Turn on lexical-binding in parse-time.el
33149         * lisp/calendar/parse-time.el: Turn on lexical-binding.
33150         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
33151         bindings.
33153 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
33155         Prevent creating thumbnails of all gif frames
33157         With the previous defaults, doing image-dired on a directory with an
33158         animated foo.gif would cause creation of foo.thumb-N.gif for each of
33159         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
33160         there additionally is no usable thumbnail after all the needless effort.
33161         image-dired never handled animation, regardless.
33162         * lisp/image-dired.el: Mention limitation.
33163         (image-dired-cmd-create-thumbnail-options):
33164         (image-dired-cmd-create-temp-image-options):
33165         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
33166         filename to indicate only converting the 0th frame.
33167         (image-dired-display-image-mode): Don't show a cursor.
33169 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
33171         Fix quitting bug when buffers are frozen
33173         Problem noted by Eli Zaretskii in:
33174         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
33175         This patch also fixes some other issues in that report.
33176         * src/lisp.h (incr_rarely_quit): Remove.
33177         All callers changed to use rarely_quit directly.
33178         * src/search.c (freeze_buffer_relocation)
33179         (thaw_buffer_relocation): New functions.
33180         (looking_at_1, fast_looking_at, search_buffer):
33181         Use them to fix bug when quitting when buffers are frozen.
33182         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
33183         All uses changed.
33185 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
33187         Revamp quitting and fix infloops
33189         This fixes some infinite loops that cannot be quitted out of,
33190         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
33191         when byte-compiled and when run under X.  See:
33192         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
33193         This also attempts to keep the performance improvements I recently
33194         added, as much as possible under the constraint that the infloops
33195         must be caught.  In some cases this fixes infloop bugs recently
33196         introduced when I removed immediate_quit.
33197         * src/alloc.c (Fmake_list):
33198         Use rarely_quit, not maybe_quit, for speed in the usual case.
33199         * src/bytecode.c (exec_byte_code):
33200         * src/editfns.c (Fcompare_buffer_substrings):
33201         * src/fns.c (Fnthcdr):
33202         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
33203         (Fbackward_prefix_chars):
33204         Use rarely_quit so that users can C-g out of long loops.
33205         * src/callproc.c (call_process_cleanup, call_process):
33206         * src/fileio.c (read_non_regular, Finsert_file_contents):
33207         * src/indent.c (compute_motion):
33208         * src/syntax.c (scan_words, Fforward_comment):
33209         Remove now-unnecessary maybe_quit calls.
33210         * src/callproc.c (call_process):
33211         * src/doc.c (get_doc_string, Fsnarf_documentation):
33212         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
33213         * src/lread.c (safe_to_load_version):
33214         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
33215         Use emacs_read_quit instead of emacs_read in places where
33216         C-g handling is safe.
33217         * src/eval.c (maybe_quit): Move comment here from lisp.h.
33218         * src/fileio.c (Fcopy_file, e_write):
33219         Use emacs_write_quit instead of emacs_write_sig in places where
33220         C-g handling is safe.
33221         * src/filelock.c (create_lock_file): Use emacs_write, not
33222         plain write, as emacs_write no longer has a problem.
33223         (read_lock_data): Use emacs_read, not read, as emacs_read
33224         no longer has a problem.
33225         * src/fns.c (rarely_quit): Move to lisp.h and rename to
33226         incr_rarely_quit.  All uses changed..
33227         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
33228         * src/indent.c (compute_motion):
33229         * src/syntax.c (find_defun_start, back_comment, forw_comment)
33230         (Fforward_comment, scan_lists, scan_sexps_forward):
33231         Use incr_rarely_quit so that users can C-g out of long loops.
33232         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
33233         inner loop, so that it catches C-g there too.
33234         * src/keyboard.c (tty_read_avail_input): Remove commented-out
33235         and now-obsolete code dealing with interrupts.
33236         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
33237         the latter moved here from fns.c and renamed from rarely_quit.
33238         (emacs_read_quit, emacs_write_quit): New decls.
33239         * src/search.c (find_newline, search_buffer, find_newline1):
33240         Add maybe_quit to catch C-g.
33241         * src/sysdep.c (get_child_status): Always invoke maybe_quit
33242         if interruptible, so that the caller need not bother.
33243         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
33244         New functions.
33245         (emacs_read): Rewrite in terms of emacs_nointr_read.
33246         Do not handle C-g or signals; that is now for emacs_read_quit.
33247         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
33248         with INTERRUPTIBLE three-way arg.  All uses changed.
33250 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
33252         Remove immediate_quit.
33254         The old code that sets and clears immediate_quit was
33255         ineffective except when Emacs is running in terminal mode, and
33256         has problematic race conditions anyway, so remove it.  This
33257         will introduce some hangs when Emacs runs in terminal mode,
33258         and these hangs should be fixed in followup patches.
33259         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
33261 2017-02-01  Alan Mackenzie  <acm@muc.de>
33263         Allow C++ nested brace-list-entries to be better indented.
33265         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
33266         nested brace lists when the opening element stands on the same line as both
33267         its introductory brace and an enclosing parameter list parenthesis.
33269         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
33271         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
33272         presence of exactly an identifier between an open parenthesis and an open
33273         brace as evidence of the brace starting a brace list.
33274         (c-looking-at-statement-block): New function, extracted from
33275         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
33276         when needed.
33277         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
33278         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
33279         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
33280         all added syntactic symbols to those having an anchor point on the same line.
33281         Add, in addition to the current additional symbols, c-brace-list-entry when
33282         needed; use c-looking-at-statement-block to determine the latter.
33283         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
33284         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
33285         getting, possibly, several accompanying syntactic entries.
33287         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
33288         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
33290         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
33291         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
33293         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
33294         brace-list-intro.
33295         (Brace List Symbols): Amend the example to show the new analysis of brace
33296         lists when the first element comes on the same line as the opening brace.
33297         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
33299 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
33301         Revert "DOn't use string-as-unibyte in Gnus"
33303         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
33305         Not all the cases where we had string-as-unibyte were characters,
33306         so this needs to be considered more thoroughly before being redone.
33308 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
33310         Use maphash instead of cl-loop.
33312         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
33313           instead of cl-loop
33315 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
33317         Fix a subtle problem in Tramp with timers
33319         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
33320         list.  Make it work when called inside a timer.  See
33321         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
33323 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
33325         Index byte-compile-debug
33327         * doc/lispref/compile.texi (Compilation Functions): Index
33328         byte-compile-debug.
33330 2017-01-31  Philipp Stephani  <phst@google.com>
33332         Document `byte-compile-debug' in the ELisp manual
33334         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
33336 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
33338         read-multiple-choice: explain dialog popups more
33340         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
33341         when a graphical popup is used and how it can be avoided.
33343 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
33345         auth-source-user-and-password: add forgotten user parameter
33347                 * lisp/auth-source.el (auth-source-user-and-password): Use
33348                   accidentally unused "user" parameter.
33349                   Reported by Oscar Najera <najera.oscar@gmail.com>.
33351 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
33353         Fix typo in a NEWS entry for CSS mode
33355 2017-01-31  Philipp Stephani  <phst@google.com>
33357         Document variable `byte-compile-debug'
33359         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
33361 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
33363         DOn't use string-as-unibyte in Gnus
33365         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
33366         string-as-unibyte.
33367         (nnmail-insert-xref): Ditto.
33369         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
33371         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
33373         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
33374         (gnus-browse-foreign-server): Ditto.
33375         (gnus-browse-foreign-server): Ditto.
33377         * lisp/gnus/gnus-start.el
33378         (gnus-update-active-hashtb-from-killed): Ditto.
33379         (gnus-read-newsrc-el-file): Ditto.
33381         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
33383         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
33384         (nnir-get-active): Ditto.
33386 2017-01-31  Juri Linkov  <juri@linkov.net>
33388         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
33390         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
33391         M-. in article buffers work for `foo' strings, and still allow
33392         C-s C-w to yank ' to the search ring (bug#22248).
33394 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
33396         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
33398 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
33400         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
33402 2017-01-31  Dima Kogan  <dima@secretsauce.net>
33404         New test for diff-mode handling trailing --
33406         test/lisp/vc/diff-mode-tests.el: New test file
33408 2017-01-31  Dima Kogan  <dima@secretsauce.net>
33410         Handle patch terminators produced by git and bzr patch export
33412         Patch by Juri Linkov posted in the #9597 bug report
33414         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
33415         terminator (Bug #9597, #5302)
33417 2017-01-31  Dima Kogan  <dima@secretsauce.net>
33419         Revert two accidental commits
33421         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
33422         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
33424 2017-01-31  Dima Kogan  <dima@secretsauce.net>
33426         stash
33428 2017-01-31  Dima Kogan  <dima@secretsauce.net>
33430         comint-get-old-input-default: behavior follows docstring
33432         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
33433         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
33434         if point is on an output field.
33436 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
33438         Fix call to debugger on assertion failure
33440         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
33441         argument must be `error', and the second is a list of arguments for
33442         `signal'.
33444 2017-01-30  Tom Tromey  <tom@tromey.com>
33446         css-mode documentation lookup feature
33448         * etc/NEWS: Mention new feature.
33449         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
33450         (css--mdn-lookup-history): New defvar.
33451         (css-lookup-url-format): New defcustom.
33452         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
33453         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
33454         defuns.
33455         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
33456         test.
33458 2017-01-30  Glenn Morris  <rgm@gnu.org>
33460         edt-mapper: just loading a library should not run code
33462         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
33463         containing code previously at top-level.
33464         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
33465         run edt-mapper function.
33467 2017-01-30  Glenn Morris  <rgm@gnu.org>
33469         mh-compat.el: remove duplicate definition
33471         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
33472         Remove duplicate definition.
33474 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
33476         Add delq list arg check
33478         * src/fns.c (Fdelq): Check that list is a proper list.
33479         This is more compatible with what ‘delete’ does.
33481 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
33483         * lisp/indent.el (indent-region-line-by-line): New function.
33485         Extracted from indent-region.
33486         (indent-region, indent-region-function): Use it.
33488 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
33490         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
33492 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
33494         More fixes to prevent crashes on C-g
33496         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
33497         before returning, to avoid crashes in quit.  (Bug#25566)
33499 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
33501         Avoid crashes on C-g in TTY sessions
33503         * src/keyboard.c (handle_interrupt): Don't quit if
33504         waiting_for_input is set, as doing that is "unsafe": it will
33505         abort.  (Bug#25566)
33507 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
33509         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
33511         Merge remote-tracking branch 'origin/master' into feature/byte-switch
33513 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
33515         Fix hash tables not being purified correctly.
33517         * src/alloc.c
33518         (purecopy_hash_table) New function, makes a copy of the given hash
33519         table in pure storage.
33520         Add new struct `pinned_object' and `pinned_objects' linked list for
33521         pinning objects.
33522         (Fpurecopy) Allow purifying hash tables
33523         (purecopy) Pin hash tables that are either weak or not declared with
33524         `:purecopy t`, use purecopy_hash_table otherwise.
33525         (marked_pinned_objects) New function, marks all objects in pinned_objects.
33526         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
33527         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
33528         * src/fns.c: Add `purecopy' parameter to hash tables.
33529         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
33530         to make_hash_table.
33531         (make_hash_table): Add `pure' parameter, set h->pure to it.
33532         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
33533         CHECK_IMPURE.
33534         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
33535           hash tables.
33536         * src/print.c: (print_object) add the `purecopy' parameter while
33537           printing hash tables.
33538         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
33539           src/xterm.c: Use new (make_hash_table).
33541 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
33543         Escape dash in xref rgrep regexp
33545         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
33546         in REGEXP if it's the first character.
33548 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
33550         Say JavaScript, not Javascript
33552         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
33553         (js-js-error, js-eval, js-set-js-context)
33554         (js--get-js-context):
33555         Refer to the language consistently as JavaScript.
33557 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
33559         lisp/*.el: Fix some warnings
33561         * lisp/battery.el (dbus-get-property):
33562         * lisp/dired-aux.el (format-spec): Declare function.
33564         * lisp/net/zeroconf.el (zeroconf-list-service-names)
33565         (zeroconf-list-service-types, zeroconf-list-services):
33566         Mark unused lexical arg.
33568         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
33569         * lisp/progmodes/sql.el (sql-end-of-statement):
33570         Pass LIMIT to 'looking-back'.
33572 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
33574         Don't warn about obsolete defgenerics when defining them
33576         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
33577         should run after the definition code (Bug#25556).
33579 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
33581         Call modification hooks in org-src fontify buffers
33583         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
33584         `inhibit-modification-hooks' to nil, since this function can be called
33585         from jit-lock-function which binds that variable to t (Bug#25132).
33587 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
33589         Fix Bug#25524
33591         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
33592         Return position at the beginning off the hunk.
33593         (diff-file-junk-re): Add SVN keywords.
33595 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
33597         hl-line.el: Don't try to operate on a killed buffer
33599         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
33600         live buffers (bug#25522).
33602 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
33604         Use access-file in EWW to check before downloading a file
33606         * lisp/net/eww.el (eww-download): Check accessibility of
33607         eww-download-directory to prevent starting a download that will fail
33608         to write.
33609         * src/fileio.c (Faccess_file): Clarify the use of string argument in
33610         the docstring.
33612 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
33614         Subject: Check Bcc after the Messag hook has run
33616         * lisp/gnus/message.el (message-send): If the hook modifies
33617         the message (mml tags or headers), we should check bcc on the
33618         final message, not on the original.
33620 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
33622         Improve documentation of 'format' conversions
33624         * src/editfns.c (Fformat): More accurate description of %g and
33625         effects of the various flags on it.  More accurate description of
33626         integer conversions.
33628         * doc/lispref/strings.texi (Formatting Strings): More accurate
33629         description of %g and effects of the various flags on it.  More
33630         accurate description of integer conversions.  (Bug#25557)
33632 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
33634         test/*.el: Avoid byte-compiler warnings
33636         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
33638         * test/lisp/faces-tests.el (faces--test): New customization group.
33639         (faces--test1, faces--test2): Use it.
33641         * test/lisp/ffap-tests.el (ffap-tests-25243):
33642         Call 'mark-whole-buffer' interactively.
33644         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
33645         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
33646         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
33647         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
33649         * test/lisp/minibuffer-tests.el (completion-test1):
33650         Mark unused lexical arguments.
33652         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
33653         'with-no-warnings' to avoid them when the macro is invoked for effect.
33655         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
33656         Mark unused lexical arguments.
33658         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
33659         Mark unused lexical arguments.
33660         (let-alist-cons): Remove unused let binding.
33662         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
33663         (dbus-get-unique-name): Declare.
33665         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
33666         Call 'font-lock-fontify-buffer' interactively.
33668         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
33669         Mark unused lexical argument.
33671 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
33673         Restore a test that was removed by a recent commit
33675         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
33676         errno value unless it's necessary.  (Bug#25419)
33678 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
33680         Fix a couple eww customization types
33682         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
33683         Change customization type to "directory".
33685 2017-01-27  Philipp Stephani  <phst@google.com>
33687         Don't require a shell when loading htmlfontify
33689         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
33690         detecting the etags version (Bug#25468).
33691         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
33692         test.
33694 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
33696         Slightly tune file-accessible-directory-p fix
33698         * src/fileio.c (Ffile_accessible_directory_p):
33699         Remove unnecessary test (Bug#25419).
33701 2017-01-27  Arash Esbati  <arash@gnu.org>
33703         Add \citetitle to biblatex cite format
33705         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
33706         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
33707         per user request
33708         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
33710 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
33712         Fix charsets and encodings from non-file MIME parts
33714         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
33715         encoding right for parts that do not originate from files.
33717 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
33719         Fix 'describe-variable' for longish variable values
33721         * lisp/help-fns.el (describe-variable): Don't accidentally remove
33722         the last character of a variable's value.  (Bug#25545)
33724 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
33726         Remove stale functions from ert manual
33728         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
33729         Replace ert--mismatch references with its cl-lib replacement,
33730         cl-mismatch.
33732 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
33734         Fix a typo in Eshell manual
33736         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
33737         Kolybabi <mak@kolybabi.com>.
33739 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
33741         Ensure last line is at window bottom in shell buffers
33743         * lisp/shell.el (shell-mode): Use setq-local.  Set
33744         scroll-conservatively to 101 locally.  See the discussion at
33745         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
33746         for the reasons.
33748 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
33750         Support Bash Ctrl-Z indication of directory name in term.el
33752         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
33753         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
33755 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
33757         Don't report zero errno for inaccessible directory
33759         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
33760         a file handler reports a failure.  (Bug#25419)
33762 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
33764         Fix filenotify-tests on MS-Windows
33766         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
33767         (file-notify-test05-dir-validity)
33768         (file-notify-test06-many-events)
33769         (file-notify-test08-watched-file-in-watched-dir): Manually remove
33770         the watch descriptor before calling file-notify--test-cleanup-p.
33771         (Bug#25539)
33773 2017-01-27  Hong Xu  <hong@topbug.net>
33775         python-mode: Fix detection for opening blocks.
33777         * lisp/progmodes/python.el
33778         (python-info-dedenter-opening-block-positions): There can't be any
33779         back-indented lines between an opening block and the current line.
33781         * test/lisp/progmodes/python-tests.el
33782         (python-indent-electric-colon-4): Add an indent test case where
33783         there is one-more indented previous opening block.
33785 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
33787         Fix Message check for bogus domain names
33789         * lisp/gnus/message.el (message-make-fqdn): Fix check for
33790         bogus system names (bug#24570).
33792 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
33794         Subject: Restore correct Gnus newsgroup name after sending message
33796         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
33797         gnus-newsgroup-name in the correct buffer (bug#24329).
33799 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
33801         Mention the new Gnus sorting command
33803 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
33805         Don't try to find charsets of non-text MIME parts
33807         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
33808         to try to determine the charset of non-text message parts, so
33809         skip that (bug#24190).  This will also remove messages like
33810         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
33811         if you include such files.
33813 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
33815         Add new command gnus-article-sort-by-marks
33817         * doc/misc/gnus.texi (Summary Sorting): Mention
33818         gnus-summary-sort-by-marks.
33820         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
33821         function (bug#23393).
33822         (gnus-thread-sort-by-marks): Ditto.
33823         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
33824         (gnus-summary-mode-map): Add keystroke.
33825         (gnus-summary-make-menu-bar): Add to menu.
33827 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
33829         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
33831         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
33832         Ignore summary commands that aren't bound to
33833         gnus-article-read-summary-keys keys (bug#18257).
33835 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33837         Fix crossposting in non-primary groups
33839         * lisp/gnus/message.el
33840         (message-cross-post-followup-to-header): Gnus server prefixes
33841         shouldn't be included in the group names (bug#21661).
33842         (message-cross-post-followup-to): Ditto.
33844 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33846         Gnus doc clarification
33848         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
33849         that "unreachable" is the same as disabling it (bug#21630).
33851 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33853         Remove dead code from rfc2047
33855         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
33857         It's been disabled since 2005, when I made the change with the
33858         following comment.
33860         (rfc2047-encode-message-header): Disabled header folding -- not
33861         all headers can be folded, and this should be done by the message
33862         composition mode.  Probably.  I think.
33864 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33866         Fill too long mail headers
33868         * lisp/gnus/message.el (message--fold-long-headers): New
33869         function to fold too-long headers (bug#21608).
33870         (message-send-mail): Use it to fill headers longer than 998
33871         characters (which is the protocol limit).
33873 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33875         Make nndoc more resilient against corrupted files
33877         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
33878         out on invalid files, like invalid .gz files (bug#21538).
33879         This may hinder Gnus from starting up.
33881 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33883         Respect buffer-local message-fcc-handler-function
33885         * lisp/gnus/message.el (message-do-fcc): Copy the local
33886         variables from the Message buffer so that local settings of
33887         `message-fcc-handler-function' etc are respected (bug#21174).
33889 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33891         (message-do-fcc): Modernize the code slightly.
33893         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
33895 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33897         Avoid a regexp overflow in message-goto-body
33899         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
33900         complicated backtracking regexp, because they may overflow on
33901         large headers (bug#21160).
33903 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33905         Refactor message-goto-body
33907         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
33909 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33911         Fix typo in last checkin
33913         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
33914         nnimap-shell-program (bug#20651).
33916 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33918         Document nnimap-shell-program
33920         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
33921         nnimap-shell-program (bug#20651).
33923 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33925         Document :shell-command in `make-network-process'
33927         * doc/lispref/processes.texi (Network): Document :shell-command.
33929         * lisp/net/network-stream.el (open-network-stream): Document
33930         the :shell-command parameter (bug#20651).
33932 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33934         Gnus doc clarification
33936         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
33937         the gnus-prompt-before-saving variable (bug#20500).
33939 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33941         Fix the previous mml patch better
33943         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
33944         previous patch in a better way (bug#20480).
33946 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33948         Give a slight better error message in mml-minibuffer-read-file
33950         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
33951         better error message when the user enters nothing (bug#20480).
33953 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
33955         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
33957 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33959         Make eww buffers prettier in the buffer listing
33961         * lisp/net/eww.el (eww-render): Put the currently visited URL
33962         into the buffer listing (bug#23738).
33963         (eww-render): Ditto.
33965 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33967         Allow mml-attach-file to prompt less
33969         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
33970         prompt for type/description/disposition, but use defaults
33971         (bug#19202).
33973 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
33975         Don't allow message-newline-and-reformat to be run outside the body
33977         * lisp/gnus/message.el (message-newline-and-reformat): Error
33978         out if run outside the body of a message (bug#18820).
33980 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
33982         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
33984         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
33985           byte-compile-constant instead of byte-compile-form to push nil.
33987 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
33989         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
33991 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
33993         Replace QUIT with maybe_quit
33995         There’s no longer need to have QUIT stand for a slug of C statements.
33996         Use the more-obvious function-call syntax instead.
33997         Also, use true and false when setting immediate_quit.
33998         These changes should not affect the generated machine code.
33999         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
34001 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
34003         A quicker check for quit
34005         On some microbenchmarks this lets Emacs run 60% faster on my
34006         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
34007         * src/atimer.c: Include keyboard.h, for pending_signals.
34008         * src/editfns.c (Fcompare_buffer_substrings):
34009         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
34010         (Fnconc, Fplist_member):
34011         Set and clear immediate_quit before and after loop instead of
34012         executing QUIT each time through the loop.  This is OK for loops
34013         that affect only locals.
34014         * src/eval.c (process_quit_flag): Now static.
34015         (maybe_quit): New function, containing QUIT’s old body.
34016         * src/fns.c (rarely_quit): New function.
34017         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
34018         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
34019         Use it instead of QUIT, for
34020         speed in tight loops that might modify non-locals.
34021         * src/keyboard.h (pending_signals, process_pending_signals):
34022         These belong to keyboard.c, so move them here ...
34023         * src/lisp.h: ... from here.
34024         (QUIT): Redefine in terms of the new maybe_quit function, which
34025         contains this macro’s old definiens.  This works well with branch
34026         prediction on processors with return stack buffers, e.g., x86
34027         other than the original Pentium.
34029 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
34031         Simplify make-list implementation
34033         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
34034         is not worth it these days.
34036 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
34038         Make use of cl-loop destructuring
34040         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
34041         destructuring.
34042         (with-js): Add declare forms.
34044 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34046         Revert "Bind C-c keys in the article buffer"
34048         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
34050         The commit somehow lead to problems in other parts of Emacs.
34052 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34054         Document how to quote MML tags
34056         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
34057         quote MML tags (bug#18881).
34059 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34061         Make address parsing more robust
34063         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
34064         bug out on addresses like
34065         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
34066         (bug#18572).
34068 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34070         Fix the %P (line number) thing in Gnus summary buffers
34072         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
34074         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
34075         "pick" mode line number on entry instead of relying in a hack (bug#18311).
34077 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34079         Fix wrong documentation on nnmairix keystrokes
34081         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
34082         nnmairix commands are on G G, not $ (bug#18260).
34084 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34086         Bind C-c keys in the article buffer
34088         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
34089         C-c keys so that they execute in the summary buffer
34090         (bug#18257).  This makes commands like `C-c C-f' work from the
34091         article buffer.
34093 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34095         Don't mark articles in Gnus as displayed when they aren't
34097         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
34098         mark any articles as selected if we're not selecting any
34099         articles (bug#18255).
34101 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
34103         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
34105         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
34107         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
34109         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
34111 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
34113         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
34115         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
34116           constant encountered precedes a byte-switch op, replace all the
34117           addresses in the jump table with tags.
34119 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
34121         Move cXXXr and cXXXXr to subr.el
34123         * etc/NEWS: Mention new core Elisp.
34124         * doc/lispref/lists.texi (List Elements): Document and index the new
34125         functions.
34126         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
34127         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
34128         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
34129         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
34130         (cddddr): New functions.
34131         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
34132         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
34133         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
34134         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
34135         (cl-cdddar, cl-cddddr): Alias to new subr functions.
34136         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
34137         elements.
34139 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34141         Only save .newsrc file if the native method is NNTP
34143         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
34144         the .newsrc file if the native select method is NNTP
34145         (bug#18198).  This avoids problems with invalid IMAP group
34146         names and the like in the .newsrc file.
34148 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34150         Only save .newsrc file if the native method is NNTP
34152         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
34153         the .newsrc file if the native select method is NNTP
34154         (bug#18198).  This avoids problems with invalid IMAP group
34155         names and the like in the .newsrc file.
34157 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34159         Gnus custom spec fix
34161         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
34162         spec to match the doc string (bug#17679).
34164 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34166         Clarify confusing Gnus error message
34168         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
34169         confusing error message (bug#17677).
34171 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34173         Make C-u C-x m work with Message as documented
34175         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
34176         parameter (bug#17175).
34178 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34180         Fix problem with auto-mode and dir-locals-collect-variables
34182         * lisp/files.el (dir-locals-collect-variables): When run from
34183         auto-mode, the file in question may not be an absolute path
34184         name (bug#24016).
34186         Example backtrace:
34188         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
34189           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
34190           hack-dir-local-variables()
34191           hack-local-variables(no-mode)
34192           run-mode-hooks(diff-mode-hook)
34193           diff-mode()
34194           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
34196 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34198         Attach text files correctly in Message
34200         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
34201         system has been used in attached text files, and don't try to
34202         do any encoding of these files (bug#13808).
34204 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34206         Build fix for older gnutls versions
34208         * src/gnutls.c (emacs_gnutls_handle_error):
34209         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
34210         gnutls-3.
34212 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
34214         ediff-difference-vector-alist: Drop duplicated definition
34216         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
34217         Drop duplicated definition.
34218         (ediff-difference-vector-A, ediff-difference-vector-B)
34219         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
34220         Move definition before 'ediff-difference-vector-alist'.
34222 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34224         Revert "nnimap.el: support additional expunge options"
34226         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
34228         The patch broke fetching new mail:
34230         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
34231           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
34232           (looking-at (format "%d .*\n" sequence))
34233           (not (looking-at (format "%d .*\n" sequence)))
34234           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
34236 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
34238         nnimap.el: support additional expunge options
34240         * lisp/gnus/nnimap.el (nnimap-close-group)
34241         (nnimap-request-expire-articles, nnimap-delete-article)
34242         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
34243         settings for nnimap-expunge (bug#20670).
34245 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34247         Don't tag Gnus bugs with "gnus"
34249         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
34251         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
34252         have its own package any more in the bug tracker.
34254 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
34256         Tweak TLS error messaging on closed connections
34258         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
34259         peer-closed-connection "The TLS connection was non-properly
34260         terminated" message to a lower level so that it isn't shown to
34261         the user by default.
34263 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
34265         Avoid having eww unexpectedly open external browsers
34267         * lisp/net/eww.el (eww-render): Instead of opening unsupported
34268         content types like audio/mpeg directly in an external browser
34269         (which can be very confusing especially when something
34270         redirects to a file like that), just display a simple
34271         interstitial that people can choose to click on or not
34272         (bug#22671).
34274 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
34276         When opening new eww buffers, use buffer names based on the host name
34278         * lisp/net/eww.el (eww-browse-url): When opening in a new
34279         window, use a buffer name based on the host name (bug#23738).
34280         (eww--dwim-expand-url): Refactored out into its own function
34281         for easier reuse.
34283 2017-01-24  David Engster  <deng@randomsample.de>
34285         xml: Fix parsing of default namespace with quoted names
34287         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
34288           parsing is done with quoted symbol names (bug#23440).
34289         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
34290           (xml-parse-test-default-namespace-qnames): Test for the above.
34292 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
34294         Fix rendering of some complex SVG images
34296         * lisp/net/shr.el (shr-parse-image-data): Don't transform
34297         SVG->DOM->XML unless we're blocking images, as this is apt to
34298         destroy the SVG (bug#24111).
34300 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
34302         Clarify the last clarification
34304         * lisp/net/shr.el (shr-width): Clarify the interaction with
34305         `shr-use-fonts' (bug#24928).
34307 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
34309         shr-width doc clarification
34311         * lisp/net/shr.el (shr-width): Clarify the interaction with
34312         `shr-use-fonts' (bug#24928).
34314 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
34316         Allow passing in max-width/height
34318         * lisp/net/shr.el (shr-rescale-image): Allow passing in
34319         max-width/height (bug#25287).
34321 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
34323         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
34325         Require `cl' for `pushnew'.
34326         (vhdl-scan-project-contents, vhdl-compose-wire-components)
34327         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
34329 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
34331         Fix comment detection on open parens
34333         Characters having both open paren syntax and comment start syntax were
34334         being detected as open parens even when they should have been part a
34335         comment starter (Bug#24870).
34337         * src/syntax.c (in_2char_comment_start): New function, extracted from
34338         `scan_sexps_forward'.
34339         (scan_sexps_forward): Add check for a 2-char comment starter before the
34340         loop.  Inside the loop, do that check after incrementing the 'from'
34341         character index.  Move the single char comment syntax cases into the
34342         switch instead of special casing them before.
34343         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
34344         (parse-partial-sexp-continue-over-comment-marker): New tests.
34346 2017-01-23  Alan Mackenzie  <acm@muc.de>
34348         Give , and .@ doc strings.  Fixes bug #24561.
34350         Also make *Help* links to ``' possible.  Also make usable as such doc strings
34351         on the function-documentation property of a symbol.
34353         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
34354         function-documentation property.  Also give these symbols a reader-construct
34355         property.
34357         * lisp/help-fns.el (describe-function): Allow the function-documentation
34358         property to work.  Use princ rather than prin1 to print the function's name
34359         when it has a reader-construct property.
34360         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
34361         (describe-function-1): Adapt to process documentation on the
34362         function-documentation property.  Print "a reader construct" when appropriate.
34364         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
34365         ``'.
34367 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34369         Improve uses of CHECK_LIST etc.
34371         * src/eval.c (FletX): Report an error for invalid constructs like
34372         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
34373         (lambda_arity): Use plain CHECK_CONS.
34374         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
34375         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
34376         concat does that for us.
34377         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
34378         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
34379         runtime check out of the loop.
34380         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
34381         (Fassq, Fassoc, Frassq, Frassoc):
34382         Simplify and use CHECK_LIST_END instead of CAR.
34383         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
34384         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
34385         * src/fontset.c (Fnew_fontset):
34386         * src/frame.c (Fmodify_frame_parameters):
34387         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
34388         more-complete check.
34389         * src/gfilenotify.c (Fgfile_add_watch):
34390         Omit unnecessary CHECK_LIST, since Fmember does that for us.
34391         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
34392         Remove; no longer used.
34393         (CHECK_LIST_END): New inline function.
34395 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
34397         Prevent to use tabulated-list--near-rows unbound
34399         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
34400         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
34402 2017-01-22  Juri Linkov  <juri@linkov.net>
34404         * lisp/simple.el (region-bounds): New function.
34406         (region-noncontiguous-p): Use it.
34407         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
34409 2017-01-21  Alan Mackenzie  <acm@muc.de>
34411         Fix low-level handling of (big) C macros.
34413         In particular, ensure that a comment detected by its syntax is not a CPP
34414         construct marked with generic comment delimiter syntax-table text
34415         properties.
34417         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
34418         c-macro-cache-syntactic to nil when the cached macro changes.
34419         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
34420         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
34421         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
34422         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
34423         (c-determine-limit): When checking a parse syntax for a comment, check that
34424         we're not in a CPP construct marked by syntax-table generic comment delimiter
34425         text property.
34426         (c-state-pp-to-literal): Change from a defsubst to a defun.
34428         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
34429         parse syntax as described above under cc-engine.el.
34431 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
34433         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
34435 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
34437         Don't wait for frame to become visible
34439         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
34440         frame to become visible.  We have to deal with invisible frames anyway,
34441         the loop could sometimes before the frame turned visible, and for some
34442         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
34443         busy loop (Bug#24091).
34445 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
34447         diff-hunk-kill independent of point inside headers
34449         Make diff-apply-hunk and diff-hunk-kill independent of the point
34450         position in a diff header (Bug#17544).
34451         This change allows to apply hunks in order.  It also makes possible to
34452         press M-k repeatedly to kill hunks in the order they appear in the buffer.
34453         See discussion on #Bug25105.
34454         * lisp/vc/diff-mode.el (diff-file-junk-re):
34455         Move definition before it's used.
34456         (diff--at-diff-header-p): New predicate; return non-nil when point
34457         is inside a hunk header, a file header, or within a line
34458         matching diff-file-junk-re.
34459         (diff-beginning-of-hunk): Use it.
34460         Check if the point is inside a diff header, in the middle of a hunk,
34461         or before the first hunk.
34462         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
34463         before apply the hunk.
34464         (diff-hunk-kill, diff-file-kill):
34465         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
34466         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
34468 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
34470         Improve documentation of hooks related to saving buffers
34472         * lisp/files.el (write-file-functions, write-contents-functions)
34473         (before-save-hook, after-save-hook): Note that these are only used
34474         by save-buffer.
34476         * doc/lispref/backups.texi (Auto-Saving):
34477         * doc/lispref/files.texi (Saving Buffers): Mention that
34478         save-related hooks are not run by auto-saving.  (Bug#25460)
34480 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
34482         Improve documentation of auto-save-visited-file-name
34484         * doc/emacs/files.texi (Auto Save Files): Mention subtle
34485         differences between saving the buffer and auto-saving with
34486         auto-save-visited-file-name set non-nil.  (Bug#25478)
34488 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
34490         Fix free var FOO-mode-{syntax,abbrev}-table warnings
34492         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
34493         defvar the syntax and abbrev tables so that the compiler will know that
34494         they are dynamically bound variables (Bug#25446).
34496 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
34498         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
34500         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
34501           eval obj2 to avoid quoted forms being stored as is.
34503 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
34505         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
34507 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
34509         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
34511         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
34512         default-case for last cond clause.
34514 2017-01-19  Philipp Stephani  <phst@google.com>
34516         Check that variable lists are actually lists
34518         'let' and 'let*' document that their first argument has to be a list,
34519         but don't check for that; instead, they allow (and silently ignore)
34520         other types.  Introduce an explicit type check.
34522         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
34523         list.
34524         * test/src/eval-tests.el: Add unit tests.
34526 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
34528         Add type checking for Bswitch, when enabled at compile time.
34530         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
34531           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
34533 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
34535         Use byte-switch for all symbols.
34537         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
34538           t for all symbols (instead for just keywords)
34540 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
34542         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
34544         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
34545         (diff-refine-hunk): Use it instead of trying to match multiple lines
34546         with a single lines.
34548 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
34550         Remove lock file when auto-saving into the visited file
34552         * src/fileio.c (write_region): When auto-saving into the visited
34553         file, unlock the file whenever we mark the buffer unmodified.
34554         (Bug#25470)
34556 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
34558         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
34560         Fgethash type checks the provided table object, which is unnecessary
34561         for compiled bytecode.
34563 2017-01-18  Tom Tromey  <tom@tromey.com>
34565         fix typo in mailcap-mime-extensions
34567         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
34568         not "test/x-patch".  (Bug#25472)
34570 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
34572         Fix typos in flymake.el
34574         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
34575         Spelling fixes in the doc string.
34577 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
34579         Fix a bug with signaling a thread that waits for condvar
34581         * src/thread.c (lisp_mutex_lock_for_thread): New function,
34582         with all the guts of lisp_mutex_lock.
34583         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
34584         (condition_wait_callback): Don't call post_acquire_global_lock
34585         before locking the mutex, as that could cause a signaled thread to
34586         exit prematurely, because the condvar's mutex is recorded to be
34587         not owned by any thread, and with-mutex wants to unlock it as part
34588         of unwinding the stack in response to the signal.
34590 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
34592         Rudimentary error handling for non-main threads
34594         * src/thread.c (last_thread_error): New static variable.
34595         (syms_of_threads): Staticpro it.
34596         (record_thread_error, Fthread_last_error): New functions.
34597         (syms_of_threads): Defsubr Fthread_last_error.
34599         * doc/lispref/threads.texi (Basic Thread Functions): Document
34600         thread-last-error.
34602         * test/src/thread-tests.el (thread-errors, thread-signal-early)
34603         (threads-condvar-wait): Test the values returned by
34604         thread-last-error.
34606 2017-01-17  Tom Tromey  <tom@tromey.com>
34608         Add info-lookup help for gdb-script-mode
34610         Bug#25464:
34611         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
34612         function.
34613         Add help for gdb-script-mode.
34615 2017-01-17  Tom Tromey  <tom@tromey.com>
34617         Treat ":root" as a css-selector
34619         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
34620         ":root" as selector.
34622 2017-01-17  Tom Tromey  <tom@tromey.com>
34624         Fix JS regexp literal syntax propertization in expressions
34626         Bug#25465:
34627         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
34628         literal after "!", "&", and "|".
34629         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
34631 2017-01-17  Glenn Morris  <rgm@gnu.org>
34633         More NEWS checking for admin.el's set-version
34635         * admin/admin.el (set-version): Warn if temporary NEWS markup
34636         still present in release candidates.
34638 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
34640         Mark unused arguments and remove unused variables
34642         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
34643         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
34644         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
34645         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
34646         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
34647         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
34648         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
34649         (dungeon-nil): Mark arguments as unused.
34650         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
34651         (dun-restore): Remove unused variable.
34653 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
34655         Fix auto-save-file-name problem in Tramp on MS Windows
34657         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
34658         rather than an ange-ftp regexp.
34660         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
34661         Fix a problem when running on MS Windows.
34663         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
34664         Adapt test.
34666 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
34668         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
34670         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
34671         Fix a problem when running on MS Windows.
34673 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
34675         Merge from origin/emacs-25
34677         42614fa Update remaining copyright years with admin.el M-x set-copyright
34678         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
34680 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
34682         Nix some uses of eval
34684         * lisp/play/dunnet.el: Fix triple negative.
34685         (dun-doverb): Use funcall instead of eval.
34686         (dun-echo): Just call dun-mprinc.
34687         (dun-save-val): Just bind value without eval.
34689 2017-01-17  Tom Tromey  <tom@tromey.com>
34691         Fix comment in css-mode.el
34693         * lisp/textmodes/css-mode.el: Remove obsolete comment.
34695 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
34697         update branch
34699 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
34701         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
34703 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
34705         Improve ffap-gopher-at-point handling of long lines
34707         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
34708         setting to nil is now supported.
34709         (ffap--gopher-var-on-line): New function.
34710         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
34711         which could overflow the regexp stack on long lines (Bug#25391).  Use
34712         `let-alist' instead of calling `set' on local variables.
34713         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
34715 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
34717         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
34719         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
34720           finding the tag in a jump table.
34722 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
34724         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
34726 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
34728         Add new 'switch' byte-code.
34730         'switch' takes two arguments from the stack: the variable to test, and
34731         a jump table (implemented as a hash-table with the appropriate :test
34732         function). By looking up the value of the variable in the hash table,
34733         the interpreter can jump to the label pointed to by the value, if any.
34734         This implementation can only be used for `cond' forms of the type
34735         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
34736         variable `x` is same for all clauses.
34738         * lisp/emacs-lisp/bytecomp.el:
34740           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
34741             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
34742             (byte-compile-cond-jump-table), byte-compile-jump-tables.
34744           * Add defcustom `byte-compile-cond-use-jump-table'.
34746           * (byte-compile-cond): Use them.
34748           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
34750         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
34751           some peephole optimizations to prevent them from messing up any code
34752           involving `byte-switch`.
34754         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
34756 2017-01-14  Alan Third  <alan@idiocy.org>
34758         Fix NS main thread check (bug#25265)
34760         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
34761         isMainThread.
34763 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
34765         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
34767         `:sqli-comint-func' does not have to be a symbol.
34769 2017-01-14  Alan Mackenzie  <acm@muc.de>
34771         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
34773         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
34774         its previous value, we chose strategy 'forward, and the new HERE is in a
34775         (different) macro, ensure the returned START-POINT is not above the start of
34776         the macro.
34778 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
34780         Include "Date:" in mail messages filed by 'sendmail-send-it'
34782         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
34783         into the filed message.  In the outgoing message, sendmail will
34784         add the date, but the composed message body doesn't have it.
34785         (Bug#25436)
34787 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
34789         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
34791 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
34793         Remove leftover references to log-view-message-face
34795         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
34797         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
34799         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
34801 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
34803         Record autoloads till emacs dump
34805         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
34806         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
34808         Previously, autoloads were collected till loaddefs.el was generated as
34809         part of the build. However, bootstrap-emacs does not load
34810         loaddefs (rather it is dumped), hence we must record autoloads until the
34811         full emacs binary is dumped.
34813 2017-01-13  Tom Tromey  <tom@tromey.com>
34815         Add chained indentation to js-mode
34817         Bug#20896
34818         * lisp/progmodes/js.el (js-chain-indent): New variable.
34819         (js--skip-term-backward, js--skip-terms-backward)
34820         (js--chained-expression-p): New functions.
34821         (js--proper-indentation): Call js--chained-expression-p.
34822         * test/manual/indent/js-chain.js: New file.
34823         * test/manual/indent/js.js: Add (non-)chained indentation test.
34825 2017-01-13  Tom Tromey  <tom@tromey.com>
34827         Fix js-mode indentation bug
34829         Bug#15582:
34830         * lisp/progmodes/js.el (js--find-newline-backward): New function.
34831         (js--continued-expression-p): Use it.
34832         * test/manual/indent/js.js: Add new test.
34834 2017-01-13  Tom Tromey  <tom@tromey.com>
34836         Fix definition of EMACS in test/manual/indent/Makefile
34838         * test/manual/indent/Makefile (EMACS): Add one more "..".
34840 2017-01-13  Tom Tromey  <tom@tromey.com>
34842         Add .jsx to auto-mode-alist
34844         Bug#25389:
34845         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
34847 2017-01-13  Tom Tromey  <tom@tromey.com>
34849         Fix two js-mode filling bugs
34851         Bug#19399 and Bug#22431:
34852         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
34853         c-block-comment-start-regexp.
34854         * test/lisp/progmodes/js-tests.el: New file.
34856 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
34858         Fix last change
34860         * test/src/thread-tests.el (threads-condvar-wait): Revert
34861         previous change.  Make sure no other threads from previous
34862         tests are running, to avoid interfering with our thread counts.
34864 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
34866         Fix the new condvar test
34868         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
34869         time we sleep in the main thread to let the other thread
34870         process notifications.
34872 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
34874         Minor improvements in the new condvar test
34876         * test/src/thread-tests.el (threads-test-condvar-wait): Use
34877         with-mutex instead of emulating it inline.
34878         (threads-condvar-wait): Improve comments.  Check that the new
34879         thread is alive before waiting for it to become blocked on the
34880         conditional variable.
34882 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
34884         Fix a bug in waiting for condition variable
34886         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
34887         (lisp_mutex_unlock_for_wait, condition_wait_callback)
34888         (condition_notify_callback): Improve commentary.
34889         (condition_wait_callback): Call post_acquire_global_lock before
34890         attempting to lock the mutex, to make sure the lock's owner is
34891         recorded correctly.
34893         * test/src/thread-tests.el (threads-condvar-wait): New test.
34895 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
34897         Improve documentation of dabbrevs
34899         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
34900         to "Dabbrev Customization".
34901         (Dabbrev Customization): More details about the default value of
34902         dabbrev-abbrev-char-regexp and use cases when it might not be good
34903         enough.  (Bug#25432)
34905 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
34907         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
34909 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
34911         mm-uu.el: Don't dissect patch part
34913         This fixes a bug that the patch part is broken in the article
34914         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
34916         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
34917         Don't dissect patch part.
34919 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
34921         Fix extracting async def type and name in python mode imenu
34923         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
34924         New function.
34925         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
34926         extract async or simple def type and name at current
34927         position (Bug#24820).
34928         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
34929         (python-imenu-create-flat-index-1): Add async def's.
34931 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
34933         Remove garbage from Content-Transfer-Encoding value (bug#25420)
34935         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
34936         (ietf-drums-remove-garbage): New function.
34937         (ietf-drums-remove-whitespace): Remove CR as well.
34939         * lisp/mail/mail-parse.el (mail-header-strip-cte):
34940         Alias to ietf-drums-strip-cte.
34942         * lisp/gnus/gnus-art.el (article-decode-charset):
34943         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
34944         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
34945         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
34946         (nndoc-rfc822-forward-generate-article):
34947         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
34948         Replace mail-header-strip with mail-header-strip-cte.
34950 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
34952         Restore behavior of ‘./autogen.sh autoconf git’
34954         * autogen.sh: Do both autoconf and git setup when invoked
34955         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
34956         Mention new --no-check option in usage message.  (Bug#25359)
34958 2017-01-12  Glenn Morris  <rgm@gnu.org>
34960         * autogen.sh: Simplify argument parsing.
34962 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
34964         Clarify that easy-menu-add is a nop (Bug#25382)
34966         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
34967         `ignore', like `easy-menu-remove'.
34969 2017-01-12  Glenn Morris  <rgm@gnu.org>
34971         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
34973 2017-01-11  Glenn Morris  <rgm@gnu.org>
34975         * autogen.sh: Add --no-check option.  (Bug#25359)
34977 2017-01-11  Glenn Morris  <rgm@gnu.org>
34979         Convert some network test failures to skipping
34981         These tests intermittently fail on hydra.nixos.org for unclear
34982         reasons related to starting the external process.
34983         This isn't an Emacs issue, and the failures cause noise on
34984         the emacs-buildstatus list.  (Bug#24503)
34985         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
34986         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
34987         external process fails to start properly.
34989 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
34991         Revert "Add DNS keywords and remove duplications"
34993         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
34995 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
34997         Add DNS keywords and remove duplications
34999         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
35000         NSEC" DNS related keywords and remove duplication of "NSAP".
35002 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
35004         Add DNS keywords and remove duplications
35006         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
35007         NSEC" DNS related keywords and remove duplication of "NSAP".
35009 2017-01-11  Alan Mackenzie  <acm@muc.de>
35011         Handle syntactic WS cache properties more accurately at buffer changes.
35013         This fixes bug #25362.
35015         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
35016         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
35017         (c-invalidate-sws-region-after-ins): New variables and functions.
35018         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
35019         Also pass
35020         it the standard OLD-LEN argument.  Call both
35021         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
35022         cache
35023         properties.
35025         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
35026         variable.
35028         * lisp/progmodes/cc-mode.el (c-before-change): Call
35029         c-invalidate-sws-region-before.
35030         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
35032 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
35034         Support stat 8.26 in Tramp
35036         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
35037         environment variable of newer coreutils.  (Bug#23422)
35039 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
35041         Improve documentation of coding-systems
35043         * doc/lispref/nonascii.texi (Coding System Basics): Mention
35044         'prefer-utf-8'.  Index it and 'undecided'.
35045         (Encoding and I/O): Fix a typo.
35046         (User-Chosen Coding Systems): Improve the documentation of
35047         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
35048         select-safe-coding-system-function.
35049         (Specifying Coding Systems): Document coding-system-require-warning.
35051 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35053         Merge from gnulib
35055         This incorporates:
35056         2017-01-09 maint: time stamp -> timestamp
35057         2017-01-07 stdioext: Port to Minix 3.2 and newer
35058         2017-01-06 glob, intprops, xalloc: work around Clang bug
35059         2017-01-02 revert copyright-year change to synced files
35060         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
35061         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
35062         * lib/utimens.c, lib/xalloc-oversized.h:
35063         Copy from gnulib.
35065 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
35067         Don't use unsafe encoding for the bookmark file
35069         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
35070         explicitly specified encoding of the bookmark file cannot encode the
35071         additional bookmarks just added.  (Bug#25365)
35073 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
35075         Improve definition of 'variable-pitch' face on MS-Windows
35077         * lisp/faces.el (variable-pitch): Don't specify too many
35078         attributes of the font, otherwise faces that request different
35079         weight or slant or size will not get them.
35081 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
35083         Fix an error message in python.el
35085         * lisp/progmodes/python.el (python-shell-get-process-or-error):
35086         Don't repeat the same key binding twice.  (Bug#25405)
35088 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
35090         Remove unused ldefs-boot.el
35092          * lisp/ldefs-boot.el: Remove
35094         This file was not removed as reported in c27b645956a11, but accidentally
35095         left.
35097 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
35098             Eli Zaretskii  <eliz@gnu.org>
35100         Use expanded stack during regex matches
35102         While the stack is increased in main(), to allow the regex stack
35103         allocation to use alloca we also need to modify regex.c to actually take
35104         advantage of the increased stack, and not limit stack allocations to
35105         SAFE_ALLOCA bytes.
35107         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
35108         allocations in signal handlers which no longer happens and correct
35109         description about when and why MATCH_MAY_ALLOCATE should be defined.
35110         (emacs_re_safe_alloca): New variable.
35111         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
35112         of MAX_ALLOCA.
35113         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
35114         confusion with glibc's `re_max_failures'.
35115         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
35116         to the stack.  Instead of changing emacs_re_max_failures based on the
35117         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
35118         remains constant regardless, since if we run out stack space SAFE_ALLOCA
35119         will fall back to heap allocation.
35121 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
35123         Fix computation of regex stack limit
35125         The regex stack limit was being computed as the number of stack entries,
35126         whereas it was being compared with the current size as measured in
35127         bytes.  This could cause indefinite looping when nearing the stack limit
35128         if re_max_failures happened not to be a multiple of sizeof
35129         fail_stack_elt_t (Bug #24751).
35131         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
35132         limit as numbers of stack entries.
35134 2017-01-08  Alan Third  <alan@idiocy.org>
35136         Remove apploopnr
35138         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
35139         allow app loop to run in main thread.
35141 2017-01-08  Glenn Morris  <rgm@gnu.org>
35143         Remove unused configure output variable
35145         * configure.ac (GNULIB_MK):
35146         * Makefile.in (gnulib_mk): Remove, no longer used.
35148 2017-01-08  Glenn Morris  <rgm@gnu.org>
35150         Fix automake dependencies
35152         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
35153         All platforms need this file to exist.
35155 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
35157         Remove unnecessary blankp code
35159         * src/character.c (blankp): Remove redundant code that slows Emacs
35160         down a bit.  The caller already does the test.
35162 2017-01-08  Stefan Merten  <stefan@merten-home.de>
35164         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
35166         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
35167         (rst-svn-timestamp)
35168         (rst-official-version, rst-official-cvs-rev)
35169         (rst-package-emacs-version-alist): Maintain version numbers.
35170         (rst-forward-indented-block): Fix. Start searching at next
35171         line again. Fixes fontification of comments continuing on the
35172         same line they started.
35174 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
35176         Remove @SET_MAKE@ from manually-maintained files
35178         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
35179         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
35180         * src/Makefile.in: Remove @SET_MAKE@.
35182 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
35184         Fix a problem with `start-file-process' in Tramp
35186         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
35187         `start-file-process' shall work when `non-essential' is
35188         non-nil, but there is already an established connection.
35189         <https://github.com/company-mode/company-mode/issues/462>
35191 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
35193         Fix selecting SQLite database files with sql-mode (Bug#23566)
35195         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
35196         SQLite database file name, by default.
35197         (sql-get-login-ext): Fixed read-file-name arguments to provide
35198         path completion even if a database name pattern is customized and to
35199         allow creation of new SQLite database files.
35201 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
35203         Clarify major mode switching
35205         * doc/emacs/modes.texi (Major Modes):
35206         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
35207         buffer has exactly one major mode and can't be "turned off", only
35208         switched away from (Bug#25357).
35210 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
35212         Add helpful comment to compile-command's docstring
35214         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
35215         docstring (Bug#25337).
35217 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
35219         Specify encoding of the bookmark file
35221         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
35222         Accept an argument CODING and include a 'coding:' cookie in the
35223         bookmark file preamble.
35224         (bookmark-upgrade-file-format-from-0): Call
35225         'bookmark-insert-file-format-version-stamp' with the file buffer's
35226         encoding, as detected when it was read.
35227         (bookmark-file-coding-system): New variable.
35228         (bookmark-load): Set bookmark-file-coding-system to the encoding
35229         of the loaded file.
35230         (bookmark-write-file): Bind coding-system-for-write to either the
35231         user setting via "C-x RET c" or to the existing file encoding,
35232         defaulting to 'utf-8-emacs'.  Update the value of
35233         bookmark-file-coding-system.  (Bug#25365)
35235 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
35237         Avoid infloop in 'ispell-region'
35239         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
35240         Protect against 'ispell-skip-region-alist' being nil.  Reported by
35241         Ernest Adrogué <nfdisco@gmail.com>, see
35242         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
35244 2017-01-06  Philipp Stephani  <phst@google.com>
35246         Add support for Unicode whitespace in [:blank:]
35248         See Bug#25366.
35250         * src/character.c (blankp): New function for checking Unicode
35251         horizontal whitespace.
35252         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
35253         whitespace.
35254         (BIT_BLANK): New bit for range table.
35255         (re_wctype_to_bit, execute_charset): Use it.
35256         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
35257         unit test for [:blank:] character class.
35258         * test/src/regex-tests.el (test): Adapt unit test.
35259         * doc/lispref/searching.texi (Char Classes): Document new Unicode
35260         behavior for [:blank:].
35262 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
35264         Fix ':version' of 'select-enable-primary'
35266         * lisp/select.el (select-enable-primary): Fix a typo in
35267         ':version'.  (Bug#25375)
35269 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
35271         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
35273         Author:
35275         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
35276         Avoid add-to-list on local variables.
35278 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
35280         Fix isearch handling of C-u C-u...
35282         * lisp/isearch.el: Add `isearch-scroll' property to
35283         universal-argument-more so that `isearch-allow-scroll' will apply to it
35284         as well.
35285         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
35286         `universal-argument-more' as well (Bug#25302).
35288 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
35290         Shorten autogen.sh script
35292         * autogen.sh: Use a shorter script, as some 'sed' implementations
35293         mishandle long scripts.
35295 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
35297         Yet another fix for autogen.sh
35299         * autogen.sh (gnulib.mk): Make the Sed script more portable.
35301         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
35302         the changes in autogen.sh.
35304 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
35306         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
35308 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
35310         Fix dependencies of nt/gnulib.mk
35312         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
35313         of nt/gnulib.mk on lib/Makefile.in.
35315 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
35317         Unbreak macOS build
35319         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
35320         Sed.
35322 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
35324         Fix term.el handling of ^Z-sequences spanning chunks
35326         Bash will after each command send ?\032 and the current directory "/tmp"
35327         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
35328         command outputs roughly 4096 bytes then the end of the first chunk will
35329         be "/tm" (Bug#13350).
35331         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
35332         end of the ?\032 sequence to use \n instead of $, the latter can match
35333         end of string as well.
35335 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
35337         Turn on lexical-binding in mb-depth.el
35339         * lisp/mb-depth.el: Turn on lexical-binding.
35340         (minibuffer-depth-setup): Bind things used multiple times.
35342 2017-01-04  Alan Third  <alan@idiocy.org>
35344         Revert "Rework NS event handling (bug#25265)"
35346         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
35348 2017-01-04  Glenn Morris  <rgm@gnu.org>
35350         Update remaining copyright years with admin.el M-x set-copyright
35352         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
35354 2017-01-04  Glenn Morris  <rgm@gnu.org>
35356         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
35358 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35360         Port recent autogen.sh changes to Darwin
35362         Problem reported by Sam Steingold (Bug#25347).
35363         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
35364         POSIX does not require it and it does not work on Darwin.
35366 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
35368         Avoid add-to-list on local variables
35370         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
35371         (nnir-retrieve-headers): Use pcase.
35372         (nnir-search-thread): Avoid add-to-list on local variables.
35374         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
35375         (smime-verify-region): Avoid add-to-list on local variables.
35377         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
35378         (rmail-digest-parse-mime, rmail-digest-rfc1153)
35379         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
35381         * lisp/net/ldap.el (ldap-search): Move init into declaration.
35383         * lisp/net/newst-backend.el (newsticker--cache-add):
35384         Avoid add-to-list on local variables; Simplify code with `assq'.
35386         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
35387         (dbus-debug): Remove declaration, unused.
35388         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
35389         (zeroconf-service-browser-handler, zeroconf-publish-service):
35390         Avoid add-to-list and *-hook on local variables.
35392         * lisp/org/org-archive.el (org-all-archive-files):
35393         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
35394         Avoid add-to-list on local variables.
35396         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
35397         (org-publish-projects): Use it to avoid run-hooks on a local variable.
35398         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
35399         local variables.
35401         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
35402         (ada-prj-load-from-file): Avoid add-to-list on local variables.
35404         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
35405         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
35406         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
35408         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
35409         Avoid add-to-list on local variables.
35411 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
35413         Turn on lexical-binding in md4.el
35415         * lisp/md4.el: Turn on lexical-binding.
35416         * test/lisp/md4-tests.el: New file.
35418 2017-01-03  Stefan Merten  <stefan@merten-home.de>
35420         Lots of refactorings and a few minor improvements.
35422         User visible improvements and changes:
35423         * Improve and debug `rst-forward-section` and `rst-backward-section`.
35424         * Auto-enumeration may be used with all styles for list insertion.
35425         * Improve and debug `rst-toc-insert`.
35426         * Adapt change in Emacs to use customization group `text` instead of `wp`.
35427         * Bind `n` and `p` in `rst-toc-mode`.
35428         * `z` in `toc-mode` returns to the previous window configuration.
35429         * Require Emacs version >= 24.1.
35431         Lots of refactorings including:
35432         * Silence byte compiler.
35433         * Use lexical binding.
35434         * Use `cl-lib`.
35435         * Add tests and raise test coverage.
35437 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
35439         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
35441         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
35442         emit a warning for those coders who forgot to put a default value in
35443         their slot.
35445 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
35447         Small patch for ffap.el
35449         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
35450         while walking 'ffap-alist'.
35452 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
35454         Generate nt/gnulib.mk from lib/gnulib.mk
35456         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
35457         with the purpose of avoiding manual maintenance of
35458         nt/gnulib.mk.
35460         * nt/gnulib-modules-to-delete.cfg: New file.
35461         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
35462         (am__v_GEN_1): New variables.
35463         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
35464         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
35466         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
35467         files to link.
35468         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
35469         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
35470         running autoreconf.
35471         * Makefile.in (gnulib_mk): New variable.
35472         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
35473         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
35474         name.
35475         * .gitignore: Add nt/gnulib.mk.
35477         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
35478         build the acl-permissions module from Gnulib.
35480 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
35482         Handle multibyte chars spanning chunks in term.el
35484         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
35485         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
35486         buffer-local twice.
35487         (term-emulate-terminal): Check for bytes of incompletely decoded
35488         characters, and save them until the next call when they can be fully
35489         decoded (Bug#25288).
35491 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
35493         Finish work on filenotify-tests.el
35495         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
35496         New variable.
35497         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
35498         (file-notify--test-read-event, file-notify-test02-events)
35499         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
35500         (file-notify-test03-autorevert)
35501         (file-notify-test08-watched-file-in-watched-dir):
35502         Set `file-notify--test-desc' for proper work of
35503         `file-notify--test-monitor'.  (Bug#21804)
35505 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
35507         Check also for "gvfs-monitor-dir.exe" in Tramp
35509         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
35510         for "gvfs-monitor-dir.exe".
35512 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
35514         Fix compilation --without-x
35516         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
35517         font_range only if it is compiled in.  (Bug#25334)
35519 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
35521         Fix RefTeX to show table of contents for dtx files (tiny change)
35523         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
35524           section regexp so that it accepts lines starting with the comment
35525           character. (tiny change)
35526         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
35527           gathered toc entries, accepting a commented entry if and only if the
35528           source file is a ".dtx" file. (tiny change)
35530 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
35532         Remove mistakenly-added files
35534         Problem reported by Glenn Morris in:
35535         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
35536         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
35537         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
35538         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
35539         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
35540         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
35541         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
35542         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
35543         Remove files that were added by mistake during a merge.
35545 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
35547         Warn about incomplete untarring of link files
35549         The current tar-mode doesn't really support unpacking symlinks, it
35550         simply creates an empty file of the same name.
35552         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
35553         `tar--check-descriptor'.
35554         (tar-untar-buffer): Use it to warn about imperfectly untarred link
35555         files.
35557 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
35559         Remove sh-mode's skeleton-end-hook
35561         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
35562         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
35563         and also respects `skeleton-end-newline' (Bug#16634).
35565 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35567         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
35569 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
35571         Add term/tmux.el
35573         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
35574         with xterm and screen terminfos.  This is simply a duplication of
35575         term/screen.el with screen -> tmux.
35576         * lisp/term/tmux.el: New file.
35578 2017-01-01  Philipp Stephani  <phst@google.com>
35580         Fix encoding of JSON surrogate pairs
35582         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
35583         individual code points; cf. Bug #24784.
35585         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
35586         pairs.
35587         (json--decode-utf-16-surrogates): New defun.
35589         * test/lisp/json-tests.el (test-json-read-string): Add test for
35590         surrogate pairs.
35592 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
35594         Remove tramp-gw.el, which was synced from emacs-25 by accident
35596 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35598         Do not use Gnulib’s m4/wint_t.m4.
35600         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
35601         Fix typo so that warn-on-use.m4 is removed too.
35602         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
35603         * m4/wint_t.m4: Remove.
35605 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35607         Merge from gnulib, continued
35609         * m4/wint_t.m4: New file, copied from gnulib.
35611 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35613         Update copyright year to 2017 in master
35615         Run admin/update-copyright in the master branch.  This fixes files
35616         that were not already fixed in the emacs-25 branch before it was
35617         merged here.
35619 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35621         Remove test/automated detritus from merge
35623 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35625         Merge from gnulib
35627         This incorporates:
35628         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
35629         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
35630         2016-12-17 getlogin: Port to newer mingw
35631         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
35632         2016-12-17 Avoid redefinition errors on MSVC
35633         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
35634         * m4/stdint.m4, m4/unistd_h.m4:
35635         Copy from gnulib.
35636         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
35637         Plus, this commit updates the indenting on copyright notices to
35638         match that of gnulib.
35640 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35642         Merge from origin/emacs-25
35644         2e2a806 Fix copyright years by hand
35645         5badc81 Update copyright year to 2017
35647 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35649         Merge from origin/emacs-25
35651         665be69 ; Update ChangeLog.2 and AUTHORS files
35653         # Conflicts:
35654         #       etc/AUTHORS
35656 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35658         Merge from origin/emacs-25
35660         697167b ; Improve wording of previous change in variables.texi
35661         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
35662         8b71826 Don't modify minibuffer variables globally
35663         5b5e036 Revert to pre-25.1 behavior in ffap
35664         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
35665         3ace730 Attempt to fix 64-bit AIX build
35666         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
35667         c04ac8a Document that variable binding order is unspecified
35668         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
35669         08de101 Fix M-x hints on Mac port
35670         86a297a Work around reporting a dpi change in apply_xft_settings
35671         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
35672         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
35673         88cdf14 Improve skeleton docstrings
35675 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35677         Merge from origin/emacs-25
35679         4179238 Improve documentation of 'w32-scroll-lock-modifier'
35681 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35683         Merge from origin/emacs-25
35685         9adb101 Document 'describe-fontset'
35686         229315c ; Add missing symbol quoting.
35687         3d94931 Repair desktop restoration on text terminals
35688         43022f9 Ignore forward-sexp-function in js-mode indentation code
35689         b19fb49 Improve documentation of 'define-coding-system'
35690         467768f Fix Bug#25162
35691         6db78ae Fix a typo in define-abbrev-table
35692         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
35693         442e2f6 Fixes related to select-enable-clipboard
35694         e4ac450 Define struct predicate before acccesors
35695         08decbd Doc fix for vc-git
35696         5531e75 Further improve make-dist checking
35697         953bf67 Improve previous make-dist change
35698         129645a Make make-dist --snapshot do some sanity checks
35700         # Conflicts:
35701         #       lisp/menu-bar.el
35703 2017-01-01  Alan Mackenzie  <acm@muc.de>
35705         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
35707         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
35708         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
35710         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
35711         t to (&rest def-form).
35713 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35715         Fix copyright years by hand
35717         These are dates that admin/update-copyright did not update, or
35718         updated incorrectly.
35720 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35722         Update copyright year to 2017
35724         Run admin/update-copyright.
35726 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
35728         Clarify internal_catch etc.
35730         The recent change to internal_catch and friends relied on some
35731         confusion I introduced to the code in 2013.  Attempt to fix
35732         the confusion by clarifying the code instead.  This saves an
35733         instruction and a load dependency in the typical case.
35734         * src/eval.c (internal_catch, internal_condition_case)
35735         (internal_condition_case_1, internal_condition_case_2)
35736         (internal_condition_case_n): Undo the previous change.  Instead,
35737         use use ‘c’ rather than ‘handlerlist’ in the typical case.
35738         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
35740 2016-12-31  Ken Brown  <kbrown@cornell.edu>
35742         Further improve filenotify-tests.el
35744         * test/lisp/filenotify-tests.el
35745         (file-notify--test-read-event): Adapt to file monitors of type
35746         GFamFileMonitor, which occur on Cygwin.
35747         (file-notify--test-monitor): Update doc string.
35749 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
35751         * src/xdisp.c (string_from_display_spec): Simplify.
35753 2016-12-31  Alan Third  <alan@idiocy.org>
35755         Rework NS event handling (bug#25265)
35757         * src/nsterm.m (unwind_apploopnr): Remove.
35758         (ns_read_socket): Remove references to apploopnr.  Make processing the
35759         NS event loop conditional on being in the main thread.
35760         (ns_select): Remove references to apploopnr.  Remove all fd_handler
35761         related stuff.  Check if there are events waiting on the NS event
35762         queue rather than running the event loop.  Remove unused variables and
35763         code.
35764         (fd_handler): Remove.
35765         (ns_term_init): Remove creation of fd_handler thread.
35766         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
35767         EmacsView:windowDidExpose): Remove send_appdefined.
35768         (ns_send_appdefined): Always check the event queue for
35769         applicationDefined events rather than relying on send_appdefined var.
35770         * src/nsterm.h: Remove reference to fd_handler method.
35772 2016-12-31  Philipp Stephani  <phst@google.com>
35774         Checkdoc: use syntax functions instead of regex
35776         In checkdoc.el, get rid of the error-prone regex to find definition
35777         forms, and use existing syntax-based navigation functions instead.
35778         This fixes a corner case with one-argument `defvar' forms.
35780         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
35781         (checkdoc-next-docstring, checkdoc-defun): Use it.
35782         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
35783         Add unit test.
35785 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
35787         Don't define NOMINMAX on MS-Windows
35789         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
35790         longer needed with the current sources and MinGW headers, while
35791         defining NOMINMAX causes an annoying compiler warning.
35793 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
35795         Simplify code in eval.c that calls 'setjmp'
35797         * src/eval.c (internal_catch, internal_condition_case)
35798         (internal_condition_case_1, internal_condition_case_2)
35799         (internal_condition_case_n): Factor out the common tail of the
35800         functions.
35802 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
35804         Simplify code in 'string_from_display_spec'
35806         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
35807         test before the loop.
35809 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
35811         Serialize random number generation on MS-Windows
35813         * src/w32.c (rand_as183): New function.
35814         (random): Use it instead of MS runtime's 'rand'.  This avoids
35815         producing separate and identical random series in each Lisp
35816         thread.
35817         (srandom): Modify to supply 3 seed values to 'rand_as183'.
35819 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
35821         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
35823 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
35825         Don't call xg_select for a NextStep build.
35827         NextStep builds use glib but don't use xg_select.
35829         * src/process.c (wait_reading_process_output): Don't call xg_select
35830         for a NextStep build.
35832 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
35834         Increase the obarray size.
35836         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
35837         the time we've started.  The old obarray size ensured an average chain
35838         length of 10 or more.
35840         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
35842 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
35844         Initialize thread support for Xlib.
35846         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
35847         before doing anything else with X.
35849 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35851         Rename primary_thread to main_thread
35853         This avoids the confusion of using two different phrases "main thread"
35854         and "primary thread" internally to mean the same thing.  See:
35855         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
35856         * src/thread.c (main_thread): Rename from primary_thread,
35857         since the new name no longer clashes with main_thread_id
35858         and Emacs internals normally call this the "main thread".
35859         (init_main_thread): Rename from init_primary_thread.
35860         (main_thread_p): Rename from primary_thread_p.
35861         All uses changed.
35863 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35865         Rename main_thread to main_thread_id and simplify
35867         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
35868         [HAVE_PTHREAD]: Do not include pthread.h.
35869         (main_thread): Remove.  All uses replaced by main_thread_id,
35870         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
35871         the main_thread_id established by sysdep.c, there is no need for a
35872         separate copy of the main thread ID here.
35873         (module_init): Remove.  All uses removed.
35874         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
35875         Rename from main_thread.  All uses changed.  Now extern.
35877 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
35879         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
35881 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35883         * src/sysdep.c (deliver_process_signal): Improve comment.
35885 2016-12-30  Alan Mackenzie  <acm@muc.de>
35887         CC Mode: Fix the fontification of a spuriously recognized enum member.
35889         The "enum" was in an argument list, but triggered the fontification of a
35890         following identifier in the function block as though it were in an enum
35891         declaration.
35893         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
35894         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
35895         call to c-font-lock-enum-body.
35897         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
35898         variable.
35900 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
35902         Bump Emacs version to 25.1.91
35904         * README:
35905         * configure.ac:
35906         * msdos/sed2v2.inp:
35907         * nt/README.W32: Bump Emacs version.
35908         * lisp/ldefs-boot.el: Update.
35910 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
35912         Attempt to fix crashes with threads in GTK builds
35914         * src/xgselect.c (xg_select): Call pselect via thread_select, not
35915         directly, to avoid running Lisp (via unblock_input) when more than
35916         one thread could be running.  (Bug#25247)
35917         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
35918         xg_select directly instead of through thread_select.
35919         * src/xgselect.h (xg_select): Last 2 arguments are no longer
35920         'const', for consistency with thread_select.
35922 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
35924         Add entry for biblatex
35926         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
35927         entry for biblatex macros.
35929 2016-12-30  Alan Mackenzie  <acm@muc.de>
35931         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
35933         The ambiguity was whether INITVALUE is evaluated when it's not going to be
35934         used to set SYMBOL's value.
35936         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
35938         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
35940 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
35942         ffap-string-at-point: Limit max length of active region
35944         Prevents that 'ffap-guesser' waste time checking large strings
35945         which are likely not valid candidates (Bug#25243).
35946         * lisp/ffap.el (ffap-max-region-length): New variable.
35947         (ffap-string-at-point): Use it.
35948         * test/lisp/ffap-tests.el: New test suite.
35949         (ffap-tests-25243): Add test for this bug.
35951 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
35953         last-chance: Also ignore NEWS files + typo fixes
35955         * admin/last-chance.el: Fix typo in copyright notice.
35956         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
35957         (last-chance-cleanup): Fix typo in docstring.
35959 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
35961         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
35963 2016-12-29  Alan Mackenzie  <acm@muc.de>
35965         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
35967         The ambiguity was whether INITVALUE is evaluated when it's not going to be
35968         used to set SYMBOL's value.
35970         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
35972 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
35974         Improve filenotify-tests.el
35976         * src/inotify.c (Finotify_valid_p):
35977         * src/kqueue.c (Fkqueue_valid_p):
35978         * src/w32notify.c (Fw32notify_valid_p):
35979         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
35980         (Fgfile_monitor_name): New defun.
35981         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
35983         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
35984         New defun, derived from `file-notify--test-read-event-timeout'.
35985         Replace all calls of `read-event' by this.
35986         (file-notify--test-timeout): Fix docstring.
35987         (file-notify--test-monitor): New defun.
35988         (file-notify--deftest-remote): Do not bind
35989         `file-notify--test-read-event-timeout' anymore.
35990         (file-notify-test00-availability): Print also monitor, if existent.
35991         (file-notify--test-with-events): Add an additional
35992         `file-notify--test-read-event' call, in order to get it work
35993         after `file-notify-add-watch'.  Remove special timeout for cygwin.
35994         (file-notify-test02-events): Make a better check for cygwin.
35995         (file-notify-test06-many-events): Improve event list for cygwin.
35996         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
35998 2016-12-29  Alan Mackenzie  <acm@muc.de>
36000         Partially correct fontification of "(b*3)", and the like, in C++ Mode
36002         This problem is caused by the fundamental ambiguity in C++ between
36003         argument declarations and initialization clauses.
36005         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
36006         paren preceded by an arithmetic operator, we give this the context nil, not
36007         'arglist.
36009         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
36010         New lang consts and vars.
36012 2016-12-29  Alan Mackenzie  <acm@muc.de>
36014         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
36016         This is because there are times when this variable is changed by setcar before
36017         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
36018         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
36020         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
36022 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
36024         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
36026         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
36027         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
36029 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
36031         Release Tramp 2.3.1
36033         * doc/misc/trampver.texi:
36034         * lisp/net/trampver.el: Change version to "2.3.1".
36036         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
36037         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
36039         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
36040         (tramp-compat-file-name-quote)
36041         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
36043 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
36045         Simplify prog1 implementation
36047         Inspired by a suggestion from Chris Gregory in:
36048         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
36049         On my platform, this generates exactly the same machine insns.
36050         * src/eval.c (prog_ignore): Rename from unwind_body, since
36051         it’s more general than that.  All callers changed.
36052         (Fprog1): Simplify by using prog_ignore.
36053         (Fwhile): Clarify by using prog_ignore.
36055 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
36057         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
36059         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
36061 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
36063         Remove a use of lexical-let
36065         * lisp/gnus/message.el (message-completion-function): Just use let,
36066         since the file now uses lexical-binding.
36068 2016-12-27  Ken Brown  <kbrown@cornell.edu>
36070         Improve filenotify-tests.el on Cygwin (Bug #21804)
36072         * test/lisp/filenotify-tests.el [CYGWIN]
36073         (file-notify--test-read-event-timeout): Increase.
36074         (file-notify--test-with-events): Add delay before executing body.
36075         (file-notify-test02-events, file-notify-test04-file-validity):
36076         Adjust expected results.
36078 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
36080         Fix expand-file-name on DOS_NT systems when /: escaping is used
36082         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
36083         file names escaped by "/:".  Don't recursively expand
36084         default-directory escaped with "/:" which is not followed by a
36085         drive spec.  (Bug#25183)
36087 2016-12-27  Bake Timmons  <65pandas@gmail.com>
36089         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
36091         * doc/misc/gnus.texi (Mail Source Specifiers):
36092         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
36093         the correct `((group))' value.  (bug#25275) (tiny change)
36095 2016-12-27  Bake Timmons  <65pandas@gmail.com>
36097         Fix bug in customizing `mail-sources' variable (bug#25274)
36099         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
36100         for lone argument. (bug#25274) (tiny change)
36102 2016-12-26  Philipp Stephani  <phst@google.com>
36104         Checkdoc: Don't require a space before an arg list
36106         See Bug#24998.
36108         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
36109         space before a argument list.
36110         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
36111         Add unit test.
36113 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
36115         Document 'default-toplevel-value' and 'set-default-toplevel-value'
36117         * doc/lispref/variables.texi (Default Value): Document
36118         'default-toplevel-value' and 'set-default-toplevel-value'.
36120 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
36122         Add zshrc and zshenv detection to sh-mode (bug#25217)
36124         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
36126 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
36128         Fix typo in lisp.h reordering patch
36130         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
36131         Reported by Eli Zaretskii (Bug#25128#19).
36133 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
36135         regex.h now includes sys/types.h
36137         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
36138         Do not include sys/types.h; no longer needed.
36139         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
36140         glibc regex.h does, and POSIX has blessed this since 2008.
36142 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
36144         Reorder lisp.h to declare types before using them
36146         This puts basic functions for types to be after the corresponding
36147         type definitions.  This is a more-common programming style in C,
36148         and will make it easier to port Emacs to gcc
36149         -fcheck-pointer-bounds, since the functions now have access to the
36150         corresponding types' sizes.  This patch does not change the code;
36151         it just moves declarations and definitions and removes
36152         no-longer-needed forward declarations (Bug#25128).
36153         * src/buffer.c, src/data.c, src/image.c:
36154         Include process.h, for PROCESSP.
36155         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
36156         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
36157         * src/termhooks.h (TERMINALP, XTERMINAL):
36158         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
36159         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
36160         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
36161         Move here from lisp.h.
36162         * src/intervals.h: Include buffer.h, for BUFFERP.
36163         Include lisp.h, for Lisp_Object.
36164         * src/lisp.h: Reorder declarations and definitions as described
36165         above.  Move thread includes to be later, so that they can use the
36166         reordered definitions.  Move some symbols to other headers (noted
36167         elsewhere).  Remove forward decls that are no longer needed.
36168         * src/thread.h: Include systhread.h here, not in lisp.h,
36169         since lisp.h itself does not need systhread.h.
36171 2016-12-25  Leo Liu  <sdl.web@gmail.com>
36173         Don't modify minibuffer variables globally
36175         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
36177 2016-12-25  Dima Kogan  <dima@secretsauce.net>
36179         diff-mode auto-refines only after a successful motion
36181         Prior to this patch (if enabled) auto-refinement would kick in after all
36182         hunk navigation commands, even if the motion failed.  This would result
36183         in a situation where the hunk navigation would signal an error and beep,
36184         but yet still accomplish potentially useful work, by auto-refining.
36185         This patch moves the auto-refinement code to only run when a motion was
36186         successful
36188         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
36189           diff--internal-hunk-prev): Removed auto-refinement-triggering code
36190         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
36191           auto-refinement-triggering code
36193 2016-12-25  Dima Kogan  <dima@secretsauce.net>
36195         diff-mode is able to better handle file headers
36197         This fixes a regression introduced in
36199           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
36201         This bug was filed in
36203           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
36205         Patches generated from a VCS such as git contain a patch message at the
36206         start, and diff-mode is now once-again able to properly able to ignore
36207         this message when issuing navigation commands around the message.
36209         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
36210           thoroughly ignore the header when looking for a beginning of file
36211           diffs.
36213 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
36215         Use libpng-config --ldflags, not --libs
36217         Problem reported by James K. Lowden (Bug#25268).
36218         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
36220 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
36222         Revert to pre-25.1 behavior in ffap
36224         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
36225         the same behavior as in Emacs 24.x.  (Bug#25264)
36226         Explain the trade-offs of customizing this in the doc string.
36228 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
36230         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
36232 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
36234         Remove redundant `save-match-data' in whitespace.el
36236         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
36237         (whitespace-report-region): Remove redundant `save-match-data' calls.
36239 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
36241         Fix whitespace eob cleanup
36243         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
36244         of empty lines at end of buffer.
36245         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
36246         (whitespace-tests--cleanup-string): New helper function for tests.
36248 2016-12-24  Hong Xu  <hong@topbug.net>
36250         Fix timezone detection of parse-iso8601-time-string
36252         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
36253         parsing.  Add a doc string.  (Bug#25086)
36254         * src/editfns.c (Fdecode-time): Doc fix.
36255         * doc/misc/emacs-mime.texi (time-date): Add an example for
36256         parse-iso8601-time-string.
36257         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
36258         tests for parse-iso8601-time-string.
36260 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
36262         Simplify exec_byte_code via moving decls etc.
36264         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
36265         initializers into decls, and by omitting some unnecessary changes
36266         to ‘top’.
36268 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
36270         Remove interpreter’s byte stack
36272         This improves performance overall on my benchmark on x86-64,
36273         since the interpreted program-counter resides in a machine
36274         register rather than in RAM.
36275         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
36276         is no longer a byte stack to decode.
36277         * src/bytecode.c (struct byte_stack, byte_stack_list)
36278         (relocate_byte_stack): Remove.  All uses removed.
36279         (FETCH): Simplify now that pc is now local (typically, in a
36280         register) and no longer needs to be relocated.
36281         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
36282         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
36283         (exec_byte_code): Allocate a copy of the function’s bytecode,
36284         so that there is no problem if GC moves it.
36285         * src/lisp.h (struct handler): Remove byte_stack member.
36286         All uses removed.
36287         * src/thread.c (unmark_threads): Remove.  All uses removed.
36288         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
36289         All uses removed.  m_stack_bottom is now the first non-Lisp field.
36291 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
36293         BYTE_CODE_SAFE typo fix
36295         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
36296         not on whether it is defined.
36298 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
36300         BYTE_CODE_SAFE cleanups
36302         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
36303         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
36304         Remove unused members ‘top’ and ‘bottom’.
36305         (exec_byte_code): Nest inside { } to avoid GCC warning about
36306         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
36308 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
36310         last-chance: new utility lib for dangling deterrence
36312         * admin/last-chance.el: New file.
36314 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
36316         Use max_align_t instead of void *
36318         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
36320 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
36322         Attempt to fix 64-bit AIX build
36324         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
36325         type-casts that assumed 32-bit pointers.  (Bug#25141)
36327 2016-12-23  Philipp Stephani  <phst@google.com>
36329         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
36331         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
36333 2016-12-23  Philipp Stephani  <phst@google.com>
36335         Document that variable binding order is unspecified
36337         * doc/lispref/variables.texi (Local Variables):
36338         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
36339         'cl-letf' is unspecified.
36341 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
36343         Prevent infloops in redisplay due to truncate-lines and overlays
36345         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
36346         redisplay_window when a screen line ends in an overlay string with
36347         a newline.  (Bug#25246)
36349 2016-12-23  Philipp Stephani  <phst@google.com>
36351         Treat incomplete integer literals as errors
36353         See Bug#25120.
36355         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
36356         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
36357         incomplete integer literals.
36359 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
36361         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
36363 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
36365         Fix M-x hints on Mac port
36367         * lisp/simple.el (execute-extended-command--shorter): Call
36368         input-pending-p to trigger input processing on some systems, such
36369         as Mac port.  (Bug#23002)
36371 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
36373         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
36375 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
36377         Avoid aborts due to unaligned byte stack of threads
36379         * src/thread.c (run_thread): Make sure the pointers to thread byte
36380         stack are properly aligned.  (Bug#25247)
36382 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
36384         Pacify --enable-gcc-warnings
36386         * src/charset.c (load_charset_map):
36387         * src/coding.c (decode_coding_object):
36388         * src/frame.c (make_frame):
36389         * src/window.c (Frecenter):
36390         Mark locals with UNINIT to silence false alarms from
36391         -Wmaybe-uninitialized.
36392         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
36393         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
36394         Check and assume that values are nonnull.  This pacifies
36395         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
36396         Fmake_local_variable.
36398 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
36400         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
36402         * src/thread.c (primary_thread_p): New function.
36403         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
36404         meant for thread objects allocated dynamically.
36405         * src/thread.h (primary_thread_p): Add prototype.
36407 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
36409         Work around reporting a dpi change in apply_xft_settings
36411         * src/xsettings.c (apply_xft_settings): Don't report a change
36412         when dpi settings do not differ substantially.
36414 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
36416         Use completion-at-point in verilog-mode
36418         There were some functions in verilog-mode that implemented in-buffer
36419         completion, but this needlessly duplicates completion-at-point
36420         functionality, and the popup window management had problems
36421         (see Bug #23842).  We need to keep them for backwards compatibility with
36422         older emacs versions, but use completion-at-point if available.
36424         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
36425         obsolete if completion-cycle-threshold is available.
36426         (verilog-mode-map, verilog-menu): Bind completion-at-point and
36427         completion-help-at-point in preference to verilog-complete-word and
36428         verilog-show-completions, respectively.
36429         (verilog-mode): Add verilog-completion-at-point to
36430         completion-at-point-functions.
36431         (verilog-completion-at-point): New function.
36432         (verilog-show-completions, verilog-complete-word): Use it to avoid code
36433         duplication.
36435 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
36437         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
36439         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
36440         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
36441         retain their hardwired values, and all other dictionaries are given
36442         sensible defaults.
36444 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
36446         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
36447         and xetex commands.
36449 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
36451         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
36453         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
36454         for thread objects.  They are marked via the all_threads list, and
36455         therefore don't need to be inserted into the red-black tree, so
36456         mem_find will never find them.  Reported by Daniel Colascione
36457         <dancol@dancol.org> in
36458         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
36460 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
36462         * src/data.c (Fmake_variable_frame_local): Remove
36464         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
36466         * src/data.c (swap_in_symval_forwarding, set_internal)
36467         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
36468         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
36469         Don't pay attention to ->frame_local any more.
36470         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
36471         Smake_variable_frame_local.
36473         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
36474         of make-variable-frame-local.
36476         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
36477         frame-local case.
36479         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
36481         * src/frame.c (store_frame_param):
36482         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
36484         * src/widget.c (first_frame_p): Remove, unused.
36486 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
36488         Port dumping better to WSL
36490         Problem reported by Angelo Graziosi in:
36491         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
36492         * src/sysdep.c (disable_address_randomization):
36493         Detect buggy platforms where 'personality' always returns 0.
36495 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
36497         Remove gateway methods in Tramp
36499         * doc/misc/tramp.texi (Top, Configuration): Remove section
36500         `Gateway methods', insert section `Firewalls' in menu.
36501         (History): Gateways are removed now.
36502         (Gateway methods): Remove section.
36503         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
36504         (Firewalls): New section.
36506         * etc/NEWS: Gateway methods in Tramp have been removed.
36508         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
36509         (tramp-file-name-port, tramp-accept-process-output): Simplify.
36511         * lisp/net/tramp-gw.el: Remove.
36513         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
36514         (tramp-gw-socks-method): Remove declarations.
36515         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
36516         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
36517         (tramp-do-copy-or-rename-file-out-of-band)
36518         (tramp-compute-multi-hops, tramp-maybe-open-connection):
36519         Remove gateway support.
36521         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
36522         Remove gateway tests.
36524 2016-12-20  Alan Mackenzie  <acm@muc.de>
36526         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
36528         lisp/progmodes/cc-defs.el: Amend the version number.
36529         etc/NEWS: Add an item explaining the change.
36531 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
36533         files-test-read-file-in-: Delete temporary dir on exit
36535         * test/lisp/files-tests.el (files-test-read-file-in-~):
36536         Create subdir inside dir.
36538 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
36540         ibuffer: New filters and commands
36542         Add several new filters and improve documentation.
36543         See discussion on:
36544         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
36545         * lisp/ibuf-ext.el: Add paragraph to file commentary.
36546         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
36547         (ibuffer-filter-groups): Update doc string.
36548         (ibuffer-unary-operand): Add new function that transparently
36549         handles 'not' formats for compound filters.
36550         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
36551         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
36552         (ibuffer-decompose-filter): Handle 'and' as well,
36553         and handle 'not' consistently with other uses.
36554         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
36555         (ibuffer--or-and-filter): New defun.
36556         (ibuffer-or-filter, ibuffer-and-filter): Use it.
36557         (ibuffer-format-qualifier): Handle 'and' filters as well.
36558         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
36559         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
36560         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
36561         Add new pre-defined filters.
36562         (ibuffer-filter-chosen-by-completion): Add new interactive command
36563         for easily choosing a filter from the descriptions.
36564         * lisp/ibuffer.el (ibuffer-mode-map):
36565         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
36566         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
36567         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
36568         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
36569         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
36570         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
36571         and '/ DEL' respectively.
36572         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
36573         skip specification.
36574         Add menu entries for the new filters.
36575         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
36576         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
36577         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
36578         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
36579         ibuffer-decompose-filter, ibuffer-and-filter
36580         ibuffer-or-filter): Add new tests; they are skipped unless
36581         ibuf-ext is loaded.
36583 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
36585         Update NEWS
36587         * etc/NEWS (Image-Dired): New section.
36589 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
36591         Recognize graphicsmagick in image-dired
36593         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
36594         (image-dired-cmd-create-thumbnail-options):
36595         (image-dired-cmd-create-temp-image-program):
36596         (image-dired-cmd-create-temp-image-options):
36597         (image-dired-cmd-create-standard-thumbnail-options):
36598         (image-dired-cmd-rotate-thumbnail-program):
36599         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
36600         gm(1) executable.
36602 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
36604         Improve skeleton docstrings
36606         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
36607         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
36608         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
36609         `skeleton-end-hook' above the explanation of skeleton syntax.
36611 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
36613         Implement asynchronous thumbnail generation in image-dired
36615         Additionally, all FOO-options defcustoms that were in fact shell command
36616         strings have been converted to argument lists.  Another method for
36617         shrinking PNG thumbs with optipng(1) has been added.
36618         * lisp/image-dired.el: Remove TODO item in commentary.
36619         (image-dired-cmd-create-thumbnail-options):
36620         (image-dired-cmd-create-temp-image-options):
36621         (image-dired-cmd-rotate-thumbnail-options):
36622         (image-dired-cmd-rotate-original-options):
36623         (image-dired-cmd-write-exif-data-options):
36624         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
36625         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
36626         Change string type to file.
36627         (image-dired-cmd-create-standard-thumbnail-command): Remove.
36628         (image-dired-cmd-pngnq-options):
36629         (image-dired-cmd-create-standard-thumbnail-options):
36630         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
36631         New defcustoms.
36632         (image-dired-queue, image-dired-queue-active-jobs):
36633         (image-dired-queue-active-limit): New variables.
36634         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
36635         (image-dired-optipng-thumb): New functions.
36636         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
36637         Use start-process instead of call-process.  Set file modes.  Trigger
36638         PNG file optimization in process sentinel.
36639         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
36640         (image-dired-display-thumbs):
36641         (image-dired-create-thumbs): Don't expect call-process return value.
36642         (image-dired-display-image, image-dired-rotate-thumbnail): Use
36643         start-process instead of call-process.
36644         (image-dired-rotate-original, image-dired-set-exif-data):
36645         (image-dired-get-exif-data): Adapt to arguments being an arg list.
36647 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
36649         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
36651         * src/indent.c (restore_window_buffer): New function.
36652         (Fvertical_motion): Use it to restore window's buffer.
36654 2016-12-19  Glenn Morris  <rgm@gnu.org>
36656         Improve default load-path for uninstalled CANNOT_DUMP builds
36658         * src/lread.c (load_path_default) [CANNOT_DUMP]:
36659         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
36660         I think this became an issue several years ago when we stopped
36661         using EMACSLOADPATH in the Makefiles; however this change should
36662         improve the CANNOT_DUMP uninstalled case in general.
36664 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
36666         Improve documentation of 'w32-scroll-lock-modifier'
36668         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
36669         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
36671         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
36672         fix.  (Bug#25204)
36674 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
36676         Document 'describe-fontset'
36678         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
36679         (Bug#25216)
36681 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
36683         Document 'describe-fontset'
36685         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
36686         (Bug#25216)
36688 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
36690         Fix crashes upon C-g on Posix TTY frames
36692         * src/thread.h (struct thread_state): New member not_holding_lock.
36693         (maybe_reacquire_global_lock): Add prototype.
36694         * src/thread.c: Include syssignal.h.
36695         (maybe_reacquire_global_lock): New function.
36696         (really_call_select): Set the not_holding_lock member of the
36697         thread state before releasing the lock, and rest it after
36698         re-acquiring the lock when the select function returns.  Block
36699         SIGINT while doing this to make sure we are not interrupted on TTY
36700         frames.
36701         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
36702         functions.
36703         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
36704         Add prototypes.
36705         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
36706         maybe_reacquire_global_lock.  (Bug#25178)
36708 2016-12-19  Sam Steingold  <sds@gnu.org>
36710         avoid Eager macro-expansion failure: (void-function string-to-list)
36712         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
36713           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
36714           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
36716 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
36718         Fix Bug#24980
36720         * lisp/ido.el (ido-add-virtual-buffers-to-list):
36721         Suppress Tramp invocation.  (Bug#24980)
36723 2016-12-18  Philipp Stephani  <phst@google.com>
36725         Add a new compile error regexp for Clang includes
36727         Clang uses a slight variation of GCC's include format, causing includes
36728         to be treated as warnings instead of informational messages.  Use a new
36729         regular expression instead.
36731         * lisp/progmodes/compile.el
36732         (compilation-error-regexp-alist-alist): New element
36733         `clang-include' for Clang-style "included from" lines.
36734         * test/lisp/progmodes/compile-tests.el
36735         (compile-tests--test-regexps-data): Add unit test.
36737 2016-12-18  Alan Third  <alan@idiocy.org>
36739         Reinstate ispell character offset (bug#25219)
36741         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
36742         ispell-offset used to be.
36744 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
36746         Bind new image-mode scroll commands in image-dired
36748         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
36749         to new image-mode commands.
36751 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
36753         Fix rx-any with range with ?\] and ?-
36755         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
36756         list (Bug#25123).
36757         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
36759 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
36761         Use floor of mtime instead of rounding for thumb property
36763         This seems to be the correct thing to do, at least more in line with
36764         what at least one other implementation does.  Anything using
36765         gnome-desktop [0] effectively does the same, as
36766         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
36767         comparison and time_t on GNU/Linux is a signed int.
36768         [0] https://git.gnome.org/browse/gnome-desktop/
36769         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
36771 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
36773         Fix spelling mistake in private defun name (Bug#25218)
36775         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
36776         `flyspell-adjust-cursor-point'.
36778 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
36780         Remove XEmacs support from flyspell.el (Bug#25218)
36782         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
36783         (flyspell-word, flyspell-delete-region-overlays):
36784         (flyspell-correct-word-before-point): Remove XEmacs support.
36785         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
36787 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
36789         More tests for Tramp
36791         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
36792         file names.
36794         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
36795         name properly.
36797         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
36798         Mark quoted file name as absolute.  (Bug#25183)
36799         (tramp--test-windows-nt-and-batch)
36800         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
36801         (tramp--test-windows-nt-or-smb-p): Rename from
36802         `tramp--test-smb-windows-nt-p'.  Adapt callees.
36803         (tramp--test-check-files): Improve checks for environment variables.
36804         (tramp-test33-special-characters)
36805         (tramp-test33-special-characters-with-stat)
36806         (tramp-test33-special-characters-with-perl)
36807         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
36808         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
36809         (tramp-test34-utf8-with-ls): Add more checks for skip.
36811 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
36813         Fix comments
36815         * src/thread.h (struct thread_state): Fix comments.
36816         * src/process.c (wait_reading_process_output): Fix a typo in
36817         commentary.
36819 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
36821         Repair desktop restoration on text terminals
36823         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
36824         frame here, instead of in desktop-restoring-frameset.  That's
36825         because desktop-read wants to know whether frameset will actually
36826         be restored, and has fallback procedures up its sleeve when it
36827         won't be; these fallbacks need to be invoked when the frameset is
36828         not going to be restored.  (Bug#24298)
36830 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
36832         Fix crashes on MS-Windows during dumping
36834         * src/unexw32.c (get_section_info): Make extra_bss_size be the
36835         maximum of extra_bss_size and extra_bss_size_static.  This avoids
36836         computing the size of the output file smaller than it actually
36837         needs to be, which then causes copy_executable_and_dump_data to
36838         write beyond the requested size of the file mapping, thus relying
36839         on the OS roundup to page boundary to save us from ourselves.  See
36840         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
36841         for the details.
36843         * lib/stdio-impl.h: Revert the workaround fix of not including
36844         errno.h for MinGW.
36846 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
36848         Ignore forward-sexp-function in js-mode indentation code
36850         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
36851         (js--maybe-goto-declaration-keyword-end):
36852         Bind forward-sexp-function to nil (bug#25215).
36854 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
36856         Be more selective clearing the image cache
36858         * lisp/image-dired.el (image-dired-create-thumbs):
36859         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
36860         the current thumbnail file from the image cache.
36862 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
36864         Unbreak the MinGW build
36866         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
36867         this, temacs crashes while dumping.
36869 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
36871         Make seq-into return the sequence when no conversion needed
36873         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
36874           no conversion is needed.
36875         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
36876           a regression test checking for identity.
36878 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
36880         Improve documentation of 'define-coding-system'
36882         * lisp/international/mule.el (define-coding-system): Warn against
36883         possible infinite recursion in pre-write-conversion and
36884         post-read-conversion functions.  (Bug#25203)
36886 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
36888         New commands image-scroll-left and image-scroll-right
36890         * etc/NEWS: Mention them.
36891         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
36892         functions.
36894 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
36896         More image-dired refactoring
36898         * lisp/image-dired.el (image-dired-thumbnail-mode):
36899         (image-dired-display-image-mode): Add :group 'image-dired so
36900         customize-mode works.
36901         (image-dired-display-image): Rearrange.
36902         (image-dired-copy-with-exif-file-name): This map is for side effect.
36903         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
36905 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
36907         * lisp/image-dired.el: Turn on lexical-binding.
36909 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
36911         Teach image-dired to also generate large thumbs
36913         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
36914         standard-large option.
36915         (image-dired-thumb-size): Add condition for standard-large storage.
36916         (image-dired-insert-thumbnail): Check for new option.  Change
36917         thumbnail path conditionally.
36918         (image-dired-thumb-size): New function.
36919         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
36921 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
36923         Merge from gnulib
36925         This incorporates:
36926         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
36927         2016-12-12 fpending: port to native Windows with MSVC
36928         * .gitignore: Do not ignore lib/stdio-impl.h.
36929         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
36930         Copy from gnulib.
36931         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
36932         * lib/stdio-impl.h:
36933         New file, copied from gnulib.
36934         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
36936 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
36938         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
36939         Append newline.
36941 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
36943         Don't abuse princ and spam messages
36945         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
36946         (image-dired-display-thumb-properties):
36947         (image-dired-dired-display-properties): Nix princ.  Bind
36948         message-log-max to nil.
36950 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
36952         Inherit things from special-mode and image-mode
36954         * lisp/image-dired.el: Require image-mode library.
36955         (image-dired-thumbnail-mode-map): Remove superfluous binding.
36956         (image-dired-display-image-mode-map): Remove superfluous binding.
36957         Add movement remaps from image-mode-map.
36958         (image-dired-thumbnail-mode): Derive from special-mode.
36959         (image-dired-display-image-mode): Derive from special-mode. Call
36960         image-mode-setup-winprops.
36962 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
36964         Fix some image-dired customization types
36966         * lisp/image-dired.el (image-dired): Add info link to defgroup.
36967         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
36968         (image-dired-db-file, image-dired-temp-image-file):
36969         (image-dired-cmd-create-thumbnail-program):
36970         (image-dired-cmd-create-temp-image-program):
36971         (image-dired-cmd-rotate-thumbnail-program):
36972         (image-dired-cmd-rotate-original-program):
36973         (image-dired-temp-rotate-image-file):
36974         (image-dired-cmd-write-exif-data-program):
36975         (image-dired-cmd-read-exif-data-program): Set type to file.
36976         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
36977         type at runtime, since setting image-dired-thumb-size does not
36978         automatically set image-dired-thumb-width and image-dired-thumb-height.
36980 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
36982         Prevent crashes in xg_select due to concurrency
36984         * src/xgselect.c (xg_select): Don't call Glib functions that use
36985         'context' if we failed to acquire it.  This means some other
36986         thread owns the context, in which case both using the context and
36987         calling block_input/unblock_input will step on that thread's toes
36988         and eventually lead to crashes.  (Bug#25172)
36990 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
36992         Fix circular list handling in seq-mapn
36994         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
36995         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
36996           Add a regression test.
36998 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
37000         Check in tramp-tests.el, that environment variables are set correctly
37002         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
37003         Check also, that environment variables are set correctly.
37005 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
37007         Protect environment variables with double quotes in Tramp
37009         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
37010         Protect environment variables with double quotes.
37012 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
37014         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
37016 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
37018         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
37020 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
37022         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
37024 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
37026         Recognize pngnq or pngnq-s9
37028         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
37029         pngnq-s9 as a possible executable.
37031 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
37033         Update standard image-dired thumbnail location
37035         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
37036         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
37038 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
37040         Reset window scroll when displaying an image
37042         When viewing a large image full size and scrolling, for instance, to
37043         the lower right corner, then selecting a much smaller image in the
37044         thumbnail buffer, the window stays scrolled so the new image is out of
37045         the window.  One must scroll back to the "origin" to view the new
37046         displayed image, or just kill the image-dired-display-image buffer and
37047         try again.  This fixes the issue.
37048         * lisp/image-dired.el (image-dired-display-window-width):
37049         (image-dired-display-window-height): Operate on a window as argument.
37050         (image-dired-display-image): Bind (image-dired-display-window) and use
37051         it. Set window vscroll and hscroll to zero when refreshing the
37052         buffer's contents.
37054 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
37056         More image-dired polish
37058         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
37059         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
37060         undo list. Add image-dired-file-name-at-point to
37061         file-name-at-point-functions to facilitate find-file and friends.
37062         (image-dired-thumbnail-display-external):
37063         (image-dired-dired-display-external): Use start-process instead, to
37064         avoid needlessly blocking and using a shell.
37066 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
37068         Replace ldefs-boot with a much smaller file
37070          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
37071            (bootstrap): Depend on bootstrap-build.
37072          * admin/ldefs-clean.el: New file.
37073          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
37074          * lisp/ldefs-boot.el: Remove.
37075          * lisp/ldefs-boot-auto.el: New file.
37076          * lisp/ldefs-boot-manual.el: New file.
37077          * lisp/loadup.el: Load ldefs-boot-manual.el.
37078          * src/emacs.c (generating_ldefs_boot): New variable.
37079            (main): Check whether we are generating ldefs.
37080          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
37081            requested.
37082          * src/lisp.h (generating_ldefs_boot): New variable.
37083          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
37084            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
37085            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
37086            ldefs-boot.
37087          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
37089 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37091         Remove support for aspell < 0.60 (from 2004)
37093         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
37094         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
37096 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37098         Minor docstring and comment fixes to ispell.el
37100         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
37101         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
37102         (ispell-set-spellchecker-params): Change double-single quotes to
37103         single single quotes in comment.
37105 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37107         Remove unused variable
37109         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
37111 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37113         Remove XEmacs-specific ispell-with-no-warnings
37115         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
37116         defmacro, needed only for XEmacs.
37117         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
37119 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37121         Remove meaningless defconst ispell-version
37123         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
37124         firmly part of Emacs, and the version hasn’t changed since 2003, and
37125         isn’t used anywhere, remove it.  3rd-party code can better use the
37126         Emacs version, or feature or function checks.
37127         (ispell-check-version): No longer report ispell.el version.
37129 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37131         Remove boundp test for always-bound symbol
37133         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
37134         defvar’d at the top of the file, so remove a test to see if it is
37135         bound.
37137 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37139         Remove support for ispell < 3.1.12
37141         * lisp/textmodes/ispell.el (ispell-offset): Remove.
37142         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
37143         (ispell-process-line): No longer use ispell-offset.
37145 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37147         Remove unused constant
37149         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
37151 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37153         Remove support for old versions of supercite and GNUS from ispell.el
37155         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
37156         and GNUS >= 5.  Not exactly the bleeding edge!
37158 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37160         Remove remaining mentions of XEmacs from ispell.el
37162         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
37163         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
37164         comments.
37166 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37168         Remove XEmacs-specific minibuffer handling code from ispell.el
37170         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
37171         XEmacs.
37173 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37175         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
37177         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
37178         XEmacs-specific code.
37180 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37182         Remove XEmacs-specific code dealing with enable-multibyte-characters
37184         * lisp/textmodes/ispell.el (ispell-decode-string):
37185         (ispell-init-process):  Remove XEmacs-specific guard.
37187 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37189         Remove XEmacs-specific code from ispell.el
37191         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
37192         (ispell-menu-map-needed): Remove XEmacs-specific check.
37193         (ispell-word): Remove XEmacs-specific extent code.
37194         (ispell-init-process): Remove XEmacs workaround for local add-hook.
37195         Assume we have set-process-query-on-exit-flag.
37196         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
37197         workaround for called-interactively-p.
37199 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37201         Remove some commented-out code
37203         lisp/textmodes/ispell.el (ispell-process)
37204         ispell-valid-dictionary-list): Remove commented-out code.
37206 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37208         Remove XEmacs and old Emacs highlighting code
37210         * lisp/textmodes/ispell.el
37211         (ispell-highlight-spelling-error-xemacs): Remove.
37212         (ispell-highlight-spelling-error): Assume display-color-p exists.
37214 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37216         Assume Emacs supports [:alpha:] in regexps
37218         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
37219         (ispell-set-spellchecker-params): Remove tests of
37220         ispell-emacs-alpha-regexp.
37222 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37224         Remove some XEmacs-specific code from ispell.el
37226         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
37227         (ispell-int-char): Remove.
37229 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37231         Generalize over-specific documentation
37233         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
37234         document precise personal wordlist filenames for only two supported
37235         spelling checkers, simply say that the default personal dictionary
37236         depends on the chosen spelling checker.  The user can check the
37237         spelling checker’s documentation if necessary.  This is simpler, and
37238         works for other supported (and future, or unknown) spelling checkers.
37240 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37242         Remove tests for built-in functions
37244         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
37245         back-up definition.
37246         (ispell-add-per-file-word-list): Remove tests for comment-padright and
37247         comment-normalize-vars.
37249 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37251         Remove unused ispell-looking-back
37253         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
37255 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37257         Assume we have version<= for checking ispell version
37259         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
37260         (ispell-check-version): Use version<= directly.
37262 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
37264         Remove ispell.el pre-GNU Emacs comments
37266         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
37267           details, as Emacs version, bug report address and so forth should be
37268           used instead for this version.  Remove in-line change history; use
37269           git instead.
37271 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
37273         More small fixes for image-dired
37275         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
37276         node.
37277         (image-dired--with-db-file): Add declare forms.
37278         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
37279         run through the whole list.
37281 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
37283         Remove image-dired-kill-buffer-and-window
37285         This breaks window layout, especially when quitting a
37286         image-dired-display-image-mode buffer.
37287         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
37288         (image-dired-display-image-mode-map): Replace in keymap and menu items
37289         bindings to image-dired-kill-buffer-and-window with quit-window.
37290         (image-dired-kill-buffer-and-window): Remove.
37292 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
37294         Replace image-dired-setup-dired-keybindings with a minor mode
37296         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
37297         remove mention of nonexistent image-dired-dired and to refer to the
37298         new minor mode.
37299         (image-dired-minor-mode-map): New keymap assimilated from
37300         image-dired-setup-dired-keybindings.  In the future, the keymap parent
37301         should be removed, and perhaps also the duplicate bindings that
37302         already exist in dired-mode-map.
37303         (image-dired-setup-dired-keybindings): Remove.  Replace with an
37304         obsolete function alias.
37305         (image-dired-minor-mode): New minor mode, assuming the role of
37306         image-dired-setup-dired-keybindings.
37308 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
37310         * test/src/regex-resources/PTESTS: Convert to UTF-8.
37312 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
37314         Clarify thread-signal semantics
37316         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
37317         thread will be signaled as soon as possible.
37319 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
37321         Clean up var watcher disabling on thread switching
37323         * src/data.c (Fset_default): Move code into new C level function,
37324         `set_default_internal'.
37325         (set_default_internal): New function, like `Fset_default' but also takes
37326         additional bindflag parameter.
37327         (set_internal): Only call `notify_variable_watchers' if bindflag is not
37328         SET_INTERNAL_THREAD_SWITCH.
37329         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
37330         passed on to set_internal and set_default_internal.  Adjust callers.
37331         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
37332         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
37333         temporarily adjusting symbol's trapped_write field.
37335 2016-12-13  Glenn Morris  <rgm@gnu.org>
37337         Minor fix for define-derived-mode
37339         * lisp/emacs-lisp/derived.el (define-derived-mode):
37340         Do not let eg eval-defun reset the values of syntax or abbrev tables,
37341         since they might have been defined externally.  (Bug#16160)
37343 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
37345         * build-aux/git-hooks/pre-commit: Add whitespace comment.
37347 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
37349         Move backtrace to ELisp using a new mapbacktrace primitive
37351         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
37352         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
37353         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
37355         * lisp/subr.el (backtrace--print-frame): New function.
37356         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
37357         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
37359         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
37360         `mapbacktrace' instead of searching for "(debug" in the output of
37361         `backtrace'.
37363         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
37364         (subr-test-backtrace-integration-test): New tests.
37366         * doc/lispref/debugging.texi (Internals of Debugger): Document
37367         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
37369 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
37371         Use C99 syntax for font drivers
37373         Problem reported by Daniel Colascione in:
37374         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
37375         * src/ftcrfont.c (ftcrfont_driver):
37376         * src/ftfont.c (ftfont_driver):
37377         * src/ftxfont.c (ftxfont_driver):
37378         * src/macfont.m (macfont_driver):
37379         * src/nsfont.m (nsfont_driver):
37380         * src/xfont.c (xfont_driver):
37381         * src/xftfont.c (xftfont_driver):
37382         Use C99 syntax, not the old GNU C syntax.
37384 2016-12-12  Glenn Morris  <rgm@gnu.org>
37386         Obsolete gs.el
37388         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
37389         * doc/lispref/display.texi (Image Formats): Remove postscript.
37390         (PostScript Images): Remove section.
37391         * doc/lispref/elisp.texi: Update menu.
37393 2016-12-12  Glenn Morris  <rgm@gnu.org>
37395         Un-revert recent Ffset change
37397         * src/data.c (Ffset): Reinstate the check for "nil".
37399 2016-12-12  Glenn Morris  <rgm@gnu.org>
37401         Minor advice.el fix
37403         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
37404         Avoid setting the function definition of nil.
37405         This was happening during bootstrap of org-compat.el,
37406         apparently due to eager macro expansion of code behind
37407         a (featurep 'xemacs) test.
37409 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
37411         Make etags-tests work in out-of-tree builds
37413         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
37414         (etags-bug-23164): Make them work in an out-of-tree build.
37415         Reported by Ken Brown <kbrown@cornell.edu>.
37417 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
37419         Avoid crashing if a new thread is signaled right away
37421         * src/thread.c (post_acquire_global_lock): Don't raise the pending
37422         signal if the thread's handlers were not yet set up, as that will
37423         cause Emacs to exit with a fatal error.  This can happen if a
37424         thread is signaled as soon as make-thread returns, before the new
37425         thread had an opportunity to acquire the global lock, set up the
37426         handlers, and call the thread function.
37428         * test/src/thread-tests.el (thread-signal-early): New test.
37430 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
37432         Fix point motion in cloned buffers
37434         * src/thread.c (post_acquire_global_lock): Call
37435         set_buffer_internal_2 instead of tricking set_buffer_internal_1
37436         into resetting the current buffer even if it didn't change.  This
37437         avoids bug#25165, caused by failing to record the modified values
37438         of point and mark, because current_buffer was set to NULL.  Also,
37439         don't bother re-setting the buffer if there was no thread switch,
37440         as that just wastes cycles.
37441         * src/buffer.c (set_buffer_internal_2): New function, with most of
37442         the body of set_buffer_internal_1, but without the test for B
37443         being identical to the current buffer.
37444         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
37445         identical to the current buffer.
37446         * src/buffer.h (set_buffer_internal_2): Add prototype.
37448         * test/src/thread-tests.el (thread-sticky-point): New test.
37450 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
37452         Further improvements in Tramp's file name unquoting
37454         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
37455         (tramp-adb-handle-write-region): Unquote localname.
37456         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
37457         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
37459         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
37460         (tramp-handle-file-name-case-insensitive-p):
37461         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
37462         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
37463         (tramp-gvfs-maybe-open-connection):
37464         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
37465         * lisp/net/tramp-smb.el (tramp-smb-get-share)
37466         (tramp-smb-get-localname): Use it.
37468         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
37469         (tramp--test-special-characters, tramp-test34-utf8)
37470         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
37471         (tramp-test34-utf8-with-ls): Use it.
37473 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
37475         Strengthen conditions for resizing sibling windows (Bug#25169)
37477         * lisp/window.el (window-resize, delete-window): Resize other siblings
37478         only if `window-combination-resize' equals t (Bug#25169).
37480 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
37482         Quote filenames containing '~' in prompts
37484         When in a directory named '~', the default value given by
37485         `read-file-name' should be quoted by prepending '/:', in order to
37486         prevent it from being interpreted as referring to the $HOME
37487         directory (Bug#16984).
37489         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
37490         (completion--sifn-requote, read-file-name-default): Use it instead of
37491         `minibuffer--double-dollars'.
37492         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
37494 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
37496         Undo part of last change
37498         * src/thread.h:
37499         * src/keyboard.c:
37500         * src/keyboard.h: Undo part of last change:
37501         input_available_clear_time is again a global variable.
37503 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
37505         Avoid aborts when a thread signals an error
37507         * src/thread.h (struct thread_state): Add members
37508         m_waiting_for_input and m_input_available_clear_time.
37509         (waiting_for_input, input_available_clear_time): New macros.
37510         * src/keyboard.c (waiting_for_input, input_available_clear_time):
37511         Remove; they are now macros that reference the current thread.
37512         (Bug#25171)
37513         * src/w32select.c: Don't include keyboard.h.
37515         * test/src/thread-tests.el (thread-errors): New test.
37517 2016-12-11  Philipp Stephani  <phst@google.com>
37519         Clean up compile-tests.el
37521         Switch to lexical binding.  Make checkdoc happy.
37523         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
37524         (compile-test-error-regexps): Instead of checking a single Boolean
37525         value, use `should' for each attribute of the message to be compared.
37526         (compile-tests--test-regexps-data): Document sixth list element
37527         TYPE.
37529 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
37531         Fix Bug#25162
37533         * doc/emacs/files.texi (Reverting): Document
37534         auto-revert-remote-files and auto-revert-verbose.
37536         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
37537         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
37539 2016-12-11  Glenn Morris  <rgm@gnu.org>
37541         Fix a typo in define-abbrev-table
37543         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
37545 2016-12-11  Glenn Morris  <rgm@gnu.org>
37547         Improve previous cperl-mode change
37549         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
37550         Improve previous change.
37552 2016-12-11  Glenn Morris  <rgm@gnu.org>
37554         Mark default cperl abbrevs as system ones
37556         * lisp/progmodes/cperl-mode.el (cperl-mode):
37557         Mark our abbrevs as system ones.  (Bug#10934)
37559 2016-12-11  Glenn Morris  <rgm@gnu.org>
37561         Revert earlier Ffset change
37563         * src/data.c (Ffset): Allow nil again, since it caused
37564         eager macro-expansion failures.
37566 2016-12-11  Glenn Morris  <rgm@gnu.org>
37568         Tweaks for message bogus address detection
37570         * lisp/gnus/message.el (message-bogus-recipient-p):
37571         Do not require "@", since some mailers deliver to local addresses
37572         without one.  (Bug#23054)
37573         Move "@.*@" from here...
37574         (message-bogus-addresses): ...to here, so it can be customized.
37576 2016-12-11  Glenn Morris  <rgm@gnu.org>
37578         Do not allow nil to be defined as a function
37580         * lisp/emacs-lisp/byte-run.el (defun):
37581         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
37583 2016-12-11  Glenn Morris  <rgm@gnu.org>
37585         Bump makeinfo requirement from 4.7 to 4.13
37587         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
37588         We need at least 4.8, and that may be buggy, so go for the last
37589         of the 4 series, which is 8 years old.  (Bug#25108)
37591 2016-12-11  Glenn Morris  <rgm@gnu.org>
37593         Fixes related to select-enable-clipboard
37595         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
37596         (clipboard-kill-region):
37597         * lisp/eshell/esh-io.el (eshell-virtual-targets)
37598         (eshell-clipboard-append):
37599         Replace option gui-select-enable-clipboard with
37600         select-enable-clipboard; renamed October 2014.  (Bug#25145)
37602 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
37604         Add some sanity checking of defun arglist
37606         * lisp/emacs-lisp/byte-run.el (defun):
37607         Check for malformed argument lists.  (Bug#15715)
37609 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
37611         Minor shell-mode fix for zsh
37613         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
37614         becoming confused by zsh abbreviations.  (Bug#24632)
37616 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
37618         Define struct predicate before acccesors
37620         The accessor functions use the predicate function, which causes problems
37621         when reloading after unload-feature: the compiler-macro property is
37622         still present on the predicate symbol, and the compiler fails to find
37623         the definition when trying to inline it into the accessor
37624         function (Bug#25088).
37626         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
37627         before field accessor definitions.
37629 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
37631         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
37632         system unit file.
37634 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
37636         Support concurrency in Emacs Lisp
37638         Merge branch 'test-concurrency'
37640         * src/thread.c:
37641         * src/thread.h:
37642         * src/systhread.c:
37643         * src/systhread.h: New files.
37644         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
37645         xnmalloc unconditionally.
37646         * src/window.c (struct save_window_data): Rename current_buffer to
37647         f_current_buffer.
37648         * src/w32proc.c (sys_select): Change the function signature to
37649         closer fit 'pselect' on Posix hosts.
37650         * src/search.c:
37651         * src/regex.h: Convert some globals to macros that reference
37652         thread-specific values.
37653         * src/process.c (pset_thread, add_non_keyboard_read_fd)
37654         (add_process_read_fd, add_non_blocking_write_fd)
37655         (recompute_input_desc, compute_input_wait_mask)
37656         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
37657         (compute_write_mask, clear_waiting_thread_info)
37658         (update_processes_for_thread_death, Fset_process_thread)
37659         (Fprocess_thread): New functions.
37660         (enum fd_bits): New enumeration.
37661         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
37662         'condition' to 'flags'.
37663         (set_process_filter_masks, create_process, create_pty)
37664         (Fmake_serial_process, finish_after_tls_connection)
37665         (connect_network_socket, deactivate_process)
37666         (server_accept_connection, wait_reading_process_output)
37667         (Fcontinue_process, Fstop_process, keyboard_bit_set)
37668         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
37669         (delete_keyboard_wait_descriptor): Use the new functions instead
37670         of manipulating fd flags and masks directly.
37671         (syms_of_process): Defsubr the new primitives.
37672         * src/print.c (print_object): Print threads, mutexes, and
37673         conditional variables.
37674         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
37675         and PVEC_CONDVAR.
37676         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
37677         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
37678         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
37679         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
37680         f_lisp_eval_depth.
37681         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
37682         (rebind_for_thread_switch, do_one_unbind)
37683         (unbind_for_thread_switch): New functions.
37684         (init_eval): 'handlerlist' is not malloc'ed.
37685         (specbind): Call do_specbind.
37686         (unbind_to): Call do_one_unbind.
37687         (mark_specpdl): Accept 2 arguments.
37688         (mark_specpdl): Mark the saved value in a let-binding.
37689         * src/emacs.c (main): Call init_threads_once, init_threads, and
37690         syms_of_threads.
37691         * src/data.c (Ftype_of): Support thread, mutex, and condvar
37692         objects.
37693         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
37694         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
37695         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
37696         (BYTE_CODE_QUIT): Add back.
37697         (exec_byte_code): Add back byte stack manipulation.
37698         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
37699         conditional variables.
37700         (mark_stack): Now extern; accept additional argument 'bottom'.
37701         (flush_stack_call_func): New function.
37702         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
37703         mark handlers.
37704         * src/.gdbinit (xbytecode): Add back.
37706         * test/src/thread-tests.el: New tests.
37707         * test/src/data-tests.el (binding-test-manual)
37708         (binding-test-setq-default, binding-test-makunbound)
37709         (binding-test-defvar-bool, binding-test-defvar-int)
37710         (binding-test-set-constant-t, binding-test-set-constant-nil)
37711         (binding-test-set-constant-keyword)
37712         (binding-test-set-constant-nil): New tests.
37714         * doc/lispref/processes.texi (Processes and Threads): New
37715         subsection.
37716         * doc/lispref/threads.texi: New file
37717         * doc/lispref/elisp.texi (Top): Include it.
37718         * doc/lispref/objects.texi (Thread Type, Mutex Type)
37719         (Condition Variable Type): New subsections.
37720         (Type Predicates): Add thread-related predicates.
37721         * doc/lispref/objects.texi (Editing Types):
37722         * doc/lispref/elisp.texi (Top): Update higher-level menus.
37724         * etc/NEWS: Mention concurrency features.
37726 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
37728         Fix error messages in thread.c
37730         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
37731         (Fcondition_notify, Fthread_join): Fix error messages.
37733 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
37735         Improve doc strings in thread.c
37737         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
37738         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
37739         (Fthread_join, Fall_threads): Doc fixes.
37741 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
37743         Fix building with check-lisp-object-type
37745         * src/thread.c (mark_one_thread): Use NILP to compare with
37746         m_saved_last_thing_searched, which is a Lisp object.  Reported by
37747         Andreas Politz <politza@hochschule-trier.de>.
37749 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
37751         Documentation and commentary improvements
37753         * src/lisp.h:
37754         * src/regex.c:
37755         * src/xgselect.c (xg_select): Improve commentary and formatting.
37757         * doc/lispref/objects.texi (Thread Type, Mutex Type)
37758         (Condition Variable Type): New subsections.
37759         (Type Predicates): Add thread-related predicates.
37760         * doc/lispref/objects.texi (Editing Types):
37761         * doc/lispref/elisp.texi (Top): Update higher-level menus.
37763 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
37765         Fix further problems with quoted file names in Tramp
37767         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
37768         (tramp-unquote-name): Move defsubst ...
37769         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
37770         (tramp-compat-file-name-quote)
37771         (tramp-compat-file-name-unquote): ... here. Adapt callees.
37773         * lisp/net/tramp-cache.el (tramp-flush-file-property)
37774         (tramp-flush-directory-property):
37775         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
37776         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
37777         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
37778         (tramp-smb-handle-substitute-in-file-name)
37779         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
37781 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
37783         *src/sysdep.c: Fix a comment.
37785 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
37787         Fix compilation error on Fedora 24
37789         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
37790         Reported by Paul Eggert <eggert@cs.ucla.edu>.
37792 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
37794         Fix compilation warnings due to prototype of thread_select
37796         * src/thread.h <int select_func>: Make the 5th and 6th arguments
37797         be 'const'.
37798         * src/process.c [WINDOWSNT]:
37799         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
37800         'const'.
37802 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
37804         Fix compilation on Debian GNU/Linux
37806         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
37807         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
37809 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
37811         Fix subtle errors with let-binding of localized variables
37813         * src/eval.c (do_specbind): Don't require a "symbol" that is
37814         actually a cons cell, in order to call set-default, as there are
37815         no longer such bindings.  This makes do_specbind work like the
37816         pre-concurrency implementation in specbind for bindings of
37817         forwarded symbols.  Use specpdl_kind to access the type of the
37818         binding.
37819         (specpdl_kind): New function.
37821 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
37823         Document file-name-quote, file-name-unquote and file-name-quoted-p
37825         * doc/lispref/files.texi (File Name Expansion):
37826         * etc/NEWS: Mention file-name-quote, file-name-unquote and
37827         file-name-quoted-p.
37829         * lisp/files.el (file-name-non-special): Revert using
37830         file-name-quote, file-name-unquote and file-name-quoted-p.
37832 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
37834         Fix bad quoting of python-shell-interpreter
37836         `python-shell-calculate-command' was using `shell-quote-argument' as if
37837         it was generating a shell command, but its callers don't pass the result
37838         to a shell, and they expect to parse it with `split-string-and-unquote'.
37839         This caused problems depending on the flavor of shell quoting in
37840         effect (Bug#25025).
37842         * lisp/progmodes/python.el (python-shell-calculate-command): Use
37843         `combine-and-quote-strings' to quote the interpreter, so that it can be
37844         parsed by `python-shell-make-comint' successfully using
37845         `split-string-and-unquote'.
37847 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
37849         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
37851 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
37853         Make read1 more reentrant
37855         This is needed if ‘read’ is called soon after startup, before the
37856         Unicode tables have been set up, and it reads a \N escape and
37857         needs to look up a value the Unicode tables, a lookup that in turn
37858         calls read1 recursively.  Although this change doesn’t make ‘read’
37859         fully reentrant, it’s good enough to handle this case.
37860         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
37861         (grow_read_buffer): Revamp to use locals, not statics, and to
37862         record memory allocation un the specpdl.  All callers changed.
37863         (read1): Start with a stack-based buffer, and use the heap
37864         only if the stack buffer is too small.  Use unbind_to to
37865         free any heap buffer allocated.  Use bool for boolean.
37866         Redo symbol loop so that only one call to grow_read_buffer
37867         is needed.
37868         (init_obarray): Remove no-longer-needed initialization.
37870 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
37872         Fix compilation warnings
37874         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
37875         compilation warning.
37877 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
37879         Fix unlikely substitute-command-keys memory leak
37881         * src/doc.c (Fsubstitute_command_keys):
37882         Free buffer when unwinding.
37884 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
37886         Add file-name-quoted-p, file-name-quote, file-name-unquote
37888         * lisp/files.el (file-name-quoted-p, file-name-quote)
37889         (file-name-unquote): New defsubst.
37890         (find-file--read-only, find-file-noselect)
37891         (file-name-non-special): Use them.
37893 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
37895         Add a NEWS entry.
37897 2016-12-08  Glenn Morris  <rgm@gnu.org>
37899         Minor fix for symbol-file
37901         * lisp/subr.el (symbol-file): Avoid false matches with "require"
37902         elements in load-history.  (Bug#25109)
37904 2016-12-08  Glenn Morris  <rgm@gnu.org>
37906         Doc fix for vc-git
37908         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
37910 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
37912         Fix Bug#24962
37914         * lisp/buff-menu.el (list-buffers--refresh):
37915         List buffers with name starting with " " if they visit a file.
37916         * test/lisp/buff-menu-tests.el (buff-menu-24962):
37917         Update test result as pass.
37919 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
37921         ediff-fixup-patch-map: Improve prompt
37923         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
37924         Make clear in the prompt when we are applying a multi patch.
37926 2016-12-08  Glenn Morris  <rgm@gnu.org>
37928         Retain message logging in map-y-or-n-p
37930         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
37931         Stop disabling logging to Messages buffer.  (Bug#13326)
37933 2016-12-08  Glenn Morris  <rgm@gnu.org>
37935         Doc fix for recent change
37937         * lisp/simple.el (region-modifiable-p): Doc fix.
37939 2016-12-08  Glenn Morris  <rgm@gnu.org>
37941         Quieten make-dist default operation
37943         * make-dist: Add --verbose option.  Default to quieter operation.
37945 2016-12-08  Glenn Morris  <rgm@gnu.org>
37947         Further improve make-dist checking
37949         * make-dist: Print status messages when checking.
37951 2016-12-08  Glenn Morris  <rgm@gnu.org>
37953         Improve previous make-dist change
37955         * make-dist: Let make check the info files more thoroughly.
37957 2016-12-08  Glenn Morris  <rgm@gnu.org>
37959         Make make-dist --snapshot do some sanity checks
37961         * make-dist: Snapshot mode no longer disables checks.
37962         Checks now includes checks for freshness.  (Bug#25084)
37963         Checks now exits with an error if problems were found.
37965 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
37967         Fix regression introduced by commit 7b1e97f
37969         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
37970         of cadr; required after commit 20f5a5b.
37972 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37974         Put post-25 ChangeLog entries into ChangeLog.3
37976         * ChangeLog.2: Copy from emacs-25 branch.
37977         * ChangeLog.3: New file, with changes only in master.
37978         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
37980 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
37982         Fix network streams.
37984         The original code messed up flags in fd_callback_data[], and also
37985         didn't call add_process_read_fd for process-related file descriptors.
37987 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
37989         Minimize spurious diffs from master.
37991 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
37993         Fix the test suite
37995         * test/automated/bindings.el: Contents moved to
37996         test/src/data-tests.el.
37997         * test/automated/threads.el: Moved to test/src/thread-tests.el.
37999 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
38001         Fix a typo in bytecode.c.
38003 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
38005         Fix compilation problems.
38007         Fix merged code in process.c and eval.c.
38009 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
38011         Merge branch 'concurrency'
38013         Conflicts (resolved):
38014                 configure.ac
38015                 src/Makefile.in
38016                 src/alloc.c
38017                 src/bytecode.c
38018                 src/emacs.c
38019                 src/eval.c
38020                 src/lisp.h
38021                 src/process.c
38022                 src/regex.c
38023                 src/regex.h
38025 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
38027         Fix the MS-Windows build
38029         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
38031         * src/sysselect.h: Don't define fd_set and FD_* macros for
38032         MS-Windows here.
38033         * src/w32.h: Define them here.
38035         * src/process.h (sys_select): Declare prototype.
38037         * src/sysdep.c:
38038         * src/process.c:
38039         * src/filelock.c:
38040         * src/emacs.c:
38041         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
38042         * nt/inc/socket.h: Include w32.h instead of sysselect.h
38044 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
38046         merge from trunk
38048 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
38050         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
38051         specpdl stack.
38053 2013-10-18  Tom Tromey  <tromey@redhat.com>
38055         change condition-variablep to condition-variable-p
38057 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
38059         Fix crashes when unbind_for_thread_switch signals an error.
38061          src/eval.c (unbind_for_thread_switch): Accept a 'struct
38062          thread_state *' argument and use specpdl_ptr and specpdl of that
38063          thread.  Fixes crashes if find_symbol_value signals an error.
38064          src/thread.c (post_acquire_global_lock): Update current_thread
38065          before calling unbind_for_thread_switch.  Pass the previous thread
38066          to unbind_for_thread_switch.
38068 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
38070         Improve MS-Windows implementation of threads.
38072          src/systhread.c (sys_cond_init): Set the 'initialized' member to
38073          true only if initialization is successful.  Initialize wait_count
38074          and wait_count_lock.
38075          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
38076          'initialized' is false, do nothing.
38077          (sys_cond_wait): Fix the implementation to avoid the "missed
38078          wakeup" bug: count the waiting threads, and reset the broadcast
38079          event once the last thread was released.
38080          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
38081          PulseEvent.  Don't signal the event if no threads are waiting.
38082          (sys_cond_destroy): Only close non-NULL handles.
38083          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
38084          src/systhread.h (w32thread_cond_t): New member 'initialized'.
38085          Rename waiters_count and waiters_count_lock to wait_count and
38086          wait_count_lock, respectively.
38088 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
38090         Enable thread support in the MS-Windows build.
38092          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
38093          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
38094          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
38095          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
38096          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
38097          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
38098          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
38100          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
38101          if pthreads is not available.
38103 2013-08-27  Tom Tromey  <tromey@redhat.com>
38105         use condition-notify in the docs, not condition-signal
38107         zap until-condition docs
38109         zap until-condition
38111         rename thread-blocker to thread--blocker
38113         remove binding_symbol
38115         fix style of threadp, mutexp, and condition-variable-p
38117         make thread_check_current_buffer return bool
38119         add a comment before flush_stack_call_func
38121         fix whitespace_regexp warning
38123 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
38125         Fix MS-Windows build.
38127          src/callproc.c:
38128          src/emacs.c:
38129          src/filelock.c:
38130          src/process.c:
38131          src/sysdep.c:
38132          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
38133          redefinition of fd_set etc.
38134          src/process.c: Don't use num_pending_connects when
38135          NON_BLOCKING_CONNECT is not defined.
38136          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
38137          here from w32.h.
38138          src/w32proc.c (sys_select): Adjust the argument types to what
38139          thread.h expects.
38141          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
38142          of w32.h.
38144 2013-08-26  Tom Tromey  <tromey@redhat.com>
38146         use record_unwind_protect_void, avoid warning
38148         implement --enable-threads and a thread-less mode
38150 2013-08-25  Tom Tromey  <tromey@redhat.com>
38152         merge from trunk
38154 2013-08-20  Tom Tromey  <tromey@redhat.com>
38156         fix up some merge errors in process.c
38158         remove a dead function
38159         clean up a fixme I added in create_pty during the merge
38161 2013-08-20  Tom Tromey  <tromey@redhat.com>
38163         merge from trunk
38165 2013-07-26  Tom Tromey  <tromey@redhat.com>
38167         merge from trunk
38169 2013-07-13  Tom Tromey  <tromey@redhat.com>
38171         Merge from trunk
38173 2013-07-12  Tom Tromey  <tromey@redhat.com>
38175         Use thread_alive_p in a couple more spots
38177 2013-07-07  Tom Tromey  <tromey@redhat.com>
38179         fix xfree bug in run_thread
38181         this fixes run_thread to account for the dummy slot
38182         in specpdl
38184 2013-07-07  Tom Tromey  <tromey@redhat.com>
38186         merge from trunk
38188         this merges frmo trunk and fixes various build issues.
38189         this needed a few ugly tweaks.
38190         this hangs in "make check" now
38192 2013-07-06  Tom Tromey  <tromey@redhat.com>
38194         add assertion to flush_stack_call_func
38196         functions called via flush_stack_call_func are assumed
38197         to return with the global lock held again, and with
38198         current_thread reset.  this assertion verifies part of this
38200 2013-07-06  Tom Tromey  <tromey@redhat.com>
38202         call init_primary_thread from init_threads
38204 2013-07-05  Tom Tromey  <tromey@redhat.com>
38206         avoid SAFE_ALLOCA
38208         avoid SAFE_ALLOCA in xgselect.c.
38209         in this code it is just as easy to always use malloc;
38210         and it avoids thread-switching problems, as the safe-alloca
38211         stuff implicitly refers to the current thread
38213 2013-07-05  Tom Tromey  <tromey@redhat.com>
38215         avoid current_thread sometimes
38217         this tweaks thread.c to use 'self' instead of current_thread
38218         in a couple spots.  this is clearer and more robust
38220 2013-07-05  Tom Tromey  <tromey@redhat.com>
38222         initialize saved_value
38224         initialize the saved_value field in all needed cases
38225         also, add an assertion to do_one_unbind
38227 2013-07-04  Tom Tromey  <tromey@redhat.com>
38229         fix buglet in test case
38231 2013-07-04  Tom Tromey  <tromey@redhat.com>
38233         unlink thread later
38235         unlink thread from global list later
38236         also remove some unnecessary destruction code
38238 2013-07-04  Tom Tromey  <tromey@redhat.com>
38240         introduce thread_alive_p macro
38242         This introduces the thread_alive_p macro and changes
38243         thread-alive-p to use it.  This is a minor cleanup.
38244         It also changes all-threads to ignore dead threads.
38246 2013-07-03  Tom Tromey  <tromey@redhat.com>
38248         Don't call unbind_for_thread_switch in run_thread
38250         This removes the call to unbind_for_thread_switch from run_thread.
38251         This isn't necessary because acquire_global_lock does it properly.
38253 2013-07-03  Tom Tromey  <tromey@redhat.com>
38255         remove unused field from struct thread_state
38257         Fix a comment.
38259 2013-06-13  Tom Tromey  <tromey@redhat.com>
38261         merge from trunk
38263 2013-06-06  Tom Tromey  <tromey@redhat.com>
38265         fix a few latent issues in the thread patch
38267         * we called unbind_for_thread_switch unconditionally, but this
38268           is wrong if the previous thread exited
38269         * likewise, exiting a thread should clear current_thread
38270         * redundant assignment in run_thread
38271         * clean up init_threads - no need to re-init the primary thread
38273         This patch still sometimes causes weird hangs in "make check".
38274         However, I think that is a kernel bug, since Emacs enters the zombie
38275         state but its parent process hangs in wait.  This shouldn't happen.
38277 2013-06-04  Tom Tromey  <tromey@redhat.com>
38279         update eval.c to make it build again after the merge
38281 2013-06-03  Tom Tromey  <tromey@redhat.com>
38283         merge from trunk; clean up some issues
38285 2013-03-18  Tom Tromey  <tromey@redhat.com>
38287         don't let kill-buffer kill a buffer if it is current in any thread
38289 2013-03-18  Tom Tromey  <tromey@redhat.com>
38291         fix process bugs
38293         Fix some process-related bugs, mostly thinkos from the conversion to
38294         recording fd state as flags.
38295         This now passes the test suite without hanging.
38297 2013-03-17  Tom Tromey  <tromey@redhat.com>
38299         merge from trunk
38301 2013-03-08  Tom Tromey  <tromey@redhat.com>
38303         merge from trunk
38305 2013-01-16  Tom Tromey  <tromey@redhat.com>
38307         merge from trunk
38309 2013-01-06  Tom Tromey  <tromey@redhat.com>
38311         merge from trunk
38313 2012-12-23  Tom Tromey  <tromey@redhat.com>
38315         mention let bindings and lack of other ways to rewind
38317 2012-12-17  Tom Tromey  <tromey@redhat.com>
38319         Remove bit accidentally left over from the merge
38321         merge from trunk
38323 2012-09-04  Tom Tromey  <tromey@redhat.com>
38325         merge from trunk
38327         link from thread docs to match data
38329 2012-08-27  Tom Tromey  <tromey@redhat.com>
38331         cannot thread-join the current thread
38333         fix test suite for condition-variable-p name change
38335         add tests for variable bindings
38337 2012-08-25  Tom Tromey  <tromey@redhat.com>
38339         minor update to thread-join docs
38341 2012-08-24  Tom Tromey  <tromey@redhat.com>
38343         minor documentation updates
38345 2012-08-23  Tom Tromey  <tromey@redhat.com>
38347         document until-condition
38349         first draft of threads documentation
38351         rename condition-variablep to condition-variable-p
38353         document process-thread and set-process-thread
38355 2012-08-20  Tom Tromey  <tromey@redhat.com>
38357         pass the thread name to the OS if possible
38359         use prctl to pass the thread name to the OS, if possible
38361 2012-08-20  Tom Tromey  <tromey@redhat.com>
38363         add convenience macros with-mutex and until-condition
38365         with-mutex is a safe way to run some code with a mutex held.
38366         until-condition is a safe way to wait on a condition variable.
38368 2012-08-20  Tom Tromey  <tromey@redhat.com>
38370         Merge from trunk
38372 2012-08-19  Tom Tromey  <tromey@redhat.com>
38374         another docstring fixlet
38376         minor docstring fixup
38378         add condition-mutex and condition-name
38380         ensure name of a thread is a string
38382         ensure name of a mutex is a string
38384         use NILP
38386 2012-08-19  Tom Tromey  <tromey@redhat.com>
38388         condition variables
38390         This implements condition variables for elisp.
38391         This needs more tests.
38393 2012-08-19  Tom Tromey  <tromey@redhat.com>
38395         comment fixes
38397 2012-08-19  Tom Tromey  <tromey@redhat.com>
38399         refactor systhread.h
38401         This refactors systhread.h to move the notion of a "lisp mutex"
38402         into thread.c.  This lets us make make the global lock and
38403         post_acquire_global_lock static.
38405 2012-08-17  Tom Tromey  <tromey@redhat.com>
38407         write docstrings for the thread functions
38409         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
38411 2012-08-15  Tom Tromey  <tromey@redhat.com>
38413         add test case for I/O switching
38415 2012-08-15  Tom Tromey  <tromey@redhat.com>
38417         process changes
38419         This changes wait_reading_process_output to handle threads better.  It
38420         introduces a wrapper for select that releases the global lock, and it
38421         ensures that only a single thread can select a given file descriptor
38422         at a time.
38424         This also adds the thread-locking feature to processes.  By default a
38425         process can only have its output accepted by the thread that created
38426         it.  This can be changed using set-process-thread.  (If the thread
38427         exits, the process is again available for waiting by any thread.)
38429         Note that thread-signal will not currently interrupt a thread blocked
38430         on select.  I'll fix this later.
38432 2012-08-15  Tom Tromey  <tromey@redhat.com>
38434         Prepare process.c for threads by not having global select masks.
38435         The next step is to make it so selects can choose fds by thread.
38437 2012-08-15  Tom Tromey  <tromey@redhat.com>
38439         fix a latent bug in process.c
38441         * src/process.c (wait_reading_process_output): Check Writeok bits,
38442         not write_mask.
38444 2012-08-15  Tom Tromey  <tromey@redhat.com>
38446         This adds thread-blocker, a function to examine what a thread is
38447         blocked on.  I thought this would be another nice debugging addition.
38449         This adds names to mutexes.  This seemed like a nice debugging
38450         extension.
38452         This adds some tests of the threading code.
38454 2012-08-15  Tom Tromey  <tromey@redhat.com>
38456         This supplies the mutex implementation for Emacs Lisp.
38458         A lisp mutex is implemented using a condition variable, so that we can
38459         interrupt a mutex-lock operation by calling thread-signal on the
38460         blocking thread.  I did things this way because pthread_mutex_lock
38461         can't readily be interrupted.
38463 2012-08-15  Tom Tromey  <tromey@redhat.com>
38465         This adds most of the thread features visible to emacs lisp.
38467         I roughly followed the Bordeaux threads API:
38469         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
38471         ... but not identically.  In particular I chose not to implement
38472         interrupt-thread or destroy-thread, but instead a thread-signaling
38473         approach.
38475         I'm still undecided about *default-special-bindings* (which I did not
38476         implement).  I think it would be more emacs-like to capture the let
38477         bindings at make-thread time, but IIRC Stefan didn't like this idea
38478         the first time around.
38480         There are one or two semantics issues pointed out in the patch where I
38481         could use some advice.
38483 2012-08-15  Tom Tromey  <tromey@redhat.com>
38485         This turns thread_state into a pseudovector and updates various bits
38486         of Emacs to cope.
38488 2012-08-15  Tom Tromey  <tromey@redhat.com>
38490         This introduces some new functions to handle the specpdl.  The basic
38491         idea is that when a thread loses the interpreter lock, it will unbind
38492         the bindings it has put in place.  Then when a thread acquires the
38493         lock, it will restore its bindings.
38495         This code reuses an existing empty slot in struct specbinding to store
38496         the current value when the thread is "swapped out".
38498         This approach performs worse than my previously planned approach.
38499         However, it was one I could implement with minimal time and
38500         brainpower.  I hope that perhaps someone else could improve the code
38501         once it is in.
38503 2012-08-15  Tom Tromey  <tromey@redhat.com>
38505         This introduces the low-level system threading support.  It also adds
38506         the global lock.  The low-level support is a bit over-eager, in that
38507         even at the end of the present series, it will not all be used.  I
38508         think thiat is ok since I plan to use it all eventually -- in
38509         particular for the emacs lisp mutex implementation.
38511         I've only implemented the pthreads-based version.  I think it should
38512         be relatively clear how to port this to other systems, though.
38514         I'd also like to do a "no threads" port that will turn most things
38515         into no-ops, and have thread-creation fail.  I was thinking perhaps
38516         I'd make a future (provide 'threads) conditional on threads actually
38517         working.
38519         One other minor enhancement available here is to make it possible to
38520         set the name of the new thread at the OS layer.  That way gdb, e.g.,
38521         could display thread names.
38523 2012-08-15  Tom Tromey  <tromey@redhat.com>
38525         This parameterizes the GC a bit to make it thread-ready.
38527         The basic idea is that whenever a thread "exits lisp" -- that is,
38528         releases the global lock in favor of another thread -- it must save
38529         its stack boundaries in the thread object.  This way the boundaries
38530         are always available for marking.  This is the purpose of
38531         flush_stack_call_func.
38533         I haven't tested this under all the possible GC configurations.
38534         There is a new FIXME in a spot that i didn't convert.
38536         Arguably all_threads should go in the previous patch.
38538 2012-08-15  Tom Tromey  <tromey@redhat.com>
38540         This introduces a thread-state object and moves various C globals
38541         there.  It also introduces #defines for these globals to avoid a
38542         monster patch.
38544         The #defines mean that this patch also has to rename a few fields
38545         whose names clash with the defines.
38547         There is currently just a single "thread"; so this patch does not
38548         impact Emacs behavior in any significant way.
38550 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38552         Merge from origin/emacs-25
38554         eeecac7 Fix minor quoting problems in doc strings
38556 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38558         Merge from origin/emacs-25
38560         35ce3fb Don't assume window-point and point are the same
38562 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38564         Merge from origin/emacs-25
38566         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
38567         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
38568         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
38569         93d8346 Improve indexing of 'man'
38571 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38573         Merge from origin/emacs-25
38575         d31298d Fix documentation of `window-combination-resize'
38576         2086f4c Typo fixes in elisp manual
38578 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38580         Merge from origin/emacs-25
38582         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
38583         5878abf Fix 'expand-file-name' during startup on MS-Windows
38585 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38587         Merge from origin/emacs-25
38589         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
38590         6d27423 Tweak refcard note about documentation location
38591         e46a134 Improve treatment of Fortran's "class is"
38593 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38595         Merge from origin/emacs-25
38597         93c0f51 Handle TeX comments when making new paragraph
38598         e0884f1 Restore keystroke echo in 'C-q'
38599         a6213ce Improve documentation of 'current-word'
38600         0828126 Fix a typo in an Eshell defcustom
38601         2e361c7 Minor copyedits of electric-pair-mode
38602         7499ee8 ; Minor copyedit in the Emacs manual
38603         45b652b Fix documentation of 'invocation-directory'
38604         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
38605         ba48880 ; Fix pl-refcard.tex
38607 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38609         Merge from origin/emacs-25
38611         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
38613 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38615         Merge from origin/emacs-25
38617         3d63b48 Update ChangeLog files and authors.el
38618         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
38619         a725592 Avoid errors in shr-pixel-column due to dedicated windows
38620         3138598 Update format-time-string documentation
38622 2016-12-07  Sam Steingold  <sds@gnu.org>
38624         delete-trailing-whitespace: handle read-only text in buffer
38626         * lisp/simple.el (region-modifiable-p): New function.
38627         (delete-trailing-whitespace): Use it to avoid trying to delete read-only text.
38629 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38631         Fix minor quoting problems in doc strings
38633 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
38635         Fix --enable-gcc-warnings --with-ns on Fedora
38637         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
38638         (ALL_OBJC_CFLAGS): Use it.
38639         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
38640         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
38642 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
38644         Fix problems in quoting Tramp file names
38646         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
38647         (tramp-unquote-shell-quote-argument): New defun.
38648         (tramp-shell-quote-argument):
38649         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
38650         (tramp-make-copy-program-file-name):
38651         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
38652         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
38653         (tramp-smb-shell-quote-argument): Use it.
38655 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38657         ibuffer-map-deletion-lines: Re-included it
38659         It was deleted in previous commit, but it's referenced
38660         by the macro 'define-ibuffer-op'.
38661         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
38663 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38665         ibuffer-unmark-all: simplify code
38667         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
38668         (ibuffer-unmark-all): Simplify code.
38670 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38672         define-ibuffer-filter: Discard wrong filters
38674         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
38675         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
38676         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
38678 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
38680         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
38682         so that it matches the actual implementation.
38683         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
38685 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38687         ibuffer-decompose-filter-group avoid unwanted side effects
38689         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
38690         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
38691         All callers changed (Bug#25058).
38692         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
38694 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38696         ibuffer-unmark-backward: Unmark the region when is active
38698         * lisp/ibuffer.el (ibuffer-unmark-backward):
38699         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
38700         with the region boundary as the first 2 arguments (Bug#24987).
38702 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
38704         Docstring improvement for seq-some (bug#25129)
38706         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
38707           regarding the returned value.
38709 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38711         dired-unmark-backward: Unmark the region when is active
38713         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
38714         a non-nil second argument (Bug#24986).
38716 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38718         New test file for ediff
38720         Fix previous commit.
38721         * test/lisp/vc/ediff-ptch-tests.el: New test.
38723 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38725         ediff-context-diff-label-regexp: Detect the end of second file
38727         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
38728         '\n' in file names (Bug#25010).
38729         * test/lisp/vc/ediff-ptch-tests.el: New file.
38730         (ibuffer-test-bug25010): Add test for Bug#25010.
38732 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38734         ibuffer-decompose-filter: Avoid side effects on error
38736         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
38737         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
38738         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
38739         Update test result as pass.
38741 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
38743         ibuffer: compare marks with EQ
38745         * lisp/ibuffer.el:
38746         (ibuffer-update-title-and-summary)
38747         (ibuffer-redisplay-current)
38748         (ibuffer-buffer-name-face, ibuffer-unmark-all)
38749         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
38750         Use 'eq' instead of 'char-equal' when comparing mark characters
38751         (Bug#25000).
38752         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
38753         Update test result as pass.
38755 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
38757         ibuffer-saved-filters: Remove extra nesting level
38759         Fix Bug#25049.
38760         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
38761         nesting level; add transparent setter to adjust old-format values;
38762         update doc string.
38763         (ibuffer-save-filters): Remove extra level of nesting
38764         in ibuffer-saved-filters values when saving new filters.
38765         (ibuffer-old-saved-filters-warning): New variable with
38766         clickable message with repair options to be displayed
38767         as a warning if 'ibuffer-repair-saved-filters' detects
38768         a format mismatch.
38769         (ibuffer-repair-saved-filters): Add new command to check and
38770         repair saved filters format.
38771         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
38772         Change access of saved filter data (cadr->cdr) to account
38773         for reduced nesting.
38774         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
38775         New test; check that filters are saved in the proper format.
38777 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
38779         Clean out some IRIX cruft
38781         * etc/MACHINES: Remove obsolete discussion of IRIX.
38782         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
38783         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
38784         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
38785         * src/unexelf.c [__sgi]: Don't include <syms.h>.
38786         (unexec) [__sgi]: Remove SGI-specific code.
38788 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
38790         Simplify FUNCTIONP implementation
38792         * src/bytecode.c (exec_byte_code):
38793         * src/image.c (parse_image_spec):
38794         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
38795         * src/eval.c (FUNCTIONP): Move here ...
38796         * src/lisp.h: ... from here.  No longer inline, as that
38797         bloats the text and does not help speed (at least on my platform).
38798         (functionp): Remove this name, since callers use FUNCTIONP.
38800 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
38802         Don't assume window-point and point are the same
38804         The function `cursor-sensor--detect' calls `bobp' to decide whether to
38805         check properties at (1- (window-point)).  However, (window-point) may be
38806         at beginning of buffer, even if (point) is not.  In this case an
38807         `args-out-of-range' error will be signaled (Bug#25104).
38809         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
38810         value of (window-point) against (point-min), rather than (bobp) to
38811         decide if (1- (window-point)) is accessible.
38813 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
38815         Give test-completion's PREDICATE the hashtable key
38817         For hashtable entries with symbol keys, `test-completion' would convert
38818         the key to a string before calling PREDICATE, unlike `try-completion'
38819         and `all-completions'.
38821         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
38823 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
38825         Give test-completion's PREDICATE full alist entry
38827         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
38828         calling test-completion with an alist collection, the predicate was
38829         recieving the string value instead of the alist entry (Bug#24966).
38831         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
38832         test STRING against `completion-regexp-list'.
38833         * test/src/minibuf-tests.el: New tests for `try-completion',
38834         `all-completions', and `test-completion'.
38836 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
38838         Fix ert-tests when running compiled
38840         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
38841         specific macroexpansion, just check result of evaluation.
38842         (ert-test-record-backtrace): Don't hardcode representation of closure in
38843         expected backtrace, this lets the test succeed even when the test code
38844         is compiled.
38846         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
38847         `byte-compile-macro-environment' to `macroexpand', this allows the
38848         `should' macro to properly handle macroexpansion of macros that were
38849         defined in the same file when it's being compiled (Bug #17851).
38851 2016-12-06  Glenn Morris  <rgm@gnu.org>
38853         Make "g" in vc push/pull buffers re-push/pull
38855         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
38856         * lisp/vc/vc-git.el (vc-git--pushpull):
38857         * lisp/vc/vc-hg.el (vc-hg--pushpull):
38858         Set compile-command so that "g" works.  (Bug#11446)
38860 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
38862         Change two _Noreturn functions to return void
38864         This is a bit clearer than _Noreturn functions that (do not)
38865         return a non-void type.
38866         * src/callproc.c (call_process) [MSDOS]:
38867         Use 'status' local to record status.
38868         (child_setup): Return CHILD_SETUP_TYPE.
38869         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
38870         All callers changed.
38871         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
38873 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
38875         Fix GPG bug introduced by Oct file-missing change
38877         Problem with visiting nonexistent .gpg file
38878         reported by Herbert J Skuhra.
38879         * lisp/epa-file.el (epa-file--find-file-not-found-function):
38880         (epa-file-insert-file-contents, epa-file-write-region):
38881         Signal file-missing or file-error instead of epa-error.
38883 2016-12-05  Glenn Morris  <rgm@gnu.org>
38885         Tweak recent flymake change
38887         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
38888         Avoid double message when flymake-log-level >= 0.
38889         * doc/misc/flymake.texi (Customizable variables):
38890         No longer mention flymake-gui-warnings-enabled.
38892 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
38894         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
38896         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
38897         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
38898         `widget-backward' instead (bug#25091).
38900 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
38902         Remove compat code in Tramp
38904         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
38906         * lisp/net/tramp-compat.el (top): Require parse-time.
38908         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
38909         Use `parse-time-months'.
38911 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
38913         Don't try to split side windows in ibuffer (Bug#25115)
38915         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
38916         split a side window (Bug#25115).
38918 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
38920         * src/lisp.h: Update comment to kick -Og down the road.
38922 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
38924         More image-dired refactoring
38926         * lisp/image-dired.el: Remove TODO comment. This appears to have been
38927         implemented in 5d7433a "image-dired: Signal an error before calling a
38928         missing executable".
38929         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
38930         Add :version.
38931         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
38932         when. Remove superfluous call to image-dired-thumb-name. Move single nil
38933         binding and setq into dolist form.
38935 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
38937         Implement quoting the local part of a remote file name
38939         * doc/emacs/files.texi (Quoted File Names):
38940         * etc/NEWS: Mention quoting the local part of a remote file name.
38942         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
38943         `tramp-tramp-file-p'.
38944         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
38945         New defsubst.
38946         (tramp-handle-substitute-in-file-name)
38947         (tramp-handle-make-auto-save-file-name): Handle quoted files.
38948         (tramp-shell-quote-argument): Unquote argument.
38950         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
38951         Handle quoted files.
38953         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
38954         (tramp--test-make-temp-name): New argument QUOTED.
38955         (tramp-test01-file-name-syntax)
38956         (tramp-test02-file-name-dissect)
38957         (tramp-test04-substitute-in-file-name)
38958         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
38959         (tramp-test08-file-local-copy)
38960         (tramp-test09-insert-file-contents)
38961         (tramp-test10-write-region, tramp-test11-copy-file)
38962         (tramp-test12-rename-file, tramp-test13-make-directory)
38963         (tramp-test14-delete-directory, tramp-test15-copy-directory)
38964         (tramp-test16-directory-files)
38965         (tramp-test17-insert-directory)
38966         (tramp-test18-file-attributes)
38967         (tramp-test19-directory-files-and-attributes)
38968         (tramp-test20-file-modes, tramp-test21-file-links)
38969         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
38970         (tramp-test24-file-name-completion, tramp-test25-load)
38971         (tramp-test26-process-file, tramp-test27-start-file-process)
38972         (tramp-test28-shell-command, tramp-test30-vc-registered)
38973         (tramp-test31-make-auto-save-file-name)
38974         (tramp--test-check-files)
38975         (tramp-test35-asynchronous-requests): Test also quoted file names.
38976         (tramp--test-shell-command-to-string-asynchronously): Rename.
38977         (tramp-test29-environment-variables): Use it.
38979 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
38981         Fix typo in dired-omit-case-fold-p
38983         * lisp/dired-x.el (dired-omit-case-fold-p):
38984         Write 'file-name-case-insensitive-p' instead of
38985         'file-name-case-sensitive-p'.
38986         Add declaration of 'file-name-case-insensitive-p'.
38988 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
38990         Add HTML5 attributes for the input element
38992         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
38993         for the input element.
38995 2016-12-03  Glenn Morris  <rgm@gnu.org>
38997         Obsolete sc-load-hook in favor of eval-after-load
38999         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
39000         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
39001         No longer mention sc-load-hook.
39003 2016-12-03  Glenn Morris  <rgm@gnu.org>
39005         Obsolete calendar-load-hook in favor of eval-after-load
39007         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
39008         (calendar): Doc fix - no longer mention calendar-load-hook.
39009         * doc/emacs/cal-xtra.texi (Calendar Customizing):
39010         No longer mention calendar-load-hook.
39011         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
39012         Replace calendar-load-hook in example with with-eval-after-load.
39014 2016-12-03  Glenn Morris  <rgm@gnu.org>
39016         Fix markup in read-multiple-choice doc (Bug#25102)
39018         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
39020 2016-12-03  Glenn Morris  <rgm@gnu.org>
39022         Stop flymake using dialog boxes for errors (Bug#16622)
39024         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
39025         Mark as obsolete.
39026         (flymake-display-warning): Turn into an obsolete alias.
39027         (flymake-report-fatal-status): Just use message for a warning that
39028         was formerly displayed by default.
39030 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
39032         Clean up keymap and menu code in image-dired
39034         A function to populate these maps is not necessary, just define the maps
39035         once and for all.
39036         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
39037         clearer and in the spirit of dired's.
39038         (image-dired-define-display-image-mode-keymap):
39039         (image-dired-define-thumbnail-mode-keymap): Remove.
39040         (image-dired-thumbnail-mode-map):
39041         (image-dired-thumbnail-mode-line-up-map):
39042         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
39043         menu code from the aforementioned removed functions.  Reorder so that
39044         the definitions are inherited properly.
39045         (image-dired-display-current-image-sized): Fix erroneous message.
39046         (image-dired-thumbnail-mode):
39047         (image-dired-display-image-mode): Remove defunct call.
39049 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
39051         Mention `file-name-case-insensitive-p' as magic file name
39053         * doc/lispref/files.texi (Magic File Names):
39054         Mention `file-name-case-insensitive-p'.
39056         * doc/lispref/variables.texi (Connection Local Variables):
39057         Fix typo.
39059 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
39061         Clean up uses of cl-foo in image-dired
39063         Both instances here are just emulating cl-find-if.
39064         * lisp/image-dired.el: Use cl-lib at compile time.
39065         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
39066         Replace the cl-foo instances with equivalent cl-loops.
39068 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
39070         Avoid compilation warnings in nt/*.c files
39072         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
39073         (console_event_handler): Add prototypes.
39074         (canon_filename, skip_space, skip_nonspace, get_next_token)
39075         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
39076         (spawn, get_env_size): Now static.
39077         * nt/ddeclient.c (DdeCallback): Provide prototype.
39078         * nt/addpm.c (DdeCallback): Provide prototype.
39079         (add_registry): Now static.
39081 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
39083         Display window before calculating width
39085         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
39086         before calling image-dired-line-up and friends, which in turn calculate
39087         the window width. Otherwise, the thumbnail layout will be wrong in
39088         a side-by-side split.
39090 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
39092         Use pop-to-buffer-same-window
39094         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
39095         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
39096         use pop-to-buffer-same-window cf. Bug#22244.
39097         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
39099 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
39101         Document watchpoints
39103         * doc/lispref/debugging.texi (Variable Debugging):
39104         * doc/lispref/variables.texi (Watching Variables): New section.
39105         * etc/NEWS: Add entry for watchpoints
39107 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
39109         Add tests for watchpoints
39111         * test/src/data-tests.el (data-tests-variable-watchers):
39112         (data-tests-local-variable-watchers): New tests.
39114 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
39116         Ensure redisplay using variable watcher
39118         This replaces looking up the variable name in redisplay--variables when
39119         setting it.
39121         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
39122         calls.
39123         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
39124         set the redisplay flag unconditionally.
39125         (Vredisplay__variables): Remove it.
39126         * src/data.c (set_internal): Remove maybe_set_redisplay call.
39128 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
39130         Add function to trigger debugger on variable write
39132         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
39133         (debug--variable-list):
39134         (cancel-debug-on-variable-change): New functions.
39135         (debugger-setup-buffer): Add watchpoint clause.
39137 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
39139         Show watchpoints when describing variables
39141         * src/data.c (Fget_variable_watchers): New function.
39142         * lisp/help-fns.el (describe-variable): Use it to detect watching
39143         functions.
39145 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
39147         Add lisp watchpoints
39149         This allows calling a function whenever a symbol-value is changed.
39151         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
39152         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
39153         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
39154         (enum symbol_trapped_write): New enumeration.
39155         (struct Lisp_Symbol): Rename field constant to trapped_write.
39156         (make_symbol_constant): New function.
39158         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
39159         (set_symbol_trapped_write, restore_symbol_trapped_write):
39160         (harmonize_variable_watchers, notify_variable_watchers): New functions.
39162         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
39163         symbols.
39164         (set_internal): Change bool argument BIND to 3-value enum and call
39165         `notify_variable_watchers' for trapped symbols.
39167         * src/data.c (syms_of_data):
39168         * src/data.c (syms_of_data):
39169         * src/font.c (syms_of_font):
39170         * src/lread.c (intern_sym, init_obarray):
39171         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
39173         * src/alloc.c (init_symbol):
39174         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
39175         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
39176         (Fmake_variable_frame_local):
39177         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
39178         trapped_write instead of constant.
39179         (Ffuncall): Move subr calling code into separate function.
39180         (funcall_subr): New function.
39182 2016-12-02  Glenn Morris  <rgm@gnu.org>
39184         Starting doc of user options with "*" is long obsolete
39186         * lisp/battery.el (battery-upower-device): Doc fix.
39188 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
39190         Fix bug#25087
39192         * etc/themes/manoj-dark-theme.el: Fix two typos.
39194         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
39196 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
39198         Fix docstrings to have a complete sentence in first line
39200         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
39201         docstrings.
39203 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
39205         Remove obsolete comments and commented code from dired-x.el
39207         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
39208         1997 answer about whether dired-mark-sexp is used.
39209         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
39210         commented out since before dired-x.el was added to RCS in 1994.
39212 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
39214         Remove pre-customize dired-x.el documentation
39216         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
39217         use dired-x from .emacs.  It is now fully customizable.
39218         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
39219         how to set this custom variable in .emacs.  It should be customized.
39221 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
39223         Allow files to be matched case-sensitively in dired-x
39225         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
39226         controls case folding for matching the regex (Bug#18716).
39227         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
39228         systems, `nil' otherwise.
39229         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
39230         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
39232 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
39234         Add support for curly quotation marks to electric-pair-mode
39236         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
39237         entries for left/right single/double quotation marks, from
39238         electric-quote-chars. Note that this is safe for single quotation marks,
39239         unlike with the ASCII apostrophe, since, although the right quotation
39240         mark can be used as an apostrophe, it is the left quotation mark that is
39241         typed to get a pair (Bug#24901).
39243 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
39245         Fix bug#25087
39247         * etc/themes/manoj-dark-theme.el: Fix two typos.
39249 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
39251         Handle quoted file names in Tramp
39253         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
39254         case the file name is quoted.  This is not trapped by the
39255         reassigned `tramp-file-name-regexp' anymore.
39257 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
39259         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
39261 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
39263         Support for rawrgb images using imagemagick
39265         * src/image.c (imagemagick_load_image): Set wand size before loading
39266         blob when ':width' and ':height' are provided.
39268         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
39270 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
39272         Fix 'sql-connect' on first invocation
39274         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
39275         param-var.  (Bug#19452)
39277 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
39279         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
39281 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
39283         Improve indexing of 'man'
39285         * doc/emacs/programs.texi (Man Page): Index 'man', not
39286         'manual-entry', as the latter is an alias for the former.
39287         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
39289 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
39291         Port to Sun C 5.14
39293         Backport from master.  Sun C 5.14 supports C11 but not GCC
39294         extensions, and so refuses to compile Emacs without this patch.
39295         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
39296         size_t, as in general this macro is restricted to signed types.
39298 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
39300         Fix type typo on Solaris
39302         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
39303         Fix type mismatch, caught by --enable-check-lisp-object-type.
39305 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
39307         Merge from gnulib
39309         This incorporates:
39310         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
39311         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
39312         * build-aux/snippet/c++defs.h:
39313         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
39314         Copy from gnulib.
39316 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
39318         Make struct font_drivers read-only
39320         This simplifies the code a bit, and makes the structs more
39321         shareable and less likely to become corrupt.
39322         * src/alloc.c (cleanup_vector):
39323         * src/font.c (valid_font_driver, font_prepare_cache)
39324         (font_finish_cache, font_get_cache, font_clear_cache)
39325         (register_font_driver, font_update_drivers):
39326         * src/font.h (struct font, struct font_driver_list)
39327         (valid_font_driver):
39328         struct font_drivers are now const.
39329         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
39330         Omit no-longer-necessary decls.
39331         * src/ftcrfont.c (syms_of_ftcrfont):
39332         * src/ftxfont.c (syms_of_ftxfont):
39333         * src/xftfont.c (syms_of_xftfont):
39334         Omit no-longer-necessary initialization code.
39335         * src/ftcrfont.c (ftcrfont_driver):
39336         * src/ftfont.c (ftfont_driver):
39337         * src/ftxfont.c (ftxfont_driver):
39338         * src/macfont.m (macfont_driver):
39339         * src/nsfont.m (nsfont_driver):
39340         * src/xfont.c (xfont_driver):
39341         * src/xftfont.c (xftfont_driver):
39342         Use C99-style initializer for ease of maintenance, and make it const.
39343         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
39344         Refer to functions like ftfont_text_extents directly.
39345         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
39346         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
39347         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
39348         (ftfont_variation_glyphs, ftfont_filter_properties)
39349         (ftfont_combining_capability):
39350         * src/xfont.c (xfont_get_cache):
39351         Now extern, so that other modules’ struct font_drivers can use
39352         them directly.
39353         * src/macfont.m (macfont_descriptor_entity):
39354         * src/nsfont.m (nsfont_open):
39355         Use constant directly; this is clearer.
39357 2016-12-01  Richard Stallman  <rms@gnu.org>
39359         Fix mail-combine-fields
39361         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
39362         avoid losing our place in the search loop.
39364         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
39366 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
39368         Forth related improvements for etags
39370         Generate correct tags names for things like "(foo)".
39371         Previously "(foo" created.
39373         Fix a bug where a tag for "-bar" was created when encountering things
39374         like "create-bar".
39376         Recognize more words from the Forth-2012 Standard.
39378         * lib-src/etags.c (Forth_words): Check for whitespace after defining
39379         words.  Create tag with make_tag instead of get_tag to avoid notiname
39380         which isn't appropriate for Forth.
39382         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
39383         * test/manual/etags/ETAGS.good_1:
39384         * test/manual/etags/ETAGS.good_2:
39385         * test/manual/etags/ETAGS.good_3:
39386         * test/manual/etags/ETAGS.good_4:
39387         * test/manual/etags/ETAGS.good_5:
39388         * test/manual/etags/ETAGS.good_6:
39389         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
39390         new test cases.
39392 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
39394         Fix bugs with buffer-local tags tables
39396         * lisp/progmodes/etags.el (visit-tags-table): After
39397         'visit-tags-table-buffer' returns, retrieve the value of
39398         'tags-file-name' from the buffer we started in.  Force
39399         recomputation of 'tags-completion-table' next time it is used,
39400         since the list of tags table has changed.
39401         (visit-tags-table-buffer): Accept an additional optional argument
39402         CBUF, the buffer in which to start processing, and switch to that
39403         buffer if CBUF is non-nil.  All callers changed to supply a
39404         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
39405         Doc fix.
39406         (tags-completion-table): Accept an optional argument, the buffer
39407         for which to build 'tags-completion-table', and build that
39408         buffer's completion table.
39409         (tags-lazy-completion-table): Pass the current buffer to
39410         'tags-completion-table'.
39411         (tags-file-name): Don't say in the doc string that setting this
39412         variable directly is enough; say that 'visit-tags-table' should be
39413         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
39415         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
39416         advice to set 'tags-file-name' directly.
39418         * test/lisp/progmodes/etags-tests.el: New tests.
39420 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
39422         Fix documentation of `window-combination-resize'
39424         * src/window.c (Vwindow_combination_resize): Fix doc-string.
39425         * doc/lispref/windows.texi (Recombining Windows): Fix
39426         documentation of `window-combination-resize'.
39428 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
39430         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
39432         All uses replaced by LISPSYM_INITIALLY.
39434 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
39436         Make Cairo safer for --enable-gcc-warnings
39438         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
39439         Avoid overflow warnings about ‘0xff << 24’.
39440         (xpm_load, gif_load): Avoid unnecessary casts.
39441         (gif_load): Fewer ifdefs.
39443 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
39445         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
39447         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
39448         !NILP.
39450 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
39452         Fix previous commit
39454         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
39455         of hunk before calling `diff-hunk-style'.
39457 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
39459         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
39461 2016-11-29  Glenn Morris  <rgm@gnu.org>
39463         Use archive-mode for .cbr files
39465         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
39467 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
39469         Pacify Sun C 5.14
39471         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
39472         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
39473         into this enum rather than into an anonymous enum.  This avoids
39474         diagnostics from Sun C 5.14 and is a bit clearer anyway.
39476 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
39478         Adjust lwlib to recent config.h change
39480         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
39482 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
39484         * src/eval.c (clobbered_eassert): Check E's syntax.
39486 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
39488         Improve user retrieval from auth-source in Tramp
39490         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
39491         Use user for auth-source request only in case it exists.
39493 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
39495         shr.el: Don't render a normal table twice
39497         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
39498         Don't render a table if it is called for the first time,
39499         IOW, recognize it to never be invalid (bug#25051).
39501 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
39503         Typo fixes in elisp manual
39505         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
39506         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
39507         definitions of 'string-prefix-p' and 'string-suffix-p'.
39508         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
39510 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
39512         Improve diff-mode navigation/manipulation
39514         This is Bug #17544.
39516         Navigation and use of diff buffers had several annoying corner cases
39517         that this patch fixes.  These corner cases were largely due to
39518         inconsistent treatment of file headers.  Say you have a diff such as
39519         this:
39521          --- aaa
39522          +++ bbb
39523          @@ -52,7 +52,7 @@
39524          hunk1
39525          @@ -74,7 +74,7 @@
39526          hunk2
39527          --- ccc
39528          +++ ddd
39529          @@ -608,6 +608,6 @@
39530          hunk3
39531          @@ -654,7 +654,7 @@
39532          hunk4
39534         The file headers here are the '---' and '+++' lines.  With the point on
39535         such a line, hunk operations would sometimes refer to the next hunk and
39536         sometimes to the previous hunk.  Most of the time it would be the
39537         previous hunk, which is not what the user would expect.  This patch
39538         consistently treats such headers as the next hunk.  So with this patch,
39539         if the point is on the '--- ccc' line, the point is seen as referring to
39540         hunk3.
39542         Specific behaviors this fixes are:
39544         1. It should be possible to place the point in the middle of a diff
39545         buffer, and press M-k repeatedly to kill hunks in the order they appear
39546         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
39547         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
39548         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
39549         This is fixed by this patch.
39551         2. Similarly, it should be possible to apply hunks in order.  Previously
39552         with the point at the start, C-c C-a would apply the hunk1, then move
39553         the point to the first @@ header, and thus C-c C-a would try to apply
39554         the same hunk again.
39556         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
39557         navigation logic to diff-{hunk,file}-{next,prev}.
39558         (diff-hunk-next, diff-hunk-prev):
39559         (diff-file-next, diff-file-prev): Better navigation logic if
39560         skip-hunk-start is true, which happens when called interactively.
39561         (diff-bounds-of-hunk, diff-find-source-location):
39562         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
39563         improve hunk navigation.
39565 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
39567         Upcase Path and ComSpec in process-environment
39569         Since 2016-07-18 "Keep w32 environment settings internal only", the
39570         upcasing of environment variables "Path" and "ComSpec" occurred after
39571         initializing process-environment.  This meant that Lisp code trying to
39572         override "PATH" environment had no effect (Bug #24956).
39574         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
39575         in Vprocess_environment.
39577 2016-11-28  Philipp Stephani  <phst@google.com>
39579         Guard terminal parameter in XTerm mouse mode
39581         It has been observed (in the HTerm terminal emulator) that the
39582         event stored in the 'xterm-mouse-last-down' terminal parameter gets
39583         overwritten during a mouse drag operation, causing Emacs to attempt to
39584         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
39585         the terminal parameter to protect against such modifications.
39587         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
39588         of input event list.
39590 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
39592         Fix template for module functions
39594         Reported by Syohei YOSHIDA (Bug#24932).
39595         * modules/modhelp.py (TEMPLATES):
39596         c_func’s 2nd arg is ptrdiff_t, not int.
39598 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
39600         Pacify gcc -Wswitch.
39602         * src/keyboard.c (kbd_buffer_store_buffered_event):
39603         Move initialization into default case.
39605 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
39607         Reuse already existing lisp symbols for ignore_event (bug#19547).
39609         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
39610         * src/keyboard.c (kbd_buffer_store_buffered_event):
39611         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
39612         and make-frame-visible for DEICONIFY_EVENT.
39613         (syms_of_keyboard): Remove unneeded symbols.
39615 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
39617         Allow configuring which event throw-on-input should ignore (bug#19547).
39619         * src/keyboard.c (kbd_buffer_store_buffered_event):
39620         Translate event to corresponding symbol from `while-no-input-ignore-events`
39621         and check them with Fmemq.
39622         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
39623         and its symbols.
39625         * lisp/subr.el (while-no-input-ignore-events): Add default values.
39627         * doc/lispref/commands.texi (Event Input Misc):
39628         Document while-no-input-ignore-events.
39629         * etc/NEWS: Same.
39631 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
39633         ash, lsh avoid code duplication
39635         See discussion in:
39636         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
39637         * src/data.c (ash_lsh_impl): New function.
39638         (ash, lsh): Use it.
39640 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
39642         Add will change module to CSS property list
39644         * lisp/textmodes/css-mode.el (css-property-alist)
39645         (css-value-class-alist): Add new property and value class from CSS
39646         Will Change Module.
39648 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
39650         Don't access pointers to freed storage in regex.c
39652         Remove __BOUNDED_POINTERS__ code, which does not work with
39653         -fcheck-pointer-bound and which has undefined behavior anyway.
39654         Problem found when trying to port to gcc -fcheck-pointer-bounds.
39655         (This code was removed from glibc and gnulib regex.c many years ago.)
39656         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
39657         (EXTEND_BUFFER): Use a more-portable approach that avoids
39658         undefined behavior due to inspecting pointers to freed storage.
39660 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
39662         Port build to gcc -fcheck-pointer-bounds
39664         This does not let Emacs run, just build.
39665         * lib-src/etags.c (main):
39666         * lib-src/profile.c (main):
39667         Use return, not exit.
39668         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
39669         Do not define, as -fcheck-pointer-bounds is incompatible with taking
39670         addresses of labels.
39671         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
39672         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
39674 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
39676         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
39678 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
39680         * lisp/rot13.el: Use lexical-binding
39682 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
39684         Add "using" to cl-loop debug spec (Bug#24750)
39686         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
39687         "using" hash table clause.
39689 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
39691         Allow user control of progress messages in cpp.el
39693         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
39694         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
39695         the doc string.
39696         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
39697         'message' to print messages.  (Bug#24861)
39699 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
39701         New input method 'polish-prefix'
39703         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
39704         method.  (Bug#24967)
39706         * etc/NEWS: Mention the new input method.
39708 2016-11-25  Damien Cassou  <damien@cassou.me>
39710         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
39712 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
39714         Add missing 'provide's in preloaded packages
39716         * lisp/composite.el:
39717         * lisp/replace.el:
39718         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
39720 2016-11-24  Alan Mackenzie  <acm@muc.de>
39722         Handle correctly an (undocumented) bare mode in hack-local-variables.
39724         lisp/files.el (hack-local-variables-prop-line): When a file's first line
39725         contains only a mode specification without the string "mode:", return the mode
39726         symbol only when `handle-mode' is t.
39728 2016-11-23  Dima Kogan  <dima@secretsauce.net>
39730         Clarify ediff-directories prompt
39732         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
39733         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
39734         ediff-directories3, ediff-merge-directories,
39735         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
39736         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
39737         filename filter in interactive ediff. The new message makes it clear what is
39738         being filtered
39740 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
39742         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
39744 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
39746         Fix Bug#24199.
39748         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
39749           bracket in doc string (make checkdoc happy).
39750           (icalendar-import-buffer),
39751           (icalendar-import-buffer),
39752           (icalendar--convert-ical-to-diary),
39753           (icalendar--add-diary-entry): Rename argument diary-file to
39754           diary-filename (make checkdoc happy).
39755           (icalendar--convert-recurring-to-diary): Take care of byday-clause
39756           in monthly recurring events.  Actually fix Bug#24199.
39758         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
39760 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
39762         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
39764 2016-11-22  Philipp Stephani  <phst@google.com>
39766         Comint: new user option for C-c M-r and C-c M-s
39768         This option allows the user to specify where to place point after these
39769         commands.
39771         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
39772         (comint-previous-matching-input-from-input): Use user option.
39774 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
39776         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
39778         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
39779         `eshell-first-time-mode-hook'.
39781 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
39783         Dump also connection local variables in Tramp bug reports
39785         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
39786         Dump also connection local variables.
39788 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
39790         Make sure elided long buffer names have ellipses added (Bug#24972)
39792         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
39793         string concat, and chop "strvar" less the width of the ellipsis.
39794         (ibuffer-compile-make-substring-form): Add space as padding, to fix
39795         off-by-one in alignment.
39797 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
39799         Buffer-menu-no-header: Detect a fake header
39801         * lisp/buff-menu.el (Buffer-menu-no-header): Use
39802         'tabulated-list-header-overlay-p' (Bug#24855).
39804 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
39806         buff-menu: Add command to unmark all buffers
39808         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
39809         to unmark all buffers (Bug#24880).
39810         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
39811         New predicate; return non-nil if tabulated-list has a fake header.
39812         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
39813         New command; remove all flags that use a particular mark from all the lines.
39814         Bind it to 'M-DEL'.
39815         (Buffer-menu-unmark-all):
39816         New command; remove all flags from all the lines.  Bind it to 'U'.
39817         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
39818         (Buffer-menu-delete, Buffer-menu-mark): Use them.
39819         (Buffer-menu-mode-map): Update menus.
39820         (Buffer-menu-mode): Update mode doc.
39821         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
39822         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
39823         (bs-mode): Update mode doc.
39824         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
39825         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
39826         to 'M-DEL'.
39827         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
39828         Use point instead of cursor in doc string.
39829         (electric-buffer-list): Update mode doc.
39830         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
39831         and Buffer-menu-unmark-all-buffers.
39833 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
39835         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
39837         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
39839 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
39841         Port htmlfontify to cl-lib
39843         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
39844         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
39845         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
39846         instances of cl aliases with their cl-lib counterparts.
39848 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
39850         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
39852 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
39854         Fix another CANNOT_DUMP problem
39856         Reported by Robert Pluim in:
39857         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
39858         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
39859         * src/lisp.h: ... to here.
39861 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
39863         Add further consideration to string-width (Bug#24972)
39865         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
39866         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
39868 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
39870         Don't collect strings existing out of <tr>...</tr>
39872         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
39873         Don't collect strings existing out of <tr>...</tr> to avoid
39874         duplication with what `shr-tag-table' renders.
39876 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
39878         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
39879         the last commit.
39881 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
39883         Add a variable to pass additional options to rcvstore
39885         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
39886         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
39887         the arguments that are passed to rcvstore.
39889         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
39890         and followups, i.e., ding mailing list.
39892 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39894         Fix undefined refs on some GNU/Linux hosts
39896         Problem reported by Ken Raeburn in:
39897         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
39898         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
39899         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
39900         removes unwanted references to my_endbss and my_endbss_static,
39901         which are not optimized away on some platforms.
39903 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39905         Make CANNOT_DUMP work better on GNU/Linux
39907         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
39908         lets the build succeed again, and fixes the testing framework so
39909         that most test cases now pass.  About twenty test cases still
39910         fail, though, and we still have Bug#24974.
39911         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
39912         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
39913         be any point to messing with a private memory allocator unless
39914         Emacs is dumping.
39915         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
39916         * src/image.c (reset_image_types):
39917         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
39918         Do not define if CANNOT_DUMP.
39919         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
39920         (daemon_pipe) [!WINDOWSNT]: Now static.
39921         * test/Makefile.in (mostlyclean): Remove *.tmp files.
39922         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
39924 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39926         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
39928 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39930         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
39932         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
39933         Do not define.  If defining, do it in a smaller scope.
39935 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
39937         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
39939 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
39941         Fix redrawing non-selected frame after resize on MS-Windows
39943         * src/xdisp.c (redisplay_internal): If all the frames were
39944         successfully updated, reset the "garbaged" flag of each frame, to
39945         make sure it doesn't stay set.
39947         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
39948         "garbaged", since expose_frame won't redraw the foreground then.
39949         (Bug#24642)
39951 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
39953         Add file-local-name
39955         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
39956         (Unique File Names): Use it.
39958         * etc/NEWS: Mention `file-local-name'.
39960         * lisp/files.el (file-local-name): New defun.
39961         (file-expand-wildcards):
39962         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
39963         * lisp/eshell/esh-ext.el (eshell-remote-command):
39964         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
39965         * lisp/org/ob-core.el (org-babel-local-file-name):
39966         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
39967         * lisp/progmodes/python.el (python-shell-send-file):
39968         * lisp/shell.el (shell):
39969         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
39970         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
39972 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
39974         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
39976 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
39978         * src/editfns.c (format-time-string): Mention %q in doc string.
39980 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
39982         Document format-time-string %q
39984         * doc/lispref/os.texi (Time Parsing):
39985         * etc/NEWS: Document new %q functionality taken from gnulib.
39987 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
39989         Merge from gnulib
39991         This incorporates:
39992         2016-11-15 sys_time: add gnulib::timeval for C++
39993         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
39994         2016-11-13 strftime: don't use __THROW
39995         2016-11-12 strftime: tune %q
39996         2016-11-12 Merge strftime.c changes from glibc
39997         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
39998         2016-11-05 strftime,strptime: support %q to represent the quarter
40000         The glibc changes in turn incorporate the following strftime.c changes:
40001         2015-10-20 Convert misc function definitions to prototype style
40002         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
40003         2010-01-09 Add support for XPG7 testing
40004         2009-10-30 Implement Burmese language locale for Myanmar
40005         2008-06-13 [BZ #6612] pass reference to tzset_called around
40006         2007-10-16 [BZ #5184] Add tzset_called argument
40008         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
40009         * m4/manywarnings.m4: Copy from gnulib.
40011 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
40013         Merge from origin/emacs-25
40015         07f45d7 ; Spelling fix
40016         1a210f0 * admin/release-process: Update versions and blocking bug num...
40017         36bafc9 Improve documentation of functions that accept time values
40019         # Conflicts:
40020         #       admin/release-process
40021         #       src/editfns.c
40023 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
40025         Merge from origin/emacs-25
40027         4af5981 Add a comment in generated refcards about the source
40028         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
40029         4887e7c js-mode: Fix indent problem after a regexp
40030         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
40031         1fc101b Don't confuse how Texinfo outputs @var with the input
40032         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
40033         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
40034         5b0cddd More fixes in copyright notices in etc/refcards/
40035         f994c20 Update copyright text in refcards
40036         9ad2ae7 Fix Outline command names
40037         26c3554 Send text received by bracketed paste to process
40038         db0b58d Correct the statement about programming modes always running ...
40039         78aece4 Improve documentation of 'occur'
40040         eb364fd Do call debugger on failed cl-assert
40041         3ef4ee8 Avoid infloop in python
40042         8da810f Don't refer to obsolete FEATURE-unload-hook
40043         4f478ca Improve documentation of dabbrevs
40044         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
40045         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
40046         3b199f7 Improve documentation of some Help commands
40047         93d3a0e Fix documentation of yes-or-no prompts
40048         af04919 Fix documentation of partial completion style
40049         ed80184 Fix documentation of the mode line on emacsclient frames
40050         e6be855 Fix description of 'C-z' in User manual
40051         16f7007 Improve and clarify documentation of Outline Mode
40052         31d93aa Add Emacs version number to nt/README.W32
40053         0b6b815 Fix python-mode hideshow regexp
40054         dc152c5 Modernize usage of 'macOS' in doc and comments
40055         84c5343 Prefer comments /* like this */ in C code
40056         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
40057         3ef86fd Clarify documentation of face attribute functions
40058         de51d59 ; * nt/README.W32: Minor copyedits.
40059         db436e9 Don't call debug on failed cl-assert
40061         # Conflicts:
40062         #       doc/emacs/cmdargs.texi
40063         #       etc/NEWS
40064         #       etc/PROBLEMS
40065         #       lisp/auth-source.el
40066         #       lisp/net/tramp-sh.el
40068 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
40070         Port RefTeX to cl-lib
40072         * lisp/textmodes/reftex-auc.el:
40073         * lisp/textmodes/reftex-cite.el: Use cl-lib.
40074         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
40075         macros.
40076         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
40077         (reftex-view-regexp-match): Substitute cl-lib macro.
40078         * lisp/textmodes/reftex-global.el: Use cl-lib.
40079         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
40080         (reftex-translate): Substitute cl-lib macros.
40081         * lisp/textmodes/reftex-index.el: Use cl-lib.
40082         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
40083         (reftex-index-next-phrase, reftex-index-phrases-info):
40084         (reftex-query-index-phrase): Substitute cl-lib macros.
40085         * lisp/textmodes/reftex-parse.el: Use cl-lib.
40086         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
40087         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
40088         Substitute cl-lib macros.
40089         * lisp/textmodes/reftex-ref.el: Use cl-lib.
40090         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
40091         macros.
40092         * lisp/textmodes/reftex-sel.el: Use cl-lib.
40093         (reftex-select-shared-map): Set keymap parent to special-mode-map.
40094         Flatten loop and remove digits and hyphen definitions from the map.
40095         (reftex-select-label-mode-map):
40096         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
40097         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
40098         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
40099         cl-pushnew.
40100         * lisp/textmodes/reftex.el: Use cl-lib.
40101         (reftex-docstruct-symbol): Use cl-incf.
40102         (reftex-ref-style-toggle): Replace add-to-list with append.
40103         (reftex-compile-variables): Use cl-lib macros, and functions with
40104         compiler macros. cl-first is just an alias.
40105         (reftex-parse-args, reftex-scanning-info-available-p):
40106         (reftex-select-external-document, reftex-get-file-buffer-force): Use
40107         cl-lib macros.
40108         (reftex-isearch-minor-mode): Replace add-to-list with append.
40110 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
40112         ibuffer-exchange-filters: Simplify code
40114         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
40116 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
40118         Implement getrlimit and setrlimit for MS-Windows
40120         * src/w32heap.c (getrlimit, setrlimit): New functions.
40121         Include w32.h.
40122         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
40123         should be compatible with 'struct rlimit' members.
40125         * nt/inc/sys/resource.h: New header file.
40127         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
40128         Set to "yes".
40130 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
40132         Move key mappings into reftex-mode-map defvar
40134         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
40135         key mappings.
40136         (reftex-reset-mode): Just use dolist.
40138 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
40140         Derive reftex-index-mode from special-mode
40142         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
40143         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
40144         from special-mode now.
40145         (reftex-index-mode): Derive from special-mode.
40146         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
40148 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
40150         Clean up reftex-toc-mode-map
40152         * lisp/textmodes/reftex-toc.el: Remove cl.
40153         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
40154         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
40156 2016-11-18  Philipp Stephani  <phst@google.com>
40158         Prevent dubious argument lists
40160         See Bug#24912 and Bug#24913.
40162         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
40163         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
40164         more dubious argument lists.
40165         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
40166         test.
40168 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
40170         Add test suite for buff-menu.el
40172         * test/lisp/buff-menu-tests.el: New file.
40173         (buff-menu-24962): Add test for Bug#24962.
40175 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
40177         Add cyrillic-tuvan input method
40179         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
40180         method.  (Bug#24942)
40182         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
40184 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
40186         Extend 'indent-relative' when its arg is non-nil
40188         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
40189         (indent-relative-first-indent-point): Renamed from
40190         'indent-relative-maybe'.
40191         (indent-relative): Now accepts an additional optional argument.
40192         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
40193         the additional arg.  (Bug#24766)
40195 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
40197         Add example for bug#24854
40199         * test/manual/indent/js.js: Add example for bug#24854.
40201 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
40203         Port registry.el the rest of the way to cl-lib
40205         This file already is using cl-lib functions at runtime; eieio ultimately
40206         loads cl-lib, which explains why doing so wasn't an issue.
40207         * lisp/registry.el: Require cl-lib.
40208         (registry-db, registry--match, registry-search, registry-delete):
40209         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
40210         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
40212 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
40214         Fix arglist in python.el (Bug#24762)
40216         * lisp/progmodes/python.el: Remove unneeded second args.
40217         (python-define-auxiliary-skeleton): DOC arg should be &optional.
40219 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
40221         Add tests for rot13.el
40223         * lisp/rot13.el (rot13): Docstring correction.
40225         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
40227 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
40229         Fix Bug#24947 (Tramp + ido)
40231         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
40233         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
40234         Run remote tests only if a connection is established only.  (Bug#24947)
40236 2016-11-16  Ken Brown  <kbrown@cornell.edu>
40238         Unbreak the build on Darwin (Bug#24957)
40240         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
40241         mistakes in recent commit.
40243 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
40245         Do not use map.el in seq-tests.el
40247         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
40248         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
40249         Emacs 24.5.
40251 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
40253         Update parameter :version to 26.1 in several defcustom
40255         Following defcustom where added or modified for 25.2 release.
40256         In fact all these changes belong to 26.1 release.
40257         * lisp/battery.el (battery-linux-sysfs-regexp)
40258         * lisp/comint.el (comint-password-prompt-regexp)
40259         * lisp/dired.el (dired-always-read-filesystem)
40260         * lisp/image.el (image-scaling-factor)
40261         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
40262         (ibuffer-never-search-content-mode)
40263         * lisp/mouse.el (mouse-select-region-move-to-beginning)
40264         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
40265         (netstat-program, route-program, route-program-options)
40266         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
40267         * lisp/progmodes/grep.el (grep-save-buffers)
40268         * lisp/vc/add-log.el (change-log-directory-files)
40269         * lisp/url/url-vars.el (url-user-agent)
40270         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
40271         (vc-hg-use-file-version-for-mode-line-version)
40272         (vc-hg-parse-hg-data-structures)
40273         * lisp/wdired.el (wdired-create-parent-directories)
40274         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
40275         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
40276         (gnus-button-url-regexp)
40277         * lisp/window.el (switch-to-buffer-preserve-window-point)
40278         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
40279         (ibuffer-locked-buffer)
40280         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
40281         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
40282         * lisp/gnus/message.el (message-user-fqdn)
40283         * lisp/simple.el (shell-command-dont-erase-buffer)
40284         (extended-command-suggest-shorter)
40285         * lisp/net/shr.el (shr-use-fonts)
40286         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
40288 2016-11-15  Glenn Morris  <rgm@gnu.org>
40290         Add --new-daemon, which runs in the foreground and does not fork
40292         This is intended for modern init systems such as systemd,
40293         which manage many of the traditional aspects of daemon behavior
40294         themselves.  (Bug#2677)
40295         * src/emacs.c (daemon_type): New integer.
40296         (usage, standard_args): Add --old-daemon and --new-daemon.
40297         (main): Handle --old-daemon and --new-daemon arguments.
40298         Restrict all the forking and complicated daemon stuff to old-daemon.
40299         (Fdaemon_initialized): Handle new-style daemon.
40300         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
40301         Replace daemon_pipe with daemon_type.
40302         * doc/emacs/cmdargs.texi (Initial Options):
40303         * doc/emacs/glossary.texi (Glossary):
40304         * doc/emacs/misc.texi (Emacs Server):
40305         * doc/lispref/display.texi (Window Systems):
40306         * doc/lispref/os.texi (Startup Summary): Related doc updates.
40307         * etc/NEWS: Mention this.
40308         * etc/emacs.service: Use Type=simple and --new-daemon.
40310 2016-11-15  Glenn Morris  <rgm@gnu.org>
40312         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
40313         * doc/man/emacs.1.in: Likewise.
40315 2016-11-15  Ken Brown  <kbrown@cornell.edu>
40317         Simplify case-insensitivity checks on Mac OS X
40319         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
40320         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
40321         Leave in two alternatives conditionally compiled based on
40322         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
40324         * etc/PROBLEMS: Mention the possible problem with pathconf on
40325         Mac OS X.
40327 2016-11-15  Glenn Morris  <rgm@gnu.org>
40329         * src/emacs.c (sort_args): Warn about multiple matches.
40331 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
40333         Implement file name handler for `file-name-case-insensitive-p'
40335         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
40336         is also applicable for remote hosts.
40338         * lisp/net/tramp.el (tramp-methods): Improve docstring.
40339         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
40340         (tramp-handle-file-name-case-insensitive-p): New defun.
40342         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
40343         Add `tramp-case-insensitive' entry.
40345         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
40346         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
40347         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
40348         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
40349         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
40351 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
40353         Nix more uses of default-FOO variables (Bug#24946)
40355         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
40356         Check for header-line-format instead.
40357         * lisp/emulation/viper.el (viper-load-custom-file): Reference
40358         major-mode instead.
40359         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
40360         fill-column instead.
40362 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
40364         Complete the name of PostgreSQL databases
40366         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
40367         name.
40368         (sql-postgres-list-databases): New function returning a list of
40369         available PostgreSQL databases.
40371         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
40373 2016-11-14  Sam Steingold  <sds@gnu.org>
40375         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
40377         When `vc-git-print-log-follow' is true and all files are
40378         non-directory, pass "--follow" to "git log".
40379         This works around bug#8756 and bug#16422.
40381 2016-11-14  Sam Steingold  <sds@gnu.org>
40383         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
40385         vc-git-print-log: pass "--follow" to "log" to handle renamed files
40387 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
40389         Revert "Improve case-insensitive checks (Bug#24441)"
40391         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
40392         I see no reason for removing code, documentation, and comments
40393         in the original commit.
40395 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
40397         Update verilog-mode.el
40399         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
40400         (verilog-calc-1): Fix "default clocking" indentation and
40401         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
40402         (verilog-diff-report): Fix `verilog-diff-report'
40403         not returning bad status on differences, bug1087.  Reported by
40404         Eric Jackowski.
40405         (verilog-auto-inst-param-value)
40406         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
40407         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
40408         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
40409         (verilog-read-sub-decls-type): When
40410         `verilog-auto-inst-param-value-type' is set, which is now the
40411         default, AUTOINPUT etc will now substitute parameter types from
40412         submodules, bug1061.  Reported by Brad Dobbie.
40413         (verilog-auto-reset, verilog-backward-case-item)
40414         (verilog-extended-case-re, verilog-read-always-signals-recurse):
40415         Fix indentation of randcase, bug1072. Reported by David Rogoff.
40416         (verilog-read-sub-decls-expr)
40417         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
40418         in generated comments, bug1057. Reported by Kaushal Modi.
40419         (verilog-auto-wire-comment, verilog-insert-definition):
40420         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
40421         Eric Jackowski.
40422         (verilog-extended-complete-re): Fix indentation
40423         of class static functions, bug1053. Reported by Gregory
40424         Czajkowski.
40425         (verilog-module-filenames): Support tramp for
40426         finding verilog modules. Reported by Nevada Sanchez.
40428 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
40430         Improve case-insensitive checks (Bug#24441)
40432         * doc/lispref/files.texi (Truenames): Simplify documentation,
40433         to avoid giving too much platform-specific information that
40434         may not be accurate anyway.
40435         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
40436         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
40437         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
40438         back on an alternative rather than returning false.  Try skipping
40439         the Darwin code, as it (1) no longer seems to be needed and (2)
40440         does not seem to match the Apple documentation.  Leave in two
40441         alternatives conditionally compiled based on
40442         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
40444 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
40446         Fix documentation changes of connection-local variables
40448         * etc/NEWS: Fix last change.
40449         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
40450         * doc/lispref/elisp.texi (Top): Update the master menu.
40452 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
40454         Implement connection-local variables
40456         * doc/lispref/variables.texi (Connection Local Variables): New section.
40458         * etc/NEWS: Mention connection-local variables.
40460         * lisp/files-x.el (enable-connection-local-variables)
40461         (connection-local-variables-alist, connection-local-class-alist)
40462         (connection-local-criteria-alist): New defvars.
40463         (connection-local-get-classes)
40464         (connection-local-get-class-variables): New defsubst.
40465         (connection-local-set-classes)
40466         (connection-local-set-class-variables)
40467         (hack-connection-local-variables)
40468         (hack-connection-local-variables-apply): New defuns.
40469         (with-connection-local-classes): New defmacro.
40471         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
40473         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
40474         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
40475         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
40476         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
40478         * test/lisp/files-x-tests.el: New file.
40480 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
40482         tabulated-list: extend truncation into next align-right column
40484         See discussion on:
40485         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
40486         * lisp/emacs-lisp/tabulated-list.el
40487         (tabulated-list--near-rows): New variable.
40488         (tabulated-list-print, tabulated-list-set-col): Use it.
40489         (tabulated-list--col-local-max-widths): New defsubst.
40490         (tabulated-list-print-col): Use it.  If the next column is
40491         align-right, and has some space left then don't truncate to width,
40492         use some of the available space from the next column.
40494 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
40496         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
40498         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
40499         (shr-collect-extra-strings-in-table): Render images as well.
40501 2016-11-13  Ken Brown  <kbrown@cornell.edu>
40503         Use the new 'file-name-case-insensitive-p' function
40505         * lisp/international/mule.el (auto-coding-alist-lookup):
40506         * lisp/files.el (file-truename):
40507         (abbreviate-file-name, set-auto-mode, file-relative-name):
40508         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
40509         'file-name-case-insensitive-p' instead of 'system-type' to test
40510         case-insensitivity.
40512 2016-11-13  Glenn Morris  <rgm@gnu.org>
40514         Include a systemd user unit file.  (Bug#16507)
40516         * etc/emacs.service: New file.
40517         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
40518         * Makefile.in (libdir): New, set by configure.
40519         (systemdunitdir): New variable.
40520         (install-etc, uninstall): Handle the emacs.service file.
40522 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
40524         Port --enable-gcc-warnings to Ubuntu 16.10
40526         * src/gmalloc.c: Include <stdlib.h>, so it declares
40527         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
40528         so that GCC doesn't complain that hybrid_aligned_alloc is
40529         defined without being declared.
40531 2016-11-13  Ken Brown  <kbrown@cornell.edu>
40533         Silence tramp warning
40535         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
40536         'file-name-case-insensitive-p' as a known file primitive.
40537         (Bug#24936)
40539 2016-11-12  Ken Brown  <kbrown@cornell.edu>
40541         Check case-sensitivity when renaming files
40543         * src/fileio.c (file_name_case_insensitive_p)
40544         (Ffile_name_case_insensitive_p):  New functions.
40545         (Frename_file): Allow renames that simply change case when the
40546         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
40548         * lisp/dired-aux.el (dired-do-create-files): Use
40549         'file-name-case-insensitive-p' instead of 'system-type' to check
40550         for case-insensitivity.  (Bug#24441)
40552         * doc/lispref/files.texi (Truenames): Document
40553         'file-name-case-insensitive-p'.
40555 2016-11-12  Ken Brown  <kbrown@cornell.edu>
40557         Unbreak the build on Cygwin
40559         * configure.ac (system_malloc) [CYGWIN]: Unset.
40561 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
40563         Update chart.el
40565         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
40566         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
40567         fixed number of newlines, use window-height.
40568         (chart-bar):
40569         (chart-trim): Use dolist.
40570         (chart-file-count): The previous implementation was buggy and missed
40571         extensions.  Use file-name-extension instead to detect file extensions.
40572         Also use dolist and cl-incf to reduce verbosity.
40574 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
40576         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
40577         (shr-collect-extra-strings-in-table):
40578         Render extra tables in an invalid html as well.
40580 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
40582         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
40584 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
40586         Resurrect 'memory-limit' on MS-Windows
40588         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
40589         'memory-limit' will produce a trivial and useless result on Windows.
40591 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
40593         Update quickurl.el
40595         * lisp/net/quickurl.el (quickurl-format-function):
40596         (quickurl-sort-function): Use named function.
40597         (quickurl-list-mode-map): Remove lines that are extraneous now that the
40598         parent mode is special-mode.
40599         (quickurl-format-url, quickurl-sort-urls): New functions.
40600         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
40601         be used.
40602         (quickurl-list-mode): Derive from special-mode.  Nix setting
40603         buffer-read-only: special-mode does that.
40604         (quickurl-list-populate-buffer): Use dolist instead.
40605         (quickurl-list-quit): Use quit-window.  It looks like this was written
40606         before the quit-window rewrite.  quit-window is very useful now.
40608 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
40610         Refine multi-hop specs in Tramp
40612         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
40614         * test/lisp/net/tramp-tests.el
40615         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
40616         method.  "/h:" is allowed on non MS Windows.
40618 2016-11-08  Daniel Colascione  <dancol@dancol.org>
40620         Avoid infloop in python
40622         Fix bug#24905
40624         * lisp/progmodes/python.el (python-info-docstring-p): Improve
40625         infloop avoidance: replace (bobp) with generic test for
40626         forward progress.
40627         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
40628         test for bug#24905
40630 2016-11-08  Daniel Colascione  <dancol@dancol.org>
40632         Make gnus/message.el work correctly under lexical binding
40634         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
40635         `_' to shut up the byte compiler.
40636         (sha1-maximum-internal-length, smtpmail-smtp-server)
40637         (smtpmail-smtp-service): add missing defvars
40639 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
40641         Fix Bug#24889
40643         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
40644         defvar.  Fix docstring.
40645         (tramp-completion-file-name-handler-alist): Fix docstring.
40646         (tramp-register-file-name-handlers): Reassign
40647         `tramp-file-name-regexp' to the car of
40648         `tramp-file-name-structure'.  (Bug#24889)
40650 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
40652         Port to FreeBSD 11 AMD
40654         Problem reported by Ashish Shukla (Bug#24892).  I tested
40655         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
40656         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
40657         (sbrk): Check whether it exists.
40658         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
40659         Do not define, since this function is now used only on GNU/Linux,
40660         and sbrk might not exist on other platforms.
40661         (malloc_initialize_hook) [!GNU_LINUX]:
40662         Do not call my_heap_start, since its side effect will never be used.
40663         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
40664         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
40665         sbrk exists.
40667 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
40669         Port emacsclient to FreeBSD 11 etc.
40671         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
40672         platforms like FreeBSD 11 that use code involving strlen etc., and
40673         because <config.h> no longer includes string.h.
40675 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
40677         Prescribe history for read-regexp in query-replace
40679         In the fix for bug#24580, the history argument for read-regexp was
40680         removed erroneously; read-regexp's history argument defaults to
40681         regexp-history, not minibuffer-history.
40682         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
40683         minibuffer-history.  Fixes bug#24873.
40685 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
40687         Remove obsolete default-FOO variables
40689         * etc/NEWS: Indicate the removed variables.
40690         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
40691         * lisp/subr.el (default-mode-line-format, default-header-line-format):
40692         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
40693         (default-truncate-lines, default-left-margin, default-tab-width):
40694         (default-case-fold-search, default-left-margin-width):
40695         (default-right-margin-width, default-left-fringe-width):
40696         (default-right-fringe-width, default-fringes-outside-margins):
40697         (default-scroll-bar-width, default-vertical-scroll-bar):
40698         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
40699         (default-fringe-indicator-alist, default-fringe-cursor-alist):
40700         (default-scroll-up-aggressively, default-scroll-down-aggressively):
40701         (default-fill-column, default-cursor-type):
40702         (default-cursor-in-non-selected-windows):
40703         (default-buffer-file-coding-system, default-major-mode):
40704         (default-enable-multibyte-characters): Remove obsolete declarations.
40705         * src/buffer.c (default-mode-line-format, default-header-line-format):
40706         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
40707         (default-truncate-lines, default-left-margin, default-tab-width):
40708         (default-case-fold-search, default-left-margin-width):
40709         (default-right-margin-width, default-left-fringe-width):
40710         (default-right-fringe-width, default-fringes-outside-margins):
40711         (default-scroll-bar-width, default-vertical-scroll-bar):
40712         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
40713         (default-fringe-indicator-alist, default-fringe-cursor-alist):
40714         (default-scroll-up-aggressively, default-scroll-down-aggressively):
40715         (default-fill-column, default-cursor-type):
40716         (default-cursor-in-non-selected-windows):
40717         (default-buffer-file-coding-system, default-major-mode):
40718         (default-enable-multibyte-characters): Remove.
40719         * src/fileio.c (choose_write_coding_system): Fix comment.
40720         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
40722 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
40724         Improve the tutorial
40726         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
40727         * etc/tutorials/TUTORIAL.he: Follow suit.
40729 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
40731         Restore file descriptor limit in subprocesses
40733         Problem reported by Philipp Stephani (Bug#24869).
40734         * src/callproc.c (child_setup) [!DOS_NT]:
40735         Call restore_nofile_limit in the child.
40736         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
40737         (restore_nofile_limit): New function.
40738         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
40740 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
40742         Remove some subr.el functions obsoleted in 22.1
40744         * etc/NEWS: Document removed functions.  Also mention the "face"
40745         variables that have been removed recently.
40746         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
40747         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
40749 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
40751         Prefer comments /* like this */ in C code
40753 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
40755         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
40757 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
40759         Support zstd compressed files
40761         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
40762         zstd compression info: <http://facebook.github.io/zstd/>.
40763         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
40764         compressed tar archives.  (Bug#24853)
40766 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
40768         Enlarge DUMPED_HEAP_SIZE
40770         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
40771         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
40773 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
40775         Update from gnulib
40777         This incorporates:
40778         2016-11-03 intprops: port to older XL C
40779         * lib/intprops.h: Copy from gnulib.
40781 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
40783         Merge from origin/emacs-25
40785         acae275 ; Spelling fixes
40786         d8fac73 Update README for precompiled windows Emacs.
40787         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
40788         f708cb2 Clarify doc string of 'transpose-sexps'
40789         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
40790         bdc89eb Improve documentation of 'font-lock-remove-keywords'
40791         4a0c590 Fix documentation of the command summary key
40792         0221b7a Mark relocation workarounds with REL_ALLOC
40794 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
40796         Merge from origin/emacs-25
40798         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
40799         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
40800         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
40801         9c247d2 Update category-table for Chinese characters
40802         43986d1 Inhibit buffer relocation during regex searches
40803         fee4cef Revert fixes to allocation of regex matching
40805 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
40807         Fix references to long obsoleted functions/aliases
40809         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
40810         * doc/misc/cl.texi (Conditionals):
40811         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
40812         not string-to-int.
40813         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
40814         default-major-mode.
40815         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
40816         here is not a function call, but shorten the binding names anyways.
40817         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
40818         Bug#22244.
40819         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
40820         read-input.
40822 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
40824         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
40826 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
40828         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
40829         that gathers extra strings in an invalid html.  (bug#24831)
40830         (shr-tag-table): Use it.
40832 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
40834         Add 'x-ctrl-keysym' support on X window system
40836         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
40837         Support 'x-ctrl-keysym'.
40838         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
40839         property on it.
40840         <x-ctrl-keysym>: New DEFVAR_LISP.
40841         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
40842         fix.  (Bug#24822)
40844         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
40846         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
40848 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
40850         Improve autoload error reporting
40852         * src/eval.c (Fautoload_do_load): Include the absolute file name
40853         in the error message.
40855 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
40857         Stop force parameter of whitespace-report-region having global effect
40859         * lisp/whitespace.el (whitespace-report-region): Force parameter
40860         previously changed whitespace-style globally.  Fix this, and use
40861         whitespace-active-style, to take account of any changes the user may
40862         have made.  Simplify the documentation: the force parameter simply
40863         forces all classes of whitespace problem to be considered.
40864         (Bug#24745)
40866 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
40868         Document use of `tab-width'
40870         * lisp/whitespace.el: When talking about `8 or more spaces', mention
40871         `tab-width' instead of 8.  (Bug#24745)
40873 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
40875         Make whitespace-report-region respect current settings
40877         * lisp/whitespace.el (whitespace-report-region): Make it respect
40878         whitespace-style, including any additions made by the force parameter.
40879         This means that the function does not return t unless a whitespace
40880         problem that the user cares about is reported.  (Bug#24745)
40882 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
40884         Fix whitespace-space-after-tab-regexp
40886         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
40887         (whitespace-regexp): Match all the spaces after tabs for highlighting,
40888         not just the first tab-width.  Fix whitespace-space-after-tab::space
40889         version so that it requires at least tab-width spaces, not just 1.
40890         (Bug#24745)
40892 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
40894         Remove duplicate documentation
40896         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
40897           section which duplicate and in some places contradict (due to being
40898           out of date) the docstrings (Bug#24745).
40900 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
40902         Fix bob/eob checks
40904         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
40905         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
40906         work at beginning & end of buffer in whitespace-report-region, and only
40907         there (i.e. they will never match in regions that don't include the
40908         start or end of the buffer).  (Bug#24745)
40910 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
40912         (thing-at-point 'list) return nil if no list at point
40914         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
40915         Check first if we are at the beginning of a top-level sexp (Bug#24627).
40916         If point is inside a comment or string, look for a list out of the
40917         comment/string.
40918         Escape '[' in doc string.
40919         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
40920         expected test result as pass.
40922 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
40924         Remove antlr face aliases obsoleted in 22.1
40926         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
40927         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
40928         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
40929         (antlr-tokenref-face, antlr-literal-face):
40930         (antlr-literal-face): Remove.
40931         (antlr-font-lock-additional-keywords): Use face symbols instead.
40933 2016-11-02  Daniel Colascione  <dancol@dancol.org>
40935         Revert "Disable bracketed paste in a terminal in char mode"
40937         This change causes regressions, and besides, disabling BPM frame-wide
40938         for the sake of one buffer is the wrong solution.
40940         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
40942 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
40944         Revert change to eww-suggest-uris
40946         The introduced append is ugly and can yield '(nil); doing delq on it
40947         would be hacks on hacks.
40948         * lisp/net/eww.el: Require cl-lib at run time.
40949         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
40950         (eww): Remove erroneous append.
40951         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
40952         equal to eww-current-url, which is nil anyways if we are not in an EWW
40953         buffer.
40955 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
40957         Add eww-open-in-new-buffer to EWW
40959         * doc/misc/eww.texi (Basic): Document new command and key.
40960         * etc/NEWS: Mention new key and its purpose.
40961         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
40962         (eww): Append (eww-current-url) to the prompt defaults.
40963         (eww-open-in-new-buffer): New command.
40964         (eww-mode-map): Bind it and add a menu item.
40966 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
40968         Migrate auth-source to cl-lib
40970         * lisp/auth-source.el: Use cl-lib.
40971         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
40972         (auth-source-search): Replace cl calls with cl-lib ones.
40973         (auth-source-netrc-cache):
40974         (auth-source-forget+): Use cl-do-symbols instead.
40975         (auth-source-specmatchp, auth-source-netrc-parse):
40976         (auth-source-netrc-search, auth-source-netrc-create):
40977         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
40978         (auth-source-secrets-search, auth-source-secrets-create):
40979         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
40980         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
40981         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
40983 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
40985         Don't segfault on timed-out TLS connections
40987         * src/process.c (finish_after_tls_connection): Check that the
40988         file descriptor is still alive before proceeding (bug#24811).
40989         Also clean up the code slightly.
40991 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
40993         Support 'TARGETS' in clipboard selections on MS-Windows
40995         * src/w32select.c (Fw32_selection_targets): New function.
40997         * lisp/term/w32-win.el (w32--get-selection): Call
40998         'w32-selection-targets' to obtain the list of data formats
40999         available in the clipboard.
41001 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
41003         Fix documentation for 'eudc-options-file'
41005         * doc/misc/eudc.texi (The Server Hotlist): Update the default
41006         value of 'eudc-options-file'.
41008 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
41010         Fix documentation of 'eudc-inline-expansion-format'
41012         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
41013         'eudc-inline-expansion-format'. (Bug#24840)
41015 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
41017         Turn on lexical-binding in some more libs
41019         * lisp/calendar/icalendar.el:
41020         * lisp/emacs-lisp/regexp-opt.el:
41021         * lisp/emacs-lisp/timer.el:
41022         * lisp/gnus/message.el:
41023         * lisp/hex-util.el: Turn on lexical-binding.
41025 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
41027         Turn on lexical-binding in some net libs
41029         * lisp/net/dbus.el: Turn on lexical-binding.
41030         (dbus-list-hash-table, dbus-list-known-names):
41031         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
41032         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
41033         (dbus-introspect-get-property-names):
41034         (dbus-introspect-get-argument-names, dbus-get-all-properties):
41035         (dbus-property-handler, dbus-get-all-managed-objects):
41036         (dbus-managed-object-handler): Replace add-to-list with push. Add
41037         nreverse in some places where the APPEND argument of add-to-list was
41038         used.
41039         * lisp/net/network-stream.el: Turn on lexical-binding.
41040         * lisp/net/newsticker.el: Turn on lexical-binding.
41041         * lisp/net/shr.el: Turn on lexical-binding.
41042         (shr-make-placeholder-image): Remove unused variable binding.
41043         (shr-inspect-table): Replace ignored bindings with underscore.
41045 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
41047         Turn on lexical-binding in some url libs
41049         * lisp/url/url-auth.el:
41050         * lisp/url/url-expand.el:
41051         * lisp/url/url-future.el:
41052         * lisp/url/url-parse.el:
41053         * lisp/url/url-util.el: Turn on lexical-binding.
41055 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
41057         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
41059         (Bug#24733)
41061 2016-10-30  Alan Mackenzie  <acm@muc.de>
41063         Handle chars of syntax word which are also flagged as comment delimiters
41065         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
41066         as the start/end of two char comment delimiters, recognize a comment delimiter
41067         in preference to a portion of a word.  This fixes bug #24767.
41069 2016-10-29  Daniel Colascione  <dancol@dancol.org>
41071         Speed up initialization by preferring /dev/urandom to GnuTLS
41073         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
41075 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
41077         Quote file names in dired compression commands
41079         * lisp/dired-aux.el (dired-do-compress-to): Change the string
41080         used as shell command for compression by quoting the filenames
41081         used for input and output (Bug #24620).
41083 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
41085         Avoid errors in posn-at-point for large images
41087         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
41088         returns a 6-member list for a partially visible glyph, pass the
41089         sum of Y and RTOP to posn-at-x-y, since that's where the visible
41090         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
41091         (Bug#23809)
41093 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
41095         Unbreak MS-Windows build
41097         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
41098         name is "wignore".
41099         (x_set_cursor_gc, x_set_mouse_face_gc)
41100         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
41101         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
41102         use s->window, which doesn't exist anymore.
41104         * src/w32term.h (XCreateGC): Adjust prototype.
41106 2016-10-28  Daniel Colascione  <dancol@dancol.org>
41108         Add double-buffering support to reduce flicker
41110         * src/dispextern.h (struct glyph_string): Remove window member
41111         (block_buffer_flips, unblock_buffer_flips)
41112         (buffer_flipping_blocked_p): Declare.
41114         * src/xterm.h (struct x_display_info): New member supports_xdbe.
41115         (struct x_output): New members draw_desc and need_buffer_flip.
41116         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
41117         (FRAME_X_DOUBLE_BUFFERED_P)
41118         (FRAME_X_NEED_BUFFER_FLIP): New macros.
41119         (set_up_x_back_buffer, tear_down_x_back_buffer)
41120         (initial_set_up_x_back_buffer): Declare.
41122         * src/xterm.c: Include Xdbe.h.
41123         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
41124         (x_draw_vertical_window_border, x_update_end)
41125         (x_setup_relief_color, x_draw_relief_rect)
41126         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
41127         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
41128         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
41129         variables appropriately; substitute calls to XClearArea with
41130         x_clear_area, which DTRT for double buffering.
41131         (x_clear_window, x_clear_area): In double-buffering mode, use
41132         rect-drawing X functions instead of XClearWindow and
41133         XClearArea, which always operate on the front buffer.
41134         (show_back_buffer): New function.
41135         (XTframe_up_to_date): Call show_back_buffer when done.
41136         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
41137         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
41138         now independent X windows.
41139         (handle_one_xevent): Call font_drop_xrender_surfaces when
41140         XftDraw might need regenerating; perform buffer flip when
41141         responding to Expose events; issue front-buffer clearing
41142         commands as stopgap while we wait for redisplay.
41143         Call flush_dirty_back_buffers.
41144         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
41145         earlier in function.
41146         (x_free_frame_resources): Call tear_down_x_back_buffer when
41147         destroying frame.
41148         (x_term_init): Attempt to initialize double buffer extension.
41149         (x_flip_and_flush): New function.
41150         (x_redisplay_interface): Point to x_flip_and_flush instead of
41151         x_flip directly.
41152         (flush_dirty_back_buffers): New function.
41153         (x_create_terminal): Register buffer_flipping_unblocked_hook.
41155         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
41156         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
41157         (xftfont_draw): Call x_mark_frame_dirty.
41158         (xftfont_drop_xrender_surfaces): New function.
41159         (syms_of_xftfont): Register it.
41161         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
41162         FRAME_X_WINDOW.
41164         * src/xfns.c: Include Xdbe.h.
41165         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
41166         (Fx_double_buffered_p): New functions.
41167         (x_window): Call initial_set_up_x_back_buffer.
41168         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
41169         (Fx_create_frame): Configure `inhibit-double-buffering'
41170         frame parameter.
41171         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
41172         (x_frame_parm_handlers): Register
41173         x_set_inhibit_double_buffering.
41174         (syms_of_xfns): Register Sx_double_buffered_p.
41175         (x_mark_frame_dirty): Define.
41177         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
41178         FRAME_X_WINDOW.
41180         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
41181         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
41182         (redisplay_internal): Restart redisplay if a frame is garbaged
41183         during updating; explain why. Block buffer flips
41184         during redisplay.
41185         (redisplay_preserve_echo_area): Block buffer flip during call
41186         to redisplay_internal.
41187         (buffer_flip_blocked_depth): New variable.
41188         (block_buffer_flips, unblock_buffer_flips)
41189         (buffer_flipping_blocked_p): New functions.
41190         (init_glyph_string): Stop setting window member of struct
41191         glyph_string.
41193         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
41194         x_set_inhibit_double_buffering.
41196         * src/termhooks.h (struct terminal): Add
41197         buffer_flipping_unblocked_hook.
41199         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
41200         x_set_inhibit_double_buffering.
41202         * src/image.c (x_create_bitmap_from_data)
41203         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
41204         (Create_Pixmap_From_Bitmap_Data)
41205         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
41206         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
41207         variables appropriately.
41209         * src/gtkutil.c: Include Xdbe.h.
41210         (xg_get_widget_from_map): Forward declare.
41211         (xg_clear_under_internal_border): Remove obsolete calls to
41212         refresh scroll bars.
41213         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
41214         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
41215         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
41216         same reason.
41217         (xg_set_background_color): Set scroll bar background colors.
41218         (xg_finish_scroll_bar_creation): New function with common
41219         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
41220         scroll bars to be real X11 windows.
41221         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
41222         xg_finish_scroll_bar_creation.
41223         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
41224         Remove obsolete calls to refresh scroll bars; fix comments.
41226         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
41227         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
41228         FRAME_X_WINDOW.
41230         * src/frame.c (frame_parms): Add table entry for new
41231         `inhibit-double-buffering' frame parameter
41232         (syms_of_frame): Register Qinhibit_double_buffering.
41234         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
41235         (font_drop_xrender_surfaces): Declare.
41237         * src/font.c (font_drop_xrender_surfaces): New function.
41239         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
41241         * etc/NEWS: Mention use of double buffering
41243         * doc/lispref/frames.texi (Management Parameters): Document
41244         `inhibit-double-buffering' frame parameters.
41245         (Visibility of Frames): Document `x-double-buffered-p'.
41247         * configure.ac: Check for the X double buffer extension
41249 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
41251         Improve result of `auth-source-search' in Tramp
41253         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
41254         :user in result of `auth-source-search'.
41256 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
41258         Fix avl-tree alias docstrings
41260         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
41261         (avl-tree-stack-p, avl-tree-create):
41262         (avl-tree-compare-function): Add calling convention to docstrings.
41264 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
41266         Update from gnulib
41268         This incorporates:
41269         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
41270         2016-10-13 stdint: port SIZE_MAX to glibc s390
41271         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
41272         * lib/gnulib.mk: Regenerate.
41273         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
41274         * m4/utimes.m4: Copy from gnulib.
41276 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
41278         electric-quote-chars fixups
41280         * lisp/electric.el (electric-quote-chars): Check types and safety
41281         more carefully.
41282         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
41283         Omit no-longer-necessary runtime error diagnostic.
41285 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
41287         New user variable 'electric-quote-chars'
41289         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
41290         * lisp/electric.el (electric-quote-chars): New defcustom.
41291         (electric-quote-post-self-insert-function): Use it.
41293 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
41295         Add more tests for Bug#24627
41297         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
41298         Add tests for 'list-at-point'.
41300 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
41302         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
41304         * lisp/shell.el (shell--unquote&requote-argument): Fix
41305         off-by-one thinko.  Don't use match data after a failed string-match.
41307 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
41309         * src/xwidget.c (webkit_js_to_lisp): Now static.
41311 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41313         xwidget: Map "previous-line" and "next-line" to scroll
41315         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
41316         procedures.
41318 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41320         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
41322         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
41323         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
41324         respectively.
41325         (xwidget-webkit-scroll-top,
41326         xwidget-webkit-scroll-bottom): New procedures.
41328 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41330         Implement zoom for WebKit widget.
41332         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
41333         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
41334         (xwidget-webkit-zoom): Declare procedure.
41335         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
41337 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41339         Dynamically resize WebKit widget.
41341         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
41342         xwidget-webkit-adjust-size-in-frame): New procedures.
41343         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
41344         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
41345         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
41346         add widget and window as arguments.
41347         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
41349 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41351         Let initial WebKit view fill window
41353         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
41354         WebKit widget to window size.
41356 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41358         xwidget: Remove title hack.
41360         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
41361         * lisp/xwidget.el (xwidget-webkit-get-title,
41362         xwidget-webkit-execute-script-rv): Remove procedures.
41364 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41366         xwidget: Get URL asynchronously.
41368         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
41370 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41372         xwidget: Get selection with asynchronous JavaScript
41374         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
41375         process selection.
41376         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
41378 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41380         xwidget: Add function to find element by CSS selector
41382         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
41384 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41386         xwidget: Simplify functions to scroll to elements
41388         * lisp/xwidget.el (xwidget-webkit-show-named-element,
41389         xwidget-webkit-show-id-element,
41390         xwidget-webkit-show-id-or-named-element): Simplify functions by
41391         scrolling exclusively with JavaScript.
41393 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41395         xwidget: Get title via asynchronous JavaScript.
41397         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
41398         asynchronously.
41400 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41402         xwidget: Do not use `xwidget-execute-script-rv' to insert string
41404         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
41405         return value via callback instead of using
41406         `xwidget-webkit-execute-script-rv'.
41408 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41410         Remove scrolled window container around WebKit widget
41412         The WebKit widget can scroll on its own and does not need to wrapped
41413         with a scrolled window container.
41415         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
41416         * src/xwidget.c: Remove widgetscrolledwindow_osr.
41417         (xwidget-set-adjustment): Remove.
41418         (xwidget-resize): Resize Webkit widget last.
41419         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
41420         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
41421         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
41422         Implement scrolling via JavaScript.
41424 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41426         xwidget: Pass JavaScript return value to optional callback procedure
41428         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
41429         callback argument.
41430         (xwidget-webkit-callback): Handle "javascript-callback" event type.
41431         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
41432         argument FUN, a Lisp procedure to execute on the JavaScript return
41433         value.
41434         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
41435         webkit_js_to_lisp): New procedures.
41437 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
41439         xwidget: Use WebKit2 API
41441         * configure.ac: Check for webkit2gtk-4.0.
41442         * src/xwidget.c: Adjust to use WebKit2 API.
41443         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
41444         `xwidget-event-type'.
41446 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
41448         Merge from origin/emacs-25
41450         4c3f738 Comment for bug#24793
41452 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
41454         Merge from origin/emacs-25
41456         96ac0c3 Yet another fix for using pointers into buffer text
41457         1047496 Another fix for using pointer to buffer text
41458         3121992 Fix Bug#24478
41460 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
41462         Merge from origin/emacs-25
41464         ee04aed Fix handling of buffer relocation in regex.c functions
41465         71ca4f6 Avoid relocating buffers while libxml2 reads its text
41466         1b3fc8a ; Remove redundant code in gmalloc.c
41467         9afea93 Attempt to catch reads from a buffer that is relocated
41469 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
41471         Minor fix in the documentation of seq-random-elt
41473         * doc/lispref/sequences.texi (Sequence Functions): Remove false
41474           sentence.
41476 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
41478         Minor copyedits in documentation of 'seq-random-elt'
41480         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
41481         last change.  Use 2 spaces between sentences.
41483 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
41485         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
41487 2016-10-25  Damien Cassou  <damien@cassou.me>
41489         Add seq-random-elt to seq.el
41491         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
41492           random element from it's sequence parameter.
41494         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
41495           test-seq-random-elt-return-nil): Test the new function
41497         * doc/lispref/sequences.texi: Document the new function
41499 2016-10-24  Ken Brown  <kbrown@cornell.edu>
41501         * configure.ac: Stop using mmap for buffers on Cygwin.
41503 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
41505         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
41507 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
41509         Don't prompt user when killing Flymake processes
41511         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
41512         Don’t prompt the user when killing Flymake processes.
41514         * doc/misc/flymake.texi (Starting the syntax check process):
41515         Document new behavior.
41517 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
41519         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
41521         This finishes the merge of the recent emacs-25 regex changes into
41522         master.
41524 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
41526         Merge from origin/emacs-25
41528         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
41529         6f1325e electric-quote mode no longer worries about coding
41530         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
41531         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
41532         b2ba630 Explain how to debug emacsclient lisp errors
41533         9da53e2 Let describe-function work for lambda again
41534         5c2da93 Fix kill-line's docstring
41535         ad66b3f Fix handling of allocation in regex matching
41536         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
41537         3877c91 vc-region-history: Search just on lines intersecting the region
41538         8988327 Fix documentation of 'alist-get'
41539         b6998ea * src/regex.h (re_match_object): Improve commentary.
41541         # Conflicts:
41542         #       etc/NEWS
41543         #       lisp/help-fns.el
41545 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
41547         Merge from origin/emacs-25
41549         8ad0d7d ; Fix quoting in etc/NEWS
41550         6b9dee1 Change Tramp version to "2.2.13.25.2"
41551         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
41552         b2f32e4 Don't scan compiled module files for autoloads
41553         9a758b4 Fix Bug#24698
41554         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
41555         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
41556         12da149 Update URL of MS-Windows optional DLLs
41557         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
41558         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
41559         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
41560         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
41562         # Conflicts:
41563         #       doc/misc/trampver.texi
41564         #       etc/NEWS
41565         #       lisp/net/tramp-sh.el
41566         #       lisp/net/trampver.el
41568 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
41570         Merge from origin/emacs-25
41572         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
41573         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
41574         993acb5 ; Minor fix for last change in characters.el
41575         30c4bb5 More char-width fixes
41576         4eb4463 Fix char-width-table values for some Emoji
41577         528997d Keep point when switching from and to *terminal* buffer
41578         2130005 * INSTALL: Use correct Emacs release number 25.
41579         10835b1 Avoid crashes due to objects read with the #n=object form
41580         4de671d Improve doc string of 'completion-at-point-functions'
41581         ceb46f0 Fix crash in evaluating functions
41582         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
41584 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
41586         Merge from origin/emacs-25
41588         2deb20c Port last_marked change to full-program optimizers
41589         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
41590         dac64e3 Avoid optimizing out the last_marked[] array
41592 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
41594         Avoid infinite hscrolling in redisplay
41596         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
41597         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
41598         redisplay (Bug #24633).
41600 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
41602         Fix error codes in Tramp
41604         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
41605         taken from tramp.el.
41606         (tramp-file-missing): New defconst.
41608         * lisp/net/tramp.el (tramp-user-error): Remove it.
41609         (tramp-check-proper-method-and-host)
41610         (tramp-dissect-file-name, tramp-debug-message)
41611         (tramp-handle-shell-command):
41612         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
41613         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
41614         Use `tramp-compat-user-error'.
41616         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
41617         (tramp-handle-load):
41618         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
41619         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
41620         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
41621         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
41622         Use `tramp-file-missing'.  (Bug#24714)
41624         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
41625         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
41626         Use `file-already-exists'.
41628 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
41630         Autoload all commands from misc.el
41632         Only two of the commands there were autoloaded, one of which is an
41633         easter egg.
41634         * lisp/misc.el (copy-from-above-command):
41635         * lisp/misc.el (zap-up-to-char):
41636         * lisp/misc.el (mark-beginning-of-buffer):
41637         * lisp/misc.el (mark-end-of-buffer):
41638         * lisp/misc.el (upcase-char):
41639         * lisp/misc.el (forward-to-word):
41640         * lisp/misc.el (backward-to-word):
41641         Add autoload cookie.
41643 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
41645         On terminal frames ignore minibuffer frame parameter (Bug#24758)
41647         * src/frame.c (Fmake_terminal_frame): Don't complain when the
41648         caller asks for a deviant minibuffer setting (Bug#24758).
41650 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
41652         New error file-missing
41654         This fixes a recently-introduced bug in delete-directory,
41655         where the code assumes the C locale when determining
41656         whether a file-error corresponds to a missing file (Bug#24714).
41657         * doc/lispref/errors.texi (Standard Errors):
41658         * doc/lispref/files.texi (Changing Files):
41659         * etc/NEWS:
41660         Document this.
41661         * doc/lispref/loading.texi (How Programs Do Loading):
41662         Say "a file-error" rather than "the error file-error" since
41663         it might be a file-missing now.
41664         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
41665         * lisp/epa-file.el (epa-file--find-file-not-found-function):
41666         (epa-file-insert-file-contents, epa-file-write-region):
41667         * lisp/ffap.el (find-file-at-point, dired-at-point):
41668         * lisp/jka-compr.el (jka-compr-insert-file-contents)
41669         (jka-compr-insert-file-contents):
41670         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
41671         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
41672         * lisp/progmodes/etags.el (visit-tags-table):
41673         * lisp/url/url-handlers.el (url-copy-file):
41674         * src/fileio.c (report_file_errno):
41675         Signal file-missing if appropriate.
41676         * lisp/epa-file.el (epa-file-insert-file-contents):
41677         * lisp/jka-compr.el (jka-compr-insert-file-contents):
41678         Don't assume file-error is a leaf in the error hierarchy.
41679         * lisp/files.el (files--force):
41680         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
41681         * lisp/jka-compr.el (jka-compr-insert-file-contents):
41682         Use file-missing to detect whether the file is missing.
41683         * lisp/url/url-handlers.el (url-copy-file):
41684         Signal file-already-exists if appropriate.
41685         * src/fileio.c (syms_of_fileio): Define file-missing.
41687         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
41689 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
41691         Teach browse-url to open man page urls
41693         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
41694         (browse-url): Add a condition to catch links matching "^man:".
41695         (browse-url-man): New function.
41697 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
41699         Improve fontification of footnote references in Info buffers
41701         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
41702         in parentheses as if they were footnote references.  See
41703         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
41704         for the details.
41706 2016-10-20  Philipp Stephani  <phst@google.com>
41708         Minor fixes to cc-mode-tests.el
41710         See Bug#24747.
41712         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
41713         file-local variable; add comments to make checkdoc happy.
41715 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
41717         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
41719 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
41721         Document, how to suppress iTerm2 shell integration in Tramp
41723         * doc/misc/tramp.texi (Frequently Asked Questions):
41724         Suppress iTerm2 shell integration.
41726 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
41728         cl-seq: Remove max limit on input sequence length
41730         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
41731         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
41732         Remove limit on maximum length for the input sequence
41733         (#Bug24264).
41734         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
41736 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
41738         Derive dig-mode from special-mode
41740         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
41741         mode-class assignment.
41742         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
41743         (dig-mode): Derive from special-mode.
41744         (dig-exit): Use quit-window instead.
41745         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
41746         (query-dig): Use pop-to-buffer-same-window.
41748 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
41750         cl-defstruct: Fix debug spec and check of slot options
41752         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
41753         option syntax.  Fix debug spec.  (Bug#24700)
41755 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
41757         isearch: Fix bug in defstruct syntax
41759         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
41760         options.  (Bug#24685)
41762 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
41764         Add an option for eshell-input-filter
41766         * etc/NEWS: Document changes.
41767         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
41768         symbol.  Change type to a radio for choosing functions.  Refer to both
41769         new functions.
41770         (eshell-input-filter-default): New function.  Same body as the previous
41771         value of eshell-input-filter.
41772         (eshell-input-filter-initial-space): New function.
41774 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
41776         delete-directory no longer errors when racing
41778         Problem reported by Glenn Morris for package-test.el (Bug#24714).
41779         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
41780         * lisp/files.el (files--force): New function.
41781         (delete-directory): Use it to avoid error in this case.
41783 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
41785         Support Shift selection in nxml-mode commands
41787         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
41788         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
41789         (nxml-backward-down-element, nxml-forward-element)
41790         (nxml-backward-element, nxml-forward-paragraph)
41791         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
41792         support shift-selection.
41794 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
41796         Simplify some loops and cons
41798         * lisp/net/mailcap.el: Replace cl with cl-lib.
41799         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
41800         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
41801         (mailcap-possible-viewers): Use push and dolist where possible.
41802         (mailcap-viewer-passes-test): Remove unused binding.
41803         (mailcap-add-mailcap-entry): Use push.
41804         (mailcap-mime-info): Remove unused binding.  Use push.
41805         (mailcap-parse-mimetypes): Use dolist.
41807 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
41809         Turn on lexical-binding in auth-source
41811         * lisp/auth-source.el: Turn on lexical-binding.
41812         (auth-source-netrc-parse, auth-source-netrc-normalize):
41813         (auth-source-token-passphrase-callback-function):
41814         (auth-source-netrc-create, auth-source-secrets-search):
41815         (auth-source-macos-keychain-search-items):
41816         (auth-source-plstore-search): Use let instead of lexical-let.
41818 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
41820         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
41822         * src/frame.c (do_switch_frame): Redirect frame focus also when
41823         the frame switched to has its minibuffer window on the selected
41824         frame.
41825         * src/window.c (candidate_window_p): To qualify as candidate
41826         it's not sufficient for the window's frame to just share the
41827         minibuffer window - it must be active as well.
41829 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
41831         Fix time-related data types in 2 editfns.c functions
41833         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
41834         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
41835         instead of relying on struct timespec's 'tv_sec' member to be of
41836         compatible type.
41838 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
41840         Document atomic windows in Elisp manual (Bug#18170)
41842         * lisp/window.el (display-buffer-in-atom-window): If no `side'
41843         alist entry was specified, use `below' as the doc tells.
41844         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
41845         * doc/lispref/windows.texi (Atomic Windows): New section.
41846         (Window Parameters): Update reference.
41848 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
41850         New face homoglyph
41852         Suggested by Eli Zaretskii, from a feature request by
41853         Alan Mackenzie (Bug#24468).
41854         * doc/emacs/display.texi (Standard Faces, Text Display):
41855         * etc/NEWS: Document this.
41856         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
41857         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
41858         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
41859         * etc/themes/wombat-theme.el:
41860         Customize homoglyph to be the same as escape-glyph.
41861         * lisp/cus-theme.el (custom-theme--listed-faces):
41862         Add homoglyph.
41863         * lisp/faces.el (homoglyph): New face.
41864         * lisp/startup.el (startup--setup-quote-display): Use it.
41866 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
41868         Port to Ubuntu 16.10, which needs gcc -nopie
41870         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
41871         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
41872         preference to -nopie (Bug#24682).
41874 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
41876         Fix bug#24665 in Tramp
41878         * doc/misc/tramp.texi (External methods): Do not confuse
41879         method names.  (Bug#24665)
41881 2016-10-15  Sam Steingold  <sds@gnu.org>
41883         use full time objects (lists) instead of floats when possible
41885         * lisp/midnight.el (midnight-buffer-display-time): Remove
41886         (clean-buffer-list): Use float time only for time comparison
41888 2016-10-15  Sam Steingold  <sds@gnu.org>
41890         Save and restore buffer-display-time
41892         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
41893         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
41894         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
41896 2016-10-15  Philipp Stephani  <phst@google.com>
41898         Disable bracketed paste in a terminal in char mode
41900         In char mode, a terminal doesn't accept bracketed paste events,
41901         therefore we should disable them; see Bug#24639.  To decouple the XTerm
41902         management from term.el, introduce a per-buffer setting to disable
41903         bracketed paste for that buffer.  If bracketed paste is inhiited for at
41904         least one buffer in a terminal, it is disabled for the whole terminal.
41906         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
41907         inhibit XTerm bracketed paste per buffer.
41908         (xterm--buffer-terminals, xterm--update-bracketed-paste)
41909         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
41910         functions.
41911         (xterm--init-bracketed-paste-mode): Remove unused helper
41912         function.
41913         (terminal-init-xterm): Update bracketed paste status when
41914         initializing an XTerm and on window configuration change.
41916         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
41917         bracketed paste in char mode.
41919 2016-10-15  Dima Kogan  <dima@secretsauce.net>
41921         Undo the effect of CapsLock when other modifiers are present
41923         * src/keyboard.c (make_lispy_event): Effectively undo the effect
41924         of CapsLock if any modifiers other than Shift are present in a key.
41925         (Bug#24456)
41927 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
41929         Add tests for foreign completions in CSS mode
41931         * test/lisp/textmodes/css-mode-tests.el
41932         (css-test-foreign-completions): New test for
41933         `css--foreign-completions'.
41934         (css-test-complete-selector-tag): Rename test.
41935         (css-test-complete-selector-class): New test testing completion of
41936         class names in selectors.
41937         (css-test-complete-selector-id): New test testing completion of IDs in
41938         selectors.
41940 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
41942         Cosmetic change to last mm-url change
41944         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
41945         Tweak last change slightly for more readability.
41947 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
41949         Fix problem with submitting binary data via HTTP forms
41951         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
41952         Document the parameters, clean up the code, and make uploading
41953         binary data really work (which it didn't if the binary bits
41954         were in the last part of the data).
41956 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
41958         * lisp/time.el (display-time-string-forms): Fix custom type.
41960 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
41962         Derive Man and WoMan modes from special-mode
41964         * lisp/man.el (Man-mode-map): Set parent to map composed from both
41965         button-buffer-map and special-mode-map.  Remove redundant bindings.
41966         Fix menu to refer to the quit-window command.
41967         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
41968         buffer-read-only binding.
41969         (Man-quit): Remove.
41970         * lisp/woman.el (woman-really-find-file): Use setq-local.
41971         (woman-mode-map): Refer to woman-mode in docstring.
41972         (woman-mode): Derive from special-mode.  Document woman-mode-map in
41973         docstring.  Use setq-local where possible; imenu-generic-expression is
41974         already buffer-local.
41975         (woman-negative-vertical-space): Replace unused binding with _.
41977 2016-10-13  Philipp Stephani  <phst@google.com>
41979         Fix crash in evaluating functions
41981         See Bug#24673
41983         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
41984         as (closure).
41986         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
41988 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
41990         Add test for Bug#24627
41992         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
41994 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
41996         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
41998 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
42000         Work around Samba bug with ':' in symlink contents
42002         * src/filelock.c (current_lock_owner): When reading the contents
42003         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
42005 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
42007         If autoloads buffer is unchanged, mark it as such (bug#23692)
42009         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
42010         If autoloads buffer is unchanged, mark it as such (bug#23692).
42012 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
42014         Use "26.1" version string in Tramp, fix some comments
42016         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
42017         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
42018         Use "26.1" version string.
42020 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
42022         form-at-point work for all kind of THINGS
42024         * lisp/thingatpt.el (form-at-point):
42025         Use thing-at-point--read-from-whole-string only if thing-at-point
42026         returns a string (Bug#24605).
42028 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
42030         Fix compilation warnings on MS-Windows
42032         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
42033         definitions of these macros, which seem to be unneeded and cause
42034         compiler warnings.
42035         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
42036         macros.
42037         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
42038         make it external, to avoid compiler warning.
42040 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42042         Spelling and clarity fixes
42044 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42046         Merge from origin/emacs-25
42048         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
42049         44e402e Allow to disable compaction of font caches
42050         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
42051         c03d44b ; Fix last commit
42052         d4be4f3 ; Fix indexing in lispref manual
42053         ed399f2 ; Minor improvement in documentation of generators
42054         197a6bc Fix horizontal scrolling during Isearch
42055         3566644 Fix infloop in redisplay due to truncated lines and invisible...
42057         # Conflicts:
42058         #       etc/NEWS
42060 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42062         Merge from origin/emacs-25
42064         c4a5e7e Improve documentation of 'menu-bar-open'
42066 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42068         Merge from origin/emacs-25
42070         4b347fe Clarify that doc fixes are okay in feature freeze
42071         01669ad Avoid crashes when setting the cursor
42072         f2144ee Restore 'command-debug-status' functionality
42073         ec6e4b9 ; Minor addition to CONTRIBUTE
42075 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42077         Merge from origin/emacs-25
42079         74b4f13 Document nil args of compare-buffer-substrings
42080         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
42081         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
42083 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42085         Merge from origin/emacs-25
42087         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
42088         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
42089         bbf1ffd Regexp Functions doc minor fixes
42091 2016-10-08  Philipp Stephani  <phst@google.com>
42093         Don’t consider nested let-alist forms
42095         See Bug#24641.
42097         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
42098         consider symbols in nested ‘let-alist’ forms.
42100         * test/lisp/emacs-lisp/let-alist-tests.el
42101         (let-alist--deep-dot-search--nested): Add a unit test.
42103 2016-10-08  Alain Schneble  <a.s@realize.ch>
42105         Support SIGTRAP in kill emulation on Windows
42107         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
42108         'DebugBreakProcess' to cause a breakpoint exception to occur in the
42109         specified process.  On Windows versions prior to Windows XP that do
42110         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
42111         (as opposed to EINVAL before this change).
42112         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
42113         and global variable to track state of run-time dynamic linking of this
42114         function.
42116         * etc/NEWS: Add entry to document that 'signal-process' now supports
42117         SIGTRAP.
42119 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
42121         Deprecate 'wp' group and introduce a new group 'text'
42123         * lisp/textmodes/tildify.el (tildify):
42124         * lisp/textmodes/text-mode.el (text-mode-hook):
42125         * lisp/textmodes/table.el (table):
42126         * lisp/textmodes/rst.el (rst):
42127         * lisp/textmodes/refer.el (refer):
42128         * lisp/textmodes/refbib.el (refbib):
42129         * lisp/textmodes/picture.el (picture):
42130         * lisp/textmodes/nroff-mode.el (nroff):
42131         * lisp/textmodes/enriched.el (enriched):
42132         * lisp/textmodes/bib-mode.el (bib):
42133         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
42134         * lisp/nxml/rng-valid.el (relax-ng):
42135         * lisp/view.el (view):
42136         * lisp/ps-print.el (ps-print):
42137         * lisp/printing.el (printing):
42138         * lisp/outline.el (outlines):
42139         * lisp/lpr.el (lpr):
42140         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
42141         * lisp/cus-edit.el (wp): Remove the "text" tag.
42142         (text): New defgroup, inherits from the deprecated 'wp'.
42143         (outlines): Remove, in favor of the definition in outline.el.
42144         (tex): Inherit from 'text'.
42145         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
42147 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
42149         Extend dictionary and library-directory handling for Ispell
42151         * lisp/textmodes/ispell.el (ispell-check-version): Allow
42152         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
42153         ISPELL_DICTDIR).
42154         (ispell-valid-dictionary-list): If the -d option to Ispell
42155         specifies an absolute file name, use that regardless of
42156         ispell-library-directory.  (Bug#24439)
42158 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
42160         Fix unescaped \begin{...} in docstring
42162         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
42163         \begin{...} in docstring.
42165 2016-10-06  Noah Friedman  <friedman@splode.com>
42167         Update comment.
42169 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
42171         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
42173         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
42174         defining to avoid redefinition warnings.
42176         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
42177         inclusion of sys/stat.h from the system headers, which could then
42178         lead to compilation errors due to redefinition of 'struct stat'
42179         etc.  This is needed because latest versions of MinGW runtime
42180         include sys/stat.h from wchar.h.
42182         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
42183         redefine to 4 to avoid conflict between 2 definitions of
42184         MemoryBarrier.  (Bug#24613)
42186 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
42188         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
42190 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
42192         Autoload entry point testcover-start
42194         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
42195         testcover-start.
42197 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
42199         Bump version of ntlm.el to 2.1.0
42201         * lisp/net/ntlm.el: Bump version to 2.1.0.
42203 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
42205         lisp/net/ntlm.el: Fix comment and docstring formatting
42207 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
42209         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
42211         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
42212         "negotiate domain supplied" bit when a domain is supplied.  Do
42213         not set "negotiate workstation supplied" bit.
42214         (ntlm-build-auth-response): Set domain to empty string by
42215         default.  Set workstation name to "WORKSTATION".  Set flags to
42216         logical and of Type 1 and Type 2 message flags.  Remove four
42217         trailing 0 bytes.  Always set LM response.  Hard-code domain
42218         offset.  Reorder buffer fields.
42220 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
42222         Document return value of `display-buffer-in-side-window'
42224         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
42225         * lisp/window.el (display-buffer-in-side-window): Describe
42226         return value of `display-buffer-in-side-window'.
42228 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
42230         Improve wording in side windows documentation
42232         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
42233         (Side Window Options and Functions)
42234         (Frame Layouts with Side Windows): Minor wording improvements.
42236 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
42238         Document and fix some bugs with side windows
42240         Add a documentation for side windows and fix some bugs
42241         found when testing their behavior.  Also add a new window
42242         parameter `no-delete-other-window', a new `display-buffer'
42243         alist member called `window-parameters', and functions to
42244         toggle and reverse side windows on a frame.  Add new function
42245         `window-swap-states' to exchange states of two live windows.
42247         * lisp/window.el (display-buffer-in-atom-window): Use
42248         `split-window-no-error'.
42249         (window-sides-vertical): Maybe change layouts when setting this
42250         variable.
42251         (window-sides-reversed): New option.
42252         (window-sides-slots): Rewrite doc-string and help echoes.
42253         (window-sides-shown): New buffer-local variable set when showing
42254         a buffer in a side window.
42255         (window--sides-inhibit-check): New variable.
42256         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
42257         (window--sides-reverse-all, window--sides-reverse-frame)
42258         (window--sides-reverse-side, window--sides-reverse)
42259         (window--sides-verticalize-frame, window--sides-verticalize)
42260         (window--sides-check-failed): New functions.
42261         (window--side-window-p): Remove function.
42262         (window--major-non-side-window): Rename to `window-main-window',
42263         adjust callers, rewrite doc-string.
42264         (window--major-side-window): Rename to
42265         `window--make-major-side-window-next-to', adjust caller, fix
42266         doc-string.
42267         (display-buffer-in-major-side-window): Rename to
42268         `window--make-major-side-window', adjust
42269         caller, rewrite doc-string.  Make `window-side' and
42270         `window-slot' parameters persistent (Bug#23858).  Don't set
42271         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
42272         (delete-side-window): Remove function.
42273         (display-buffer-in-side-window): Fix doc-string.  Don't set
42274         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
42275         (window--side-check): Rename to window--sides-check.  Rewrite
42276         completely.  Adjust caller.
42277         (window-resize-no-error): Don't describe PIXELWISE argument.
42278         (adjust-window-trailing-edge): Fix bug that disallowed
42279         re-enlarging windows that were too small.
42280         (window-deletable-p): Don't tell that a minibuffer window on a
42281         non-minibuffer-only frame can be deleted.  Fix doc-string.
42282         (delete-window): Handle deleting a side window here (the
42283         `delete-window' parameter is no more set for side windows).
42284         (delete-other-windows): Handle ‘no-delete-other-window'
42285         parameter. Don't treat side windows separately (see discussion
42286         of Bug#24368) but keep optimization that makes the main window
42287         the root window of its frame.
42288         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
42289         windows and buffers shown in side windows separately.
42290         (split-window-no-error): New function.
42291         (window--state-get-1): Use right buffer when storing window
42292         point and start positions and WRITABLE is nil (Bug#24368).
42293         (window--state-put-1): Fix handling of `window-combination-limit'.
42294         Use `split-window-no-error'.
42295         (window--state-put-2): Try to restore windows with preserved
42296         size to their original size.  Fix bug where a fixed window's width
42297         was not preserved.
42298         (window-state-put): When reducing an internal window to a live
42299         one, don't choose a side window.
42300         (window-swap-states): New function.
42301         (window-splittable-p): Don't call `window--side-window-p'.
42302         (window--display-buffer): Handle `window-parameters' ALIST entry.
42303         Minor rewrite.
42304         (display-buffer): Mention `window-parameters' entry in
42305         doc-string.
42306         (display-buffer-at-bottom): Call `split-window-no-error'.
42308         * doc/lispref/elisp.texi (Top): New section "Side Windows".
42309         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
42310         of `delete-window' and `delete-other-windows' wrt window
42311         parameters and side windows.
42312         (Display Action Functions): Mention `window-parameters' ALIST
42313         entry.
42314         (Side Windows): New section (Bug#18170).
42315         (Window Configurations): Describe new function `window-swap-states'.
42316         (Window Parameters): Say that functions may behave specially when
42317         their homonymous window parameter has been set.  Mention new
42318         parameter `no-delete-other-window'.  Add cross reference for
42319         `window-side' and `window-slot' parameters.
42321 2016-10-04  John Wiegley  <johnw@newartisans.com>
42323         Add documentation note from Alex
42325 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
42327         Avoid dynamic binding on a symbol
42329         Instead, bind history in the default minibuffer-history.
42330         Fixes bug#24580.
42331         * lisp/replace.el (query-replace-read-from): Let-bind
42332         minibuffer-history.  Change read-regexp and read-from-minibuffer's
42333         HISTORY arguments to nil so that they use minibuffer-history.
42335 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
42337         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
42339         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
42340         deleting the old buffer content.
42341         * src/lisp.h (del_range_byte):
42342         * src/insdel.c (del_range_byte): Drop the last argument.
42343         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
42345 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
42347         Ibuffer: 'w' and 'B' default to buffer at current line
42349         See discussion in:
42350         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
42351         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
42352         return buffers near current line.
42353         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
42354         Add argument ARG; if a non-zero integer, return next ARG buffers.
42355         Otherwise return the marked buffers.
42356         If there are not marked buffers, return buffer at current line
42357         without prompting the user.
42358         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
42359         Append to kill ring when last command was a kill-region.
42360         (ibuffer-copy-filename-as-kill): Idem.
42361         Simplify the code.
42362         Use ibuffer-buffer-file-name instead of buffer-file-name to
42363         include buffers in Dired mode.
42365 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
42367         dired-mark-extension: Unmark if called with C-u prefix
42369         See discussion in #Bug2518 and:
42370         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
42371         * lisp/dired-x.el (dired-mark-extension):
42372         Update interactive calls: a prefix arg C-u unmark files;
42373         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
42374         (dired-mark-sexp):
42375         Show in the prompt that we are unmarking if called with a prefix argument.
42376         * doc/misc/dired-x.texi (Advanced Mark Commands):
42377         Update documentation for 'dired-mark-extension'.
42379 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
42381         Document yank behavior in the right place
42383         * lisp/simple.el (yank): Document the handling of the
42384         `yank-handled-properties' and `yank-excluded-properties' variables,
42385         and the `yank-handler' text property.
42386         (yank-pop): Refer to `yank' now (bug#286)
42388         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
42389         (insert-for-yank-1): Refer to `insert-for-yank' now.
42391         See this thread for discussion:
42393           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
42394           From: Karl Fogel
42395           To: Emacs Devel
42396           Subject: Question about intended behavior of 'insert-for-yank-1'.
42397           Date: Mon, 12 Sep 2016 00:17:14 -0500
42398           Message-ID: <874m5lr92d.fsf@red-bean.com>
42400 2016-10-02  Philipp Stephani  <phst@google.com>
42402         Restart blink cursor timers on interval changes
42404         This prevents surprising behavior when timer interval customizations are
42405         only applied whenever the timers happen to be restarted (see Bug#24372).
42407         * lisp/frame.el (blink-cursor--start-idle-timer)
42408         (blink-cursor--start-timer): New functions.
42409         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
42410         the new helper functions.
42411         (blink-cursor-delay, blink-cursor-interval): Restart timers when
42412         the value is changed.
42414 2016-10-01  Philipp Stephani  <phst@google.com>
42416         Use a simple keyword for a non-nil argument
42418         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
42419         and non-nil values are distinguished.  Passing a number here is
42420         confusing.  Pass a descriptive symbol instead.
42422         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
42423         :repeat symbol instead of number for second argument of
42424         `run-with-idle-timer'
42426 2016-10-01  Philipp Stephani  <phst@google.com>
42428         Make querying to kill processes customizable
42430         Introduce a new customization option, `confirm-kill-processes', that
42431         users can set to nil if they don't want Emacs to nag them about killing
42432         processes.
42434         * lisp/files.el (confirm-kill-processes): New customization option.
42435         (save-buffers-kill-emacs): Use customization option.
42437         * test/lisp/files-tests.el
42438         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
42439         test for new customization option.
42441         * doc/emacs/entering.texi (Exiting): Document new user option.
42443         * doc/lispref/processes.texi (Query Before Exit): Document new
42444         user option.
42446         * etc/NEWS: Document new user option.
42448 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
42450         Set :version of 'debugger-stack-frame-as-list'
42452         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
42453         the ':version' attribute.
42455 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
42457         Bump Emacs version to 26.0.50
42459         * README:
42460         * configure.ac:
42461         * etc/NEWS:
42462         * etc/refcards/ru-refcard.tex:
42463         * msdos/sed2v2.inp:
42464         * src/msdos.c: Increment Emacs version to 26.0.50.
42465         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
42466         moved to etc/NEWS.
42468 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
42470         Avoid compilation warning on MinGW
42472         * src/w32.c: Include string.h, needed for the prototype of
42473         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
42474         warning about "no previous prototype".  The string.h header
42475         must be included after ms-w32.h, but before "#undef strerror".
42477 2016-09-30  Alan Third  <alan@idiocy.org>
42479         Fix compatibility with macOS 10.12 pmset (bug#24537)
42481         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
42482         present in output.
42484 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
42486         Limit <config.h>’s includes
42488         This follows up on recent problems with the fact that config.h
42489         includes stdlib.h etc.; some files need to include stdlib.h later.
42490         config.h generally should limit itself to includes that are
42491         universally safe; outside of MS-Windows, only stdbool.h makes
42492         the cut among the files currently included.  So, move the
42493         other includes to just the files that need them (Bug#24506).
42494         * configure.ac (config_opsysfile): Remove, as this generic hook
42495         is no longer needed.
42496         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
42497         * src/w32proc.c (_GNU_SOURCE):
42498         Remove, as it’s OK for config.h to do this now.
42499         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
42500         config_opsysfile, for simplicity as this old way of configuring is
42501         now done only for the MS-Windows port.  Do not include <ms-w32.h>
42502         if DEFER_MS_W32_H, for the benefit of the few files that want its
42503         effects later.  Do not include <alloca.h>, <string.h>, or
42504         <stdlib.h>.  Other files modified to include these headers as
42505         needed, or to not include headers that are no longer needed.
42506         * src/lisp.h: Include <alloca.h> and <string.h> here, since
42507         some of the inline functions need them.
42508         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
42509         we can rely on SAFE_ALLOCA.)  There is no longer any need to
42510         worry about HAVE_ALLOCA_H.
42511         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
42512         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
42513         Define before including <config.h> first, and include <ms-w32.h>
42514         after the troublesome headers.
42516 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
42518         New user option 'debugger-stack-frame-as-list'
42520         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
42521         variable.
42522         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
42523         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
42524         backtrace processing for the value of debugger-stack-frame-as-list.
42525         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
42526         processing for the value of debugger-stack-frame-as-list.
42527         * doc/lispref/debugging.texi (Internals of Debugger): Document
42528         debugger-stack-frame-as-list.
42529         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
42531 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
42533         * src/alloc.c: call only non-null finalizers
42535 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
42537         Avoid compiler warnings in image.c on MS-Windows
42539         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
42540         warning about unused macros.
42542 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
42544         * lisp/outline.el (outline-invisible-p): Only return `t' for
42545         the 'outline property.
42547 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
42549         Fix problems found by static checking --with-ns
42551         This is for Fedora 24 when configured with --enable-gcc-warnings.
42552         Although it does not fix all the problems, it fixes many of them.
42553         * src/frame.c (XParseGeometry):
42554         * src/nsterm.m (mouseDown:):
42555         Mark locals with UNINIT to pacify --enable-gcc-warnings.
42556         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
42557         Remove unused macros.
42558         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
42559         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
42560         (xpm_put_color_table_v, xpm_get_color_table_v)
42561         (xpm_make_color_table_h, xpm_put_color_table_h)
42562         (xpm_get_color_table_h, xpm_load_image, xpm_load)
42563         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
42564         (svg_load_image):
42565         * src/nsfns.m (x_get_string_resource):
42566         * src/nsimage.m (ns_image_from_XBM):
42567         Fix pointer signedness problems.
42568         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
42569         (imagemagick_load_image): Omit unused locals.
42570         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
42571         (Fx_open_connection):
42572         * src/nsfont.m (ns_antialias_threshold):
42573         Move extern decl to nsterm.h so it can be checked.
42574         * src/nsmenu.m (svcsMenu, dockMenu):
42575         Move to the only file that uses them, so they can be static.
42576         * src/nsterm.h (find_and_call_menu_selection):
42577         * src/nsterm.m (x_set_frame_alpha):
42578         Omit duplicate decls.
42579         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
42580         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
42581         (ns_set_name_as_filename, x_set_menu_bar_lines)
42582         (x_set_tool_bar_lines, x_set_internal_border_width):
42583         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
42584         Now static.
42585         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
42586         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
42587         Remove; unused.
42588         * src/nsfont.m (ns_dump_glyphstring):
42589         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
42590         (ns_clear_frame, keyDown:):
42591         Fix signedness problem with printf arg.
42592         * src/nsterm.h (ns_input_events, ns_finish_events):
42593         * src/nsterm.m (ns_finish_events, hide_bell):
42594         Prototype the decls.
42595         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
42596         Omit unnecessary decl.
42597         (dockMenu):
42598         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
42599         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
42600         (toggleFullScreen:): Use FACE_FROM_ID instead of
42601         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
42602         result to be non-null.
42603         (applicationShouldTerminate:): Fix misleading indentation.
42605 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
42607         Turn on more lexical-binding
42609         * lisp/dom.el:
42610         * lisp/faces.el:
42611         * lisp/htmlfontify.el: Turn on lexical-binding.
42612         (htmlfontify-string): Use pushnew instead of add-to-list.
42613         * lisp/info-xref.el:
42614         * lisp/isearch.el:
42615         * lisp/man.el:
42616         * lisp/ps-def.el:
42617         * lisp/ps-print.el:
42618         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
42619         time.
42620         (multi-occur): Use cl-pushnew instead of add-to-list.
42621         (replace-match-string-symbols): Remove unused lexical variable.
42622         (replace-search, replace-highlight): Fix argument shadowing.
42623         * lisp/sort.el:
42624         * lisp/xml.el: Turn on lexical-binding.
42625         (xml--parse-buffer): Use push instead of add-to-list.
42626         * lisp/xt-mouse.el: Turn on lexical-binding.
42628 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
42630         * admin/notes/bug-triage: Do not mention closed bugs
42632         * admin/notes/bug-triage: Do not mention closed bugs, they are
42633         suppressed by default in debbugs-{gnu,org}.
42635 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
42637         * etc/PROBLEMS: Remove problem Bug#22814, again.
42639 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
42641         Stick with debbugs-supported tags in triage
42643         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
42644         debbugs supports, rather than suggesting "doneunreproducible" or
42645         "unreproducable".
42647 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
42649         Merge from origin/emacs-25
42651         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
42652         c14a1d4 Minor copyedits of MS-Windows installation instructions
42653         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
42655         # Conflicts:
42656         #       lisp/minibuffer.el
42658 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
42660         Merge from origin/emacs-25
42662         0ae9a81 Document 'timerp'
42663         2c72c46 Improve documentation of overlay priorities
42664         f6fa160 Fix 'dired-compress-files'
42665         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
42667         # Conflicts:
42668         #       lisp/dired.el
42669         #       src/buffer.h
42670         #       src/character.h
42672 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
42674         Merge from origin/emacs-25
42676         cf9e174 Document the optional zlib library in MS-Windows builds
42677         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
42678         73c67dd Fix tagging of DEFUN by etags
42679         ea1960b Avoid resetting track-mouse by mouse clicks
42680         505fef3 Improve nt/README.W32 instructions
42681         1229cc4 Document that desktop file overrides frame parameters
42682         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
42684         # Conflicts:
42685         #       ChangeLog.2
42686         #       admin/notes/unicode
42687         #       lisp/ldefs-boot.el
42689 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
42691         Merge from origin/emacs-25
42693         0ffc9ce Update admin/authors.el
42694         0ad7410 Update Antinews in ELisp manual
42695         ea0f750 Fix comments on window height macros
42696         0bbdeed Fix 'url-http-create-request' when cookies are used
42697         0045998 Fix cross reference in frames.texi
42698         1392894 ; * etc/DEBUG: Minor copyedits.
42699         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
42700         56bf7d7 Fix regexp-opt documentation (bug #17862)
42701         803ad6f ; Fix documentation of seq-subseq
42702         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
42703         88ea396 ; Spelling fixes
42704         17197d0 Fix tags-query-replace docstring
42705         80a7f8b Clarify documentation of precision in format specs
42706         88a5052 Improve and clarify documentation of subprocesses
42707         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
42709         # Conflicts:
42710         #       etc/PROBLEMS
42711         #       src/process.c
42713 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
42715         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
42717 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
42719         Fix 'dired-mark-extension' with prefix argument
42721         * lisp/dired-x.el (dired-mark-extension): Allow to specify
42722         MARKER-CHAR interactively as a string, not as a character's
42723         codepoint.  (Bug#24518)
42725         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
42726         behavior when invoked with a prefix arg.
42728 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
42730         Support completion of classes and IDs in CSS mode
42732         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
42733         holding the function to call for retrieving completions of class
42734         names.
42735         (css-id-list-function): New variable holding the function to call for
42736         retrieving completions of IDs.
42737         (css--foreign-completions): New function for retrieving completions
42738         from other buffers.
42739         (css--complete-selector): Support completing HTML class names and IDs
42740         from other buffers in addition to completing HTML tags.
42742         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
42743         variable holding a cache for `html-current-buffer-classes'.
42744         (html--buffer-ids-cache): New variable holding a cache for
42745         `html-current-buffer-ids'.
42746         (html-current-buffer-classes): New function returning a list of class
42747         names used in the current buffer.
42748         (html-current-buffer-ids): New function returning a list of IDs used
42749         in the current buffer.
42750         (html-mode): Set `css-class-list-function' and `css-id-list-function'
42751         to `html-current-buffer-classes' and `html-current-buffer-ids'
42752         respectively.
42754 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
42756         Update test suite files due to removal of test/lisp/legacy
42758         * test/README: Reference file-organization.org.
42759         * test/file-organization.org: Remove the description of files in
42760         the lisp/legacy/ directory.
42762 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
42764         Incorporate syntax-tests in lisp-tests.
42766         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
42767         test/lisp/legacy/syntax-tests.el.
42768         * test/lisp/legacy/syntax-tests.el: File deleted.
42770 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
42772         Incorporate occur-tests in replace-tests
42774         * test/lisp/replace-tests.el: Add tests from
42775         test/lisp/legacy/occur-tests.el.
42776         * test/lisp/legacy/occur-tests.el: File deleted.
42778 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
42780         Incorporate lexbind-tests.el in bytecomp-test.el
42782         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
42783         test/lisp/legacy/lexbind-tests.el.
42784         * test/lisp/legacy/lexbind-tests.el: File deleted.
42786 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
42788         Improve integer overflow handling a bit
42790         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
42791         The machine code is the same on my platform.
42792         * src/doprnt.c (doprnt):
42793         * src/emacs-module.c (module_funcall):
42794         * src/font.c (font_intern_prop):
42795         * src/keyboard.c (Frecursion_depth):
42796         * src/lread.c (read1):
42797         Use WRAPV macros instead of checking overflow by hand.
42798         * src/editfns.c (hi_time, time_arith, decode_time_components):
42799         * src/emacs-module.c (Fmodule_load):
42800         Simplify by using FIXNUM_OVERFLOW_P.
42801         * src/emacs-module.c: Include intprops.h.
42802         * src/xdisp.c (percent99): New function.
42803         (decode_mode_spec): Use it to simplify overflow avoidance and
42804         formatting of %p and %P.
42806 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
42808         Incorporate core-elisp-tests in lisp-tests
42810         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
42811         test/lisp/legacy/core-elisp-tests.el.
42812         * test/lisp/legacy/core-elisp-tests.el: File removed.
42814 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
42816         Move coding-tests.el and decoder-test.el to their places
42818         * test/src/coding-tests.el: Added all the tests from
42819         test/lisp/legacy/decoder-tests.el.
42820         * test/lisp/legacy/decoder-tests.el: File deleted.
42822 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
42824         Use correct TYPE value for displaying error messages in (erc-display-message)
42826 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
42828         Bump the version to 25.2.50
42830         * README:
42831         * configure.ac:
42832         * etc/NEWS:
42833         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
42835 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
42837         ibuffer-do-view-other-frame: Display each buffer in a new frame
42839         * lisp/ibuffer.el (ibuffer-do-view-1):
42840         When TYPE equals 'other-frame, then display each buffer
42841         in a new frame (Bug#24086).
42843 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42845         Update from gnulib
42847         This incorporates:
42848         2016-09-22 stdint: port to GCC 7
42849         2016-09-22 limits-h, stdint: don't assume extensions
42850         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
42852 2016-09-22  Alan Mackenzie  <acm@muc.de>
42854         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
42856 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
42858         Port recent flexmember changes to NetBSD
42860         The NetBSD library supports localtime_rz directly, and without
42861         this change 'configure' omitted the flexmember test that is marked
42862         as conditional on localtime_rz.  Emacs now needs to use
42863         flexmember.m4 even when localtime_rz works.
42864         Problem reported by Thomas Klausner.
42865         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
42866         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
42868 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
42870         * doc/misc/texinfo.tex: Copy from gnulib.
42872 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
42874         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
42876 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
42878         Use flexmembers on IBM XL C for AIX
42880         This removes a workaround where Emacs did not use flexible
42881         array members when compiled with IBM XL C.  Instead, avoid
42882         the problem by making the aliasing issues more obvious to
42883         this compiler.
42884         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
42885         * m4/flexmember.m4: Copy from gnulib.
42886         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
42887         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
42888         problem that would otherwise mess up code generated for flexible
42889         array members by IBM XL C for AIX, V12.1.
42890         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
42891         by gnulib code.
42893 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
42895         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
42897         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
42898         `tramp-drop-volume-letter' any longer, it causes collateral
42899         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
42901 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
42903         Port January __morecore changes to AIX 7.1
42905         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
42906         (__after_morecore_hook):
42907         * src/ralloc.c (__morecore):
42908         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
42909         not defined.  <malloc.h> does not declare these in AIX 7.1.
42911 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
42913         Define _GNU_SOURCE in files delaying config.h
42915         Problem reported by Richard Copley in:
42916         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
42917         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
42918         Define early.
42920 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
42922         Update the bidi test code and data
42924         * test/manual/BidiCharacterTest.txt: Import the version from
42925         Unicode Standard 9.0.0.
42926         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
42927         in the 4th field of the test data.
42929 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
42931         ibuffer-do-toggle-read-only: Fix unused argument
42933         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
42934         'read-only-mode' with ARG when its an integer.
42935         Clarify the meaning of ARG in doc string.
42937 2016-09-17  Alan Mackenzie  <acm@muc.de>
42939         Improve accuracy of line/column numbers in byte compiler's warning messages.
42941         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
42942         value of byte-compile-last-position is not lower than old value.
42943         (byte-compile-function-warn): call byte-compile-set-symbol-position.
42945 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
42947         Minor Tramp tweaks
42949         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
42950         property "process-buffer" if already existing.
42951         (tramp-connectable-p): Suppress debug messages.
42953 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42955         Define _GNU_SOURCE in unexmacosx.c
42957         Problem reported by Bob Halley in:
42958         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
42959         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
42961 2016-09-16  Alan Mackenzie  <acm@muc.de>
42963         C Mode: Fix mis-fontification of macro invocation as function declaration
42965         This happened with a macro invocation which was followed by a statement block
42966         in braces.
42968         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
42969         between contexts nil and top, being less permissive in the former case.
42970         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
42972 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
42974         Improve the doc string of 'format'
42976         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
42977         of a literal period.  (Bug#24407)
42979 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
42981         Improve doc strings in whitespace.el
42983         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
42984         (global-whitespace-mode, global-whitespace-newline-mode): Improve
42985         the doc strings.  (Bug#24413)
42987 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
42989         Improve detectability of 'next-logical-line' and 'previous-logical-line'
42991         * lisp/simple.el (next-line, previous-line): Mention
42992         'next-logical-line' and 'previous-logical-line' in the doc
42993         strings.  (Bug#24443)
42995 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42997         Update from gnulib
42999         This incorporates:
43000         2016-09-16 extensions: fix typo in comment
43001         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
43002         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
43004 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43006         Prefer now-standard int width macros
43008         * src/data.c (ULL_WIDTH):
43009         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
43010         * src/lread.c (read_integer):
43011         * src/term.c (produce_glyphless_glyph):
43012         * src/xterm.c (x_send_scroll_bar_event):
43013         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
43014         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
43015         with the *_WIDTH standard macros.  All uses changed.
43016         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
43017         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
43018         for consistency with the *_WIDTH standard macros.  All uses changed.
43019         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
43020         be the same as CHAR_WIDTH and avoids confusion with Elisp
43021         char-width, which counts columns not bits.
43022         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
43023         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
43024         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
43025         used directly.
43027 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43029         Update from gnulib
43031         This incorporates:
43032         2016-09-15 stdint: support new _WIDTH macros
43033         2016-09-15 limits-h: new module
43034         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
43035         2016-09-15 extensions: port to more ISO C TSes
43036         2016-09-13 intprops: new macro TYPE_WIDTH
43037         2016-09-13 extensions: port to recent ISO C TRs
43038         * .gitignore: Add lib/limits.h.
43039         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
43040         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
43041         * m4/sys_types_h.m4: Copy from gnulib.
43042         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
43043         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
43044         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
43046 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
43048         Rework fixing Bug#24432
43050         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
43051         "process-buffer" in order to mark connection as active.
43053         * lisp/net/tramp-cache.el (tramp-get-hash-table)
43054         (tramp-set-connection-property)
43055         (tramp-dump-connection-properties): Do not use "active" property.
43056         (tramp-list-connections): Use "process-buffer" property.
43058         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
43059         properties prior deletion of process.
43061 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
43063         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
43065         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
43067 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
43069         Avoid compiler warning on MS-Windows due to clone_file
43071         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
43072         call to it is not compiled in that build, and having it defined
43073         causes compiler warnings.
43075 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
43077         Avoid aborts in GC due to abort_on_gc
43079         * src/lisp.h:
43080         * src/print.c (Fprin1_to_string):
43081         * src/eval.c (signal_or_quit):
43082         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
43083         and testing the value of abort_on_gc.  It is no longer needed, and
43084         using it causes rare aborts in GC for no good reason.  (Bug#23912)
43086 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
43088         Fix Bug#24432
43090         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
43091         connection as inactive.
43092         (tramp-set-connection-property): Make the connection active.
43093         (tramp-dump-connection-properties): Don't save "active" property.
43094         (tramp-list-connections): List only active connections.  (Bug#24432)
43096 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
43098         Don't bug out on all-whitespace URLs
43100         * lisp/net/shr.el (shr-expand-url): Don't bug out on
43101         degenerate all-whitespace URLs.
43103 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
43105         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
43107         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
43108         Rename from sieve-manage-ignore-broken-tls.  If it is set,
43109         sieve-manage will never use STARTTLS even if the server says
43110         it is capable (but may be broken).
43112 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
43114         Port to ISO/IEC TS 18661-1:2014
43116         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
43117         All uses changed.
43119 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
43121         dired-jump: Expand file-name before dired-goto-file call
43123         Command dired-goto-file requires its argument to be an absolute
43124         file name.  Interactively FILE-NAME is read with read-file-name,
43125         which could return an abbreviated file name (Bug#24409).
43126         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
43127         Clarify in doc string the meaning of arg FILE-NAME.
43129 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
43131         Add test for Bug#21454
43133         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
43135 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
43137         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
43139 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
43141         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
43143         * lisp/net/sieve.el (sieve-edit-script):
43144         Make the buffer to edit be not modified-p initially (bug#24423).
43146 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
43148         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
43150         * lisp/net/sieve-manage.el
43151         (sieve-manage-ignore-broken-tls): New user option.
43152         (sieve-manage-open-server):
43153         Don't test STARTTLS capability if the option is set (bug#24422).
43155 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
43157         Fix compiler thinking width and height may be unitialized in frame.c
43159         This fixes the following warning:
43161                 frame.c: In function ‘x_set_frame_parameters’:
43162                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
43163                         this function [-Werror=maybe-uninitialized]
43164                        adjust_frame_size (f, width_change ? width : -1,
43165                                  ^
43167         * src/frame.c (x_set_frame_parameters): Drop width_changed and
43168         height_changed variables in favor of storing that information in
43169         width and height variables.
43171 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
43173         Fix compiler thinking tmpdir may be unitialized in emacsclient
43175         This fixes the following warning:
43177                 emacsclient.c: In function ‘set_local_socket’:
43178                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
43179                         ‘tmpdir’ may be used uninitialized in this function
43180                         [-Werror=maybe-uninitialized]
43181                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
43182                    ^
43183                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
43184                      const char *tmpdir;
43186         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
43187         variable and instead use tmpdir being non-NULL as sign that it should
43188         be used.
43190 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
43192         image-dired: Signal an error before calling a missing executable
43194         Reverts commit ca473907
43195         Add a defun to check if an executable exists, and call it
43196         on each function using an external program: when the executable
43197         is not available signal an error.
43198         See discussion on:
43199         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
43200         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
43201         Throw and error when the executable arg is missing.
43202         (image-dired-display-image, image-dired-rotate-thumbnail)
43203         (image-dired-rotate-original, image-dired-set-exif-data)
43204         (image-dired-get-exif-data):
43205         Use it.
43207 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
43209         Fix daemon shutdown when emacs-kill-hooks ask questions
43211         * lisp/server.el (server-start): Put the server's kill-emacs-hook
43212         last, to allow other hooks to have a frame to interact with the
43213         user.  (Bug#24326)
43215 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
43217         * src/casefiddle.c (casify_word): Simplify.
43219         * src/casefiddle.c (casify_word): Return Qnil.
43221 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
43223         Refactor common code in {upcase,downcase,capitalize}-word functions
43225         * src/casefiddle.c (operate_on_word): Removed in favor of…
43226         (casify_word) …new function which does what operate_on_word did plus
43227         what all of the common code from *-word functions.
43228         (upcase-word, downcase-word, capitalize-word): Move code common between
43229         those functions (pretty much the whole body of those functions) into
43230         casify_word and use that instead of now deleted operate_on_word.
43232 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
43234         * doc/lispref/files.texi: Remove @vindex.
43236 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
43238         Remove unnecessary ref to coreutils manual
43240         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
43242 2016-09-11  Alan Mackenzie  <acm@muc.de>
43244         Correctly fontify C++ direct initializations with parens inside functions
43246         Or, more clearly, when something looks like a function declaration and it's
43247         inside a function, fontify it as a direct initialization.
43249         For this purpose, introduce a "brace stack" for each buffer, where an entry on
43250         the brace stack states how deeply nested a particular position is inside
43251         braces inside a "top level", which includes classes and namespaces.
43253         Also introduce a new "context", "top", with which c-font-lock-declarations
43254         signals to c-forward-decl-or-cast-1 that point is at the top level.
43256         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
43257         c-truncate-bs-cache.
43258         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
43259         (c-type-decl-operator-prefix-key): new language constants/variables.
43261         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
43262         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
43263         stack cache.
43264         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
43265         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
43266         (c-find-decl-prefix-search): Keep track of whether we're at top level.
43267         (c-find-decl-spots): New local variable cfd-top-level which records what it
43268         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
43269         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
43270         to non-nil when a match for c-type-decl-operator-prefix-key is found.
43271         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
43272         Introduce "CASE 9.5", which recognizes direct initializations.
43274         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
43275         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
43276         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
43277         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
43278         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
43279         participate in the decision whether to fontify an identifier as a function or
43280         a variable.
43281         (c-font-lock-declarations): The internal lambda function takes an additional
43282         argument `toplev' from c-find-decl-spots, which it uses in determining the
43283         "context" of a declaration.  Add appropriate `not-top' argument to calls to
43284         c-font-lock-declarators.
43285         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
43286         like for c-font-lock-declarators.
43288         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
43289         cache.
43291 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
43293         Avoid signaling errors when computing "Stop" in GDB menu
43295         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
43296         'gdb-running-threads-count' must have a numeric value.
43297         (Bug#24414)
43299 2016-09-11  Philipp Stephani  <phst@google.com>
43301         Stop calling ‘byte-compile-log-warning’
43303         For errors, use ‘byte-compile-report-error’ instead so that the error
43304         is registered and causes compilation to fail (Bug#24359).
43306         For warnings, use ‘byte-compile-warn’ instead so that
43307         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
43309         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
43310         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
43311         ‘byte-compile-log-warning’.
43313         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
43314         (byte-compile-setq, byte-compile-funcall): Use
43315         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
43316         (byte-compile-log-warning): Convert comment to documentation
43317         string.  Explain that the function shouldn’t be called directly.
43318         (byte-compile-report-error): Add optional FILL argument.
43320         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
43321         (cconv--analyze-function, cconv-analyze-form): Use
43322         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
43324         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
43325         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
43327         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
43328         of ‘byte-compile-log-warning’.
43329         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
43330         ‘byte-compile-log-warning’.
43332 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
43334         * etc/NEWS: Remove comment lost in emacs-25 merge.
43336 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
43338         Document file synchronization issues
43340         * doc/lispref/files.texi (Files and Storage): New section.
43342 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
43344         copy-file now uses GNU/Linux file cloning
43346         From a suggestion by Kieran Colford (see Bug#23904).
43347         * configure.ac: Check for linux/fs.h.
43348         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
43349         (clone_file): New function.
43350         (Fcopy_file): Use it.
43352 2016-09-10  Alan Third  <alan@idiocy.org>
43354         Invert y coord of NS image files (bug#7847)
43356         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
43357         when compositing.
43359 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
43361         Don't require isearch-update before isearch-done
43363         It is useful to be able to call `isearch-done' unconditionally to
43364         ensure a non-isearching state.
43366         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
43367         is a live buffer before using it (Bug #21091).
43368         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
43370 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
43372         * lisp/emacs-lisp/ring.el: Use lexical-binding
43374         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
43375         argument of `dotimes' when the iteration variable isn't referred by
43376         it.
43377         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
43378         since it's the default.
43380 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
43382         Split regex character class test into smaller chunks
43384         Having one test for all character classes it is not always trivial to
43385         determine which class is failing.  This happens when failure is caused
43386         by ‘(should (equal (point) (point-max)))’ not being met.
43388         With per-character class tests, it is immidiatelly obvious which test
43389         causes issues plus tests for all classes are run even if some of them
43390         fail.
43392         * test/src/regex-tests.el (regex-character-classes): Delete and split
43393         into…
43394         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
43395         regex-tests-ascii-character-class, regex-tests-blank-character-class,
43396         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
43397         regex-tests-graph-character-class, regex-tests-lower-character-class,
43398         regex-tests-multibyte-character-class,
43399         regex-tests-nonascii-character-class,
43400         regex-tests-print-character-class, regex-tests-punct-character-class,
43401         regex-tests-space-character-class,
43402         regex-tests-unibyte-character-class,
43403         regex-tests-upper-character-class, regex-tests-word-character-class,
43404         regex-tests-xdigit-character-class): …new tests.
43406 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
43408         Don’t allocate char-table’s extra slots in regexp-out-charset
43410         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
43411         'case-table as charmap char-table’s property.  The function has nothing
43412         to do with casing and in addition using 'case-table causes unnecessary
43413         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
43415 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
43417         Remove dead loop iterations in regex.c
43419         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
43420         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
43421         for byte8 characters.  This means that
43423                 c = RE_CHAR_TO_MULTIBYTE (ch);
43424                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
43426         is equivalent to:
43428                 c = c;
43429                 if (! false && re_iswctype (c, cc))
43431         for 0 ⪬ c < 0x80, and
43433                 c = BYTE8_TO_CHAR (c);
43434                 if (! true && re_iswctype (c, cc))
43436         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
43437         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
43439         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
43440         dead iterations and unnecessary macro calls.
43442 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
43444         Replace decimalnump with alphanumericp
43446         decimalnump was used in regex.c only in ISALNUM macro which ored it with
43447         alphabeticp.  Because both of those functions require Unicode general
43448         category lookup, this resulted in unnecessary lookups (if alphabeticp
43449         return false decimalp had to perform another lookup).  Drop decimalnump
43450         in favor of alphanumericp which combines decimelnump with alphabeticp.
43452         * src/character.c (decimalnump): Remove in favor of…
43453         (alphanumericp): …new function.
43455         * src/regex.c (ISALNUM): Use alphanumericp.
43457 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
43459         Remove inaccurate comment in regex.c
43461         * src/regex.c (regex_compile): Remove comment indicating that wctype of
43462         some character classes may be negative.  All wctypes are in fact
43463         non-negative.
43465 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
43467         STRING_CHAR does not unify characters; update documentation
43469         * src/character.h (STRING_CHAR): Update doc.
43470         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
43471         the function to use BYTE_POS_ADDR instead of open-coding it.
43473 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
43475         Add tests for ring.el
43477         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
43479 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
43481         New file test/src/marker-tests.el
43483 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
43485         Port flexible array members to GCC + valgrind
43487         These changes are needed to conform to the C standard's rule for
43488         allocating structs containing flexible array members.  C11 says
43489         that malloc (offsetof (struct s, m) + n) does not suffice to
43490         allocate a struct with an n-byte tail; instead, malloc’s arg
43491         should be rounded up to the nearest multiple of alignof (struct s).
43492         Although this is arguably a defect in C11, gcc -O2 + valgrind
43493         sometimes complains when this rule is violated, and when debugging
43494         it’s better to keep valgrind happy.
43495         For details please see the thread containing the message at:
43496         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
43497         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
43498         Include flexmember.h.
43499         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
43500         (register_namespace_alias):
43501         * src/alloc.c (SDATA_SIZE, allocate_string_data):
43502         * src/image.c (xpm_cache_color, imagemagick_create_cache):
43503         * src/process.c (Fmake_network_process):
43504         Use FLEXSIZEOF instead of offsetof and addition.
43505         * src/alloc.c (SDATA_SIZE, vector_alignment):
43506         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
43507         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
43508         Remove, as alloc.c can now calculate this on its own.
43510 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
43512         Update from gnulib
43514         This incorporates:
43515         2016-09-07 flexmember: new macro FLEXALIGNOF
43516         2016-09-07 flexmember: port better to GCC + valgrind
43517         2016-08-18 Port modules to use getprogname explicitly
43518         2016-09-02 manywarnings: add -fno-common
43519         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
43520         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
43521         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
43522         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
43523         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
43524         * m4/manywarnings.m4: Copy from gnulib.
43525         * lib/flexmember.h: New file, from gnulib.
43526         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
43528 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
43530         Don't --load directories
43532         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
43533         of --load when it refers to a normal file, since `load' doesn't handle
43534         directories (Bug #16406).
43536 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
43538         Avoid error in icalendar--read-element
43540         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
43541         stack overflow by not using regex to extract values from calendar
43542         events. (Bug#24315)
43544 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
43546         Fix back-white <-> black-white typo
43548         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
43550 2016-09-07  Alan Third  <alan@idiocy.org>
43552         Fix cursor at bottom left of rectangle (bug#24364)
43554         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
43555         require rectangle--point-crutches to be set.
43557 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
43559         Fix documentation of convert-standard-filename on MS-Windows
43561         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
43563         * etc/NEWS: Suggest a way for mirroring slashes where previously
43564         'convert-standard-filename' was used.
43566 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
43568         Use DEV_TTY more consistently
43570         * src/conf_post.h (DEV_TTY): Move from here ...
43571         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
43572         to be visible everywhere.  Make it a constant.
43573         * src/keyboard.c (handle_interrupt, Fset_quit_char):
43574         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
43576 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
43578         Avoid assertion violations when using marker positions
43580         * src/intervals.c (set_point_from_marker): If MARKER comes from
43581         another buffer, recalculate its byte position before using it to
43582         set point.
43583         * src/marker.c (set_marker_internal): If POSITION is a marker from
43584         another buffer, recalculate its byte position before using it.
43585         (Bug#24368)
43587 2016-09-06  Alan Mackenzie  <acm@muc.de>
43589         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
43591 2016-09-06  Alan Mackenzie  <acm@muc.de>
43593         New options for handling of literals in c-syntactic-re-search-forward
43595         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
43596         be given the values `before-literal' and `after-literal', so that when a
43597         search fails, and the `bound' is inside a literal, point is left respectively
43598         before or after that literal.
43600 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
43602         Avoid assertion violations when scrolling narrowed buffer
43604         * src/window.c (window_scroll_pixel_based):
43605         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
43606         start outside the accessible portion of the buffer.  This avoids
43607         assertion violations when some Lisp narrows the buffer to less
43608         than the current window, and then attempts to scroll the buffer.
43610 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
43612         Treat SIGINT correctly in GUI sessions on MS-Windows
43614         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
43615         supported by MS runtime.
43616         * src/term.c (DEV_TTY): Move from here ...
43617         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
43618         for WINDOWSNT and for the rest.
43619         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
43620         a literal "/dev/tty".
43622         * etc/NEWS: Mention the behavior change.
43624 2016-09-04  Alan Third  <alan@idiocy.org>
43626         Fix synthetic bold on macOS retina displays
43628         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
43629         factor by the OS window backing scale factor.
43631 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
43633         image-dired: Report when a necessary executable is not found
43635         See discussion on:
43636         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
43637         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
43638         (image-dired-cmd-create-thumbnail-program)
43639         (image-dired-cmd-create-temp-image-program)
43640         (image-dired-cmd-rotate-thumbnail-program)
43641         (image-dired-cmd-write-exif-data-program)
43642         (image-dired-cmd-read-exif-data-program):
43643         Use executable-find to set the default value of this option.
43644         (image-dired-cmd-rotate-original-program): Idem.
43645         Search for program 'convert' if 'jpegtran' is not available.
43646         (image-dired-cmd-rotate-original-options):
43647         Set the default value consistent with the executable in
43648         image-dired-cmd-rotate-original-program.
43649         (image-dired-create-thumb, image-dired-display-image)
43650         (image-dired-rotate-thumbnail, image-dired-rotate-original)
43651         (image-dired-set-exif-data, image-dired-get-exif-data):
43652         Throw and error when the executable used in the function is missing.
43653         (image-dired-next-line, image-dired-previous-line):
43654         Use 'forward-line'.
43656 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
43658         image-type-from-file-name: Perform a case insensitive match
43660         Fix Bug#24317
43661         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
43662         to a non-nil value to force a case insensitive match.
43663         * lisp/image-dired.el (image-dired-rotate-original):
43664         Use image-type (Bug#24317).
43665         (image-dired-get-exif-file-name): Idem.
43666         Set 'no-exif-data-found' and 'data' in same setq call.
43667         Use file-attribute-modification-time.
43669 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
43671         image-increase-size: Fix non-interactive calls
43673         * lisp/image.el (image-increase-size, image-decrease-size):
43674         Compute a floating point division.
43675         Problem reported in:
43676         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
43678 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
43680         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
43682         Passing the prefix argument as the 3rd argument to 'call-interactively'
43683         causes the prefix argument to be interpreted as events, which is not
43684         only wrong, but also causes a type error, as 'current-prefix-arg' can
43685         never be a vector as 'call-interactively' expects.  'call-interactively'
43686         automatically passes its prefix argument to the called function, so just
43687         do that, eliminating faulty behavior.
43689         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
43690         (checkdoc-ispell-current-buffer):
43691         (checkdoc-ispell-interactive):
43692         (checkdoc-ispell-message-text):
43693         (checkdoc-ispell-start):
43694         (checkdoc-ispell-continue):
43695         (checkdoc-ispell-comments):
43696         (checkdoc-ispell-defun):
43697         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
43698         vector; merely allow it to propagate forward to the interactive call.
43700 2016-09-03  Richard Stallman  <rms@gnu.org>
43702         Fix mail-combine-fields
43704         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
43705         avoid losing our place in the search loop.
43707 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
43709         Check actual contents before promting about changed file
43711         * lisp/userlock.el (userlock--check-content-unchanged)
43712         (userlock--ask-user-about-supersession-threat): New functions.
43713         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
43714         * doc/lispref/buffers.texi (Modification Time): Update doc of
43715         ask-user-about-supersession-threat.
43717 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
43719         Make a reference to fakecygpty in the Tramp manual
43721         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
43722         fakecygpty on the Emacs Wiki.
43723         (Frequently Asked Questions): Fix url.
43725 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
43727         Don’t create fd >= FD_SETSIZE
43729         This avoids a potential crash if too many subprocesses (Bug#24325).
43730         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
43731         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
43732         set it to FD_SETSIZE.
43734 2016-09-01  Alan Mackenzie  <acm@muc.de>
43736         Fix c-declaration-limits to return correct limits in all cases.
43738         This function is the guts of c-indent-defun and c-mark-function.
43740         In particular, when c-defun-tactic is nil, return a correct value rather than
43741         always nil, and when it's 'go-outward, go through an intricate algorithm to
43742         determine the requisite narrowing before the "top-level" defuns go to work.
43744         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
43745         to take additional optional parameter LEVEL, saying how many enclosing levels
43746         of decl-block to narrow to.
43747         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
43748         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
43749         lower bound.
43751 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
43753         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
43755 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
43757         Avoid compiler warnings with MinGW64 GCC 6
43759         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
43760         the GCC 6 builtin, to avoid warnings.  For more details, see
43761         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
43763 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
43765         Fix over-substitution of quotes on error
43767         Problem reported by Tino Calancha in:
43768         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
43769         * src/print.c (print_error_message):
43770         Substitute quotes in errmsg only when gotten from a property.
43772 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
43774         Improve testing of etags
43776         * test/manual/etags/y-src/cccp.c:
43777         * test/manual/etags/y-src/parse.c: Correct #line directives to
43778         allow testing invalidate_nodes in etags.c.
43779         * test/manual/etags/ETAGS.good_1:
43780         * test/manual/etags/ETAGS.good_2:
43781         * test/manual/etags/ETAGS.good_3:
43782         * test/manual/etags/ETAGS.good_4:
43783         * test/manual/etags/ETAGS.good_5:
43784         * test/manual/etags/ETAGS.good_6:
43785         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
43787 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
43789         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
43791 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
43793         Fix etags problems found by static checking
43795         * lib-src/etags.c (invalidate_nodes, put_entry):
43796         Remove now-unnecessary tests for null pointers.  Simplify.
43797         (put_entries): Rewrite to avoid GCC 6.2 warning about
43798         dereferencing null pointer.
43800 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
43802         Fix a thinko in etags.c
43804         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
43805         a null pointer.
43807 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
43809         Avoid recursive calls in etags
43811         * lib-src/etags.c (stack_entry): New struct.
43812         (push_node, pop_node, put_entry): New functions.
43813         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
43814         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
43816 2016-08-31  Leo Liu  <sdl.web@gmail.com>
43818         Add 451 to url-http-codes
43820         * lisp/url/url-http.el (url-http-codes): Add 451.
43822 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
43824         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
43826 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
43828         Minor doc quoting fixes
43830         * doc/misc/htmlfontify.texi (Interactive):
43831         * lisp/htmlfontify.el (htmlfontify-buffer):
43832         Spell out character names, for clarity.  The old doc string
43833         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
43834         stands for a form feed character; this was confusing.
43835         * lisp/electric.el (electric-quote-mode):
43836         * src/doc.c (syms_of_doc):
43837         * src/editfns.c (Fformat_message):
43838         Remove no-longer-necessary ‘\=’s in doc strings.
43840 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
43842         Update from gnulib
43844         This incorporates:
43845         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
43846         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
43847         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
43848         2016-08-29 intprops.h: use __typeof__ with GCC 7
43849         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
43850         2016-08-24 intprops: fix paren typo on old platforms
43851         2016-08-24 intprops: port to OpenVMS
43852         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
43854 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
43856         Fix rules for \phi and \varphi which were reversed
43858         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
43859           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
43860           were reversed which is not true (anymore?).
43862 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
43864         Fix prettification of \phi, \varphi, and \varsigma
43866         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
43867           prettification of \phi, \varphi, and \varsigma.
43869         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
43870         \varsigma was commented out with a FIXME that it was reversed with
43871         \sigma which it was not.
43873 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
43875         Use normal double quotes in TeX / LaTeX comments
43877         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
43878           default to inserting a normal double quote (") instead of TeX-style
43879           open (``) or close ('') quote marks.
43881         * etc/NEWS (TeX mode): Note the change.
43883         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
43885         See this thread for discussion:
43887           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
43888           From: Karl Fogel <kfogel {_AT_} red-bean.com>
43889           To: Emacs Development <emacs-devel {_AT_} gnu.org>
43890           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
43891           Date: Mon, 29 Aug 2016 14:44:12 -0500
43892           Message-ID: <87twe3icmr.fsf@red-bean.com>
43894 2016-08-30  Alan Mackenzie  <acm@muc.de>
43896         Correctly analyze C++ list initialization in member init areas.
43898         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
43899         superfluous call to c-backward-syntactic-ws.
43900         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
43901         reports encountering the Java "new" keyword.  Add, as an alternative, a check
43902         that we can move back over member initializations, and handle this as finding
43903         a brace block.
43904         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
43905         new calling convention of c-looking-at-or-maybe-in-bracelist.
43906         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
43907         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
43908         using the extra info from the value of that function to generate a
43909         topmost-into-cont element where needed (in Java).
43911         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
43912         calling convention of c-looking-at-or-maybe-in-bracelist.
43914         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
43915         convention of c-looking-at-or-maybe-in-bracelist.
43917 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
43919         Use `file-attribute-*' in Tramp
43921         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
43922         (tramp-compat-file-attribute-link-number)
43923         (tramp-compat-file-attribute-user-id)
43924         (tramp-compat-file-attribute-group-id)
43925         (tramp-compat-file-attribute-modification-time)
43926         (tramp-compat-file-attribute-size)
43927         (tramp-compat-file-attribute-modes): New defaliases.
43929         * lisp/net/tramp.el (tramp-handle-file-modes)
43930         (tramp-handle-file-newer-than-file-p)
43931         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
43932         (tramp-handle-set-visited-file-modtime)
43933         (tramp-handle-verify-visited-file-modtime)
43934         (tramp-get-local-gid, tramp-check-cached-permissions):
43935         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
43936         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
43937         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
43938         (tramp-gvfs-handle-file-directory-p)
43939         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
43940         (tramp-gvfs-get-remote-gid):
43941         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
43942         (tramp-sh-handle-set-visited-file-modtime)
43943         (tramp-sh-handle-verify-visited-file-modtime)
43944         (tramp-sh-handle-file-newer-than-file-p)
43945         (tramp-sh-handle-file-ownership-preserved-p)
43946         (tramp-do-copy-or-rename-file)
43947         (tramp-do-copy-or-rename-file-via-buffer)
43948         (tramp-do-copy-or-rename-file-directly)
43949         (tramp-do-copy-or-rename-file-out-of-band)
43950         (tramp-sh-handle-file-local-copy)
43951         (tramp-sh-handle-write-region):
43952         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
43953         (tramp-smb-handle-copy-file)
43954         (tramp-smb-handle-file-directory-p)
43955         (tramp-smb-handle-file-writable-p)
43956         (tramp-smb-handle-insert-directory): Use them.
43958 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
43960         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
43962         * lisp/window.el (pop-to-buffer): Don't assume that
43963         `display-buffer' has supplied a window (Bug#24332).
43964         Rename BUFFER argument to BUFFER-OR-NAME.
43965         * doc/lispref/windows.texi (Switching Buffers): Fix
43966         `pop-to-buffer' documentation.
43968 2016-08-29  Alan Third  <alan@idiocy.org>
43970         Clarify docstrings
43972         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
43974 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
43976         Use `process-live-p' in Tramp
43978         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
43980         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
43981         (tramp-handle-file-notify-valid-p)
43982         (tramp-action-process-alive, tramp-action-out-of-band)
43983         (tramp-wait-for-regexp):
43984         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
43985         (tramp-adb-maybe-open-connection):
43986         * lisp/net/tramp-cache.el (tramp-get-connection-property):
43987         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
43988         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
43989         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
43990         * lisp/net/tramp-sh.el (tramp-process-sentinel)
43991         (tramp-sh-handle-file-notify-add-watch)
43992         (tramp-maybe-open-connection):
43993         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
43994         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
43995         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
43996         (tramp-smb-get-cifs-capabilities)
43997         (tramp-smb-get-stat-capability)
43998         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
43999         (tramp-smb-kill-winexe-function): Use it.
44001 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
44003         Avoid crashes for invalid value of key modifiers
44005         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
44006         is not a symbol, don't try to recognize it.  See
44007         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
44008         for the details.
44010         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
44011         test, for testing the above fix.
44013 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
44015         Make dired-do-compress understand files with spaces in them
44017         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
44018           and `literal' flag to `replace-regexp-in-string'.
44020 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44022         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
44024 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
44026         Add tests for dom.el
44028         * test/lisp/dom-tests.el: New file with tests for dom.el.
44030 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44032         Memory allocator alignment fixes
44034         These changes remove some assumptions about heap allocator
44035         alignment that may not be true on unusual platforms.
44036         * src/alloc.c (POWER_OF_2): New macro.
44037         (ROUNDUP): Use it.
44038         (BLOCK_ALIGN): Verify that it is a power of 2.
44039         (aligned_alloc): Check that alignment passed to posix_memalign
44040         satisfies POSIX restrictions.
44041         (lisp_align_malloc): Check that size passed to aligned_alloc
44042         satisfies C11 restrictions.
44043         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
44044         code has not been verified to work with other GCALIGNMENT values
44045         and the ice is thin here.  On GNU/Linux, malloc can return a value
44046         that is a multiple of 8 but not 16, even though __alignof__
44047         (max_align_t) is 16.  See:
44048         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
44049         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
44050         is a multiple of alignment, since C11 says the behavior is
44051         undefined otherwise.
44052         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
44053         general this macro is restricted to signed types.  Remove
44054         assertion that the result is a multiple of GCALIGNMENT, as that
44055         need not be true.
44057 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44059         Pacify --enable-gcc-warnings for lib-src/pop.c
44061         * lib-src/pop.c: Include c-ctype.h.
44062         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
44063         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
44064         of the (undeclared) isupper and tolower.  Fix pointer constness
44065         problem.
44067 2016-08-27  Alan Mackenzie  <acm@muc.de>
44069         Handle the C++ "identifiers" "final" and "override" correctly.
44071         This fixes bug #24319, allowing destructors affixed with these identifiers to
44072         be correctly fontified.
44074         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
44075         After reaching the "end" of a type expression, skip over any occurrences of
44076         c-type-decl-suffix-ws-ids-key.
44078         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
44079         "final" from the C++ value.
44080         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
44081         constants/variables for "final" and "override".
44083 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
44085         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
44087 2016-08-27  Alan Mackenzie  <acm@muc.de>
44089         Handle template delimiters in C++ member init constructs.
44091         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
44092         handling for "<....>"s.
44094 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
44096         Fix etags test suite messed up by merges from emacs-25
44098         * test/manual/etags/go-src/test.go:
44099         * test/manual/etags/go-src/test1.go: Move from test/etags/.
44100         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
44101         * test/etags/: Directory deleted.
44103 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
44105         Add "supports" to list of CSS at-rules
44107         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
44109 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
44111         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
44113         (Bug#22478)
44115 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
44117         Rename option to shell-command-dont-erase-buffer
44119         Suggested by Clément Pit--Claudel in:
44120         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
44121         * lisp/simple.el (shell-command-dont-erase-buffer):
44122         (shell-command--save-pos-or-erase):
44123         (shell-command--set-point-after-cmd):
44124         (shell-command-on-region):
44125         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
44126         * etc/NEWS (Changes in Emacs 25.2):
44127         Rename from shell-command-not-erase-buffer.
44129 2016-08-25  Alan Mackenzie  <acm@muc.de>
44131         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
44133         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
44134         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
44135         the loop won't hang at a "terminating" paren of a different type (due to the
44136         c-syntactic-re-search-forward at the end of the loop stopping at such
44137         characters).
44139 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
44141         call-shell-region: New defun
44143         Suggested by Stefan Monnier in Bug#22679.
44144         * lisp/subr.el (call-shell-region): New defun; execute a command
44145         in an inferior shell with the buffer region as input.
44146         * lisp/simple.el (shell-command-on-region): Use it.
44147         * lisp/gnus/message.el (message-do-fcc): Idem.
44148         * doc/lispref/processes.texi: Document call-shell-region in the manual.
44149         ;* etc/NEWS: Add entry for this new function.
44151 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
44153         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
44155         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
44156         argument in `pop-to-buffer' call (Bug#24306).
44158 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
44160         Some fixes around `delete-other-frames' and `next-frame'
44162         * src/frame.c (Fdelete_frame): Clarify doc-string.
44163         * lisp/frame.el (delete-other-frames): Delete other frames on
44164         FRAME's terminal instead of the current terminal.  Delete
44165         non-minibuffer-only surrogate frames too.  See
44166         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
44167         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
44168         docs of `delete-frame' and `frame-live-p'.  Add entry for
44169         `delete-other-frames'.
44170         (Finding All Frames): Fix doc of `next-frame'.
44172 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
44174         Find message.el thumbnail toggling
44176         * lisp/gnus/message.el (message-toggle-image-thumbnails):
44177         Don't infloop when toggling thumbnails.
44179 2016-08-24  Alan Third  <alan@idiocy.org>
44181         Fix macOS 12 deprecation notices
44183         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
44184         new constant names.
44185         * src/nsmenu.m: Replace old constant names with
44186         new.
44187         (fillWithWidgetValue): Remove calls to deprecated
44188         setMenuChangedMessagesEnabled.
44189         * src/nsterm.m: Replace old constant names with new.
44190         * src/nsfns.m: Replace old constant names with new.
44192 2016-08-23  Alan Mackenzie  <acm@muc.de>
44194         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
44196         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
44197         directly preceding the colon, and handle it.
44199 2016-08-23  Noah Friedman  <friedman@splode.com>
44201         * src/xfns.c (Fx_change_window_property): Modify previous change.
44202         Instead of forcing format to 8 for strings, check that the length of
44203         the string is appropriate for whatever format given.
44204         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
44205         try its outer window.  This mimics the behavior of Fx_window_property.
44207 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
44209         Fix invalid image rotations
44211         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
44213 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
44215         call-process instead of call-process-region with empty region
44217         * lisp/calc/calc-graph.el (calc-graph-show-tty):
44218         Use call-process and shell-command-switch.
44220 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44222         Merge from origin/emacs-25
44224         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
44225         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
44226         73cbb81 ; ChangeLog spelling fixes
44227         9b99772 Some assorted documentation clarifications
44228         37d4723 Improve commentary in src/character.h
44229         5ccd593 ; Fix typo in /etc/NEWS
44230         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
44231         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
44232         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
44233         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
44235         # Conflicts:
44236         #       ChangeLog.2
44237         #       lisp/ldefs-boot.el
44239 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44241         Merge from origin/emacs-25
44243         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
44245 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44247         Merge from origin/emacs-25
44249         8c2946e In NEWS describe new handling of window margins (Bug#24193)
44250         0cee66c Facultatively ignore margins when splitting and resizing wind...
44251         8d68147 Document CATEGORY arg to modify-category-entry
44252         8342e74 Document char-script-table's effect on word motion
44253         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
44254         0695235 Fix docstring of eval-expression
44255         98b01dd Clarify when 'cursor' property is in effect
44256         75f1882 Convert the remaining strings to unibyte before concatenating
44257         d2db5dd Fix bug with handling the bidi cache
44258         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
44259         f785ff4 Clarify documentation of before/after-change-functions
44260         3c9cb57 Document use of vectors in keymaps
44262         # Conflicts:
44263         #       src/xdisp.c
44265 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
44267         Handle remote file names in gdb-mi.el
44269         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
44270         If `default-directory' is remote, full file names are adapted
44271         accordingly.  (Bug#23608)
44273 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
44275         Display mini-window resized even when there are several frames
44277         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
44278         t to avoid resizing back the mini-window as result of considering
44279         the title of other frames.  (Bug#24285)
44280         (redisplay_window): No need to bind inhibit-redisplay here.
44282 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
44284         Explain gdb warning on remote hosts
44286         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
44287         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
44289 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
44291         Fix (next-frame nil t) crash (Bug#24281)
44293         * src/frame.c (candidate_frame): Check minibuf argument before
44294         comparing it to zero (Bug#24281).
44296 2016-08-21  Noah Friedman  <friedman@splode.com>
44298         Fix interpretation of signed vs unsigned values when retrieving X
44299         Window properties, and make sure the full value is returned when not
44300         parsed.
44302         New subr to export type and format information about X Window
44303         properties to lisp.
44305         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
44306         unsigned unless its actual type is INTEGER.
44307         CARDINALs, in particular, are unsigned.
44309         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
44310         any provided format and force to 8.
44311         (x_window_property_intern): If returning value as a string, the length
44312         is actual_size times the actual format of each element, which is not
44313         necessarily bytes.
44314         (Fx_window_property_attributes): New subr.
44315         (syms_of_xfns): Declare it.
44317 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
44319         Improve error when installing non-package dirs
44321         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
44322         when no file with package info is found (Bug #19851).
44324 2016-08-21  Alan Mackenzie  <acm@muc.de>
44326         Adapt CC Mode for C++11 uniform initialization.
44328         For fontification, introduce a new "context", 'non-decl, to be used for
44329         brace
44330         lists; also a new value for the property 'c-type, called 'c-not-decl.
44332         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
44333         an ostensible symbol we're going to move over isn't a keyword.
44334         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
44335         (hence a declaration), and an unmatched open paren, perform
44336         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
44337         Whilst checking a type decl expression, check for and handle C++11's "copy
44338         initialization", where we have <type>(<constant>).  Recognize
44339         <id><id>(... (where the paren is unclosed) as a declaration.
44340         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
44341         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
44342         valid tokens other than "=".  Recognize a bracelist when preceded by a
44343         template declaration.
44344         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
44345         much inline code.
44346         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
44347         initialization starting "({" as an in-expression block, by checking for
44348         semicolons, as opposed to commas, separating elements inside it.
44349         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
44350         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
44351         preceding "=".  (CASE B-5): New code to recognize new construct "return {
44352         ...}".
44353         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
44354         "return", or "{" preceded by <type><identifier> as a bracelist.
44356         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
44357         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
44358         search for "," rather than calling c-forward-decl-or-cast-1.
44360         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
44361         constants/variables to recognize "return".
44362         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
44363         which, when preceding an identifier followed by a brace, signify the brace as
44364         a bracelist.
44366         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
44367         the start of a "local" declaration, move out from an enclosing brace when
44368         that is the start of a brace list.
44370 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44372         Update from gnulib
44374         This incorporates:
44375         2016-08-17 maint: preprocessor changes to support z/OS
44376         2016-08-17 string: rename to avoid '__string'
44377         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
44378         Copy from gnulib.
44380 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44382         Minor text-quoting-style fixes
44384         * src/charset.c (check_iso_charset_parameter):
44385         * src/frame.c (store_frame_param):
44386         * src/xselect.c (x_fill_property_data):
44387         Use grave accent for left single quote in ‘error’ format strings.
44389 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
44391         Fix semantics of 'minibuffer' frame parameter
44393         The 'minibuffer' frame parameter is now t for a normal frame
44394         (a frame with a root window plus a minibuffer window) and the
44395         frame's minibuffer window for a minibuffer-less frame (a frame
44396         whose minibuffer window is on another frame).  See also:
44397         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
44399         * src/frame.c (make_frame, make_frame_without_minibuffer)
44400         (make_minibuffer_frame): When assigning the frame's minibuffer
44401         window also store corresponding 'minibuffer' frame parameter.
44402         (store_frame_param): Move the 'minibuffer' parameter checks to
44403         the beginning so we can silently override the value before it
44404         gets stored in the parameter alist.  Fix error handling.
44405         (Fframe_parameters): Return value of 'minibuffer' parameter
44406         unmodified.
44408         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
44409         the parameter is a minibuffer window, save (minibuffer . nil)
44410         instead of (minibuffer . t).
44411         (frameset--reuse-frame): To find a non-minibuffer-only frame
44412         look out for a frame whose 'minibuffer' parameter is t instead
44413         of that frame's minibuffer window.
44414         (frameset-minibufferless-first-p): To find a minibuffer-less
44415         frame look out for a frame whose 'minibuffer' parameter is a
44416         window instead of nil.
44418 2016-08-20  Alan Mackenzie  <acm@muc.de>
44420         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
44422 2016-08-20  Alan Mackenzie  <acm@muc.de>
44424         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
44426         Check the limit both at macro expansion time (for a hard coded nil) and at run
44427         time in the generated code.  Tidy up these macros generally.
44429         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
44430         not identically nil before generating a narrow-to-region call.  Generate code
44431         to check `limit' is not nil at run time.
44432         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
44433         narrow-to-region, instead calling c-safe-scan-lists directly.
44434         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
44435         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
44436         to determine the destination position instead of generating a redundant
44437         narrow-to-region.
44439 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
44441         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
44443         The docstring referenced a non-existant parameter, as well as a
44444         parameter that has been renamed since the docstring was written. Fix
44445         both errors, fixing (Bug#24182).
44447 2016-08-19  Alan Mackenzie  <acm@muc.de>
44449         Amend hack-local-variables-prop-line not always to return any mode on line 1.
44451         This fixes bug #24266.
44453         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
44454         parameter mode-only to handle-mode.  Change its meaning, such that it being
44455         set to a value non-nil and not t removes any mode parameter from the result
44456         list.  Leave its values nil and t with the same meanings they had.
44457         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
44459 2016-08-19  Daiki Ueno  <ueno@gnu.org>
44461         Improve doc string of epg-*-program
44463         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
44464         Suggest to use Customize when setting.  (Bug#24229)
44466 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
44468         Add tests for Bug#24264
44470         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
44471         Add test for Bug#24264.
44472         (cl-seq-fill-test, cl-seq-replace-test)
44473         (cl-seq-remove-test ,cl-seq-delete-test)
44474         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
44475         (cl-seq-nsubstitute-test, cl-seq-position-test)
44476         (cl-seq-count-test, cl-seq-mismatch-test)
44477         (cl-seq-search-test, cl-seq-test-bug24264):
44478         Add tests for all functions in the file; test all keywords.
44480 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
44482         Fix bug in --eval reply message from server
44484         * lisp/server.el (server-reply-print): Fix check for truncated quote
44485         sequence at end of message. Problem reported in:
44486         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
44488 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
44490         Add tests for 'substitute-command-keys'
44492         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
44493         tests.
44495 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
44497         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
44499         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
44500         `completing-read'.
44502 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
44504         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
44506         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
44507         without any files being extracted.
44509 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
44511         Don't let window start override window point in `window-state-put' (Bug#24240)
44513         * lisp/window.el (window--state-put-2): Set 'noforce argument
44514         when restoring a window's start position.  This avoids that the
44515         effect of `set-window-point' gets overidden by that of
44516         `set-window-start' (Bug#24240).
44518 2016-08-17  Alan Mackenzie  <acm@muc.de>
44520         Fontify constructs following "::" in C++ argument lists correctly - part 2.
44522         This fixes bug #24246.
44524         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
44525         `save-match-data' around the new `looking-at' introduced by the previous CC
44526         Mode patch this evening.
44528 2016-08-17  Alan Mackenzie  <acm@muc.de>
44530         Fontify constructs following "::" in C++ argument lists correctly.
44532         This fixes bug #24246.
44534         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
44535         match" loop, test a found string for a match with c-opt-identifier-concat-key
44536         (e.g. with "::").
44538 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
44540         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
44542 2016-08-17  K. Handa  <handa@gnu.org>
44544         Fix hz encoding and decoding (bug#23814)
44546         * lisp/language/china-util.el (decode-hz-region): Pay
44547         attention to "~~}" sequence at the end of Chinese character
44548         range.
44549         (hz-category-table): New variable.
44550         (encode-hz-region): Convert non-encodable characters to
44551         \u... and \U...  Preserve ESC on ecoding.  Put
44552         `chinese-gb2312' `charset' text property in advance to force
44553         iso-2022-encoding to select chinese-gb2312 designation.
44555 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
44557         file-attribute-collect: New defun
44559         * lisp/files.el (file-attribute-collect):
44560         Return a sublist of the attributes returned by 'file-attributes'.
44561         Suggested by Ted Zlatanov in:
44563         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
44565 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
44567         Fix Bug#24203
44569         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
44571 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
44573         Improve doc string.
44575         * src/fileio.c (Ffile_name_as_directory): Be precise about the
44576         conditions under which a slash is appended.
44578 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
44580         Omit substitute-command-keys code no longer needed
44582         * src/doc.c (Fsubstitute_command_keys):
44583         Remove duplicate initializations.
44585 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
44587         Allow not erase output buffer in shell commands
44589         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
44590         not erasing the output buffer between shell commands.  Defaults to nil.
44591         (shell-command-on-region): Use it.
44592         (shell-command--save-pos-or-erase): New defun; store a buffer position
44593         if 'shell-command-not-erase-buffer' is non-nil; otherwise
44594         erase the output buffer of the shell command.
44595         (shell-command, shell-command-on-region): Use it.
44596         (shell-command--set-point-after-cmd): New defun;
44597         if 'shell-command-not-erase-buffer' is non-nil, set point
44598         in the output buffer to the position in 'shell-command-saved-pos'.
44599         (shell-command-sentinel, shell-command-on-region): Use it.
44600         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
44601         Document this feature in the manual.
44602         See discussion on:
44603         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
44605 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
44607         Rearrange Tramp manual title page
44609         * doc/misc/tramp.texi: Move @insertcopying out of the title
44610         page.  Do not use @ifnottex anymore.
44612 2016-08-15  Glenn Morris  <rgm@gnu.org>
44614         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
44616 2016-08-15  Alan Mackenzie  <acm@muc.de>
44618         Fix minor bug in c-syntactic-re-search-forward.
44620         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
44621         non-nil, and the first internal search attempt fails, point wrongly ends up at
44622         BOUND, rather than just before the next closing paren.
44624         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
44625         the above situation.
44627 2016-08-15  Alan Mackenzie  <acm@muc.de>
44629         Handle C++11 lambda functions.
44631         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
44632         handle C++ lambda functions.
44633         (c-looking-at-c++-lambda-capture-list): New function.
44635         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
44636         parameter list of a lambda function and set `context' and
44637         `c-restricted-<>-arglists' suitably for it.
44638         (c-font-lock-c++-lambda-captures): New function.
44639         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
44641         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
44642         New language constants/variables.
44643         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
44645         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
44646         function capture list.
44648 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
44650         Fix stale cache problem in Tramp
44652         * lisp/net/tramp-cache.el (tramp-get-connection-property):
44653         Check, that a process as key is still running.  (Bug#22478)
44655 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
44657         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
44659 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
44661         Another fix for scroll-conservatively and overlay strings
44663         * src/xdisp.c (redisplay_window): Handle also the case where the
44664         calculated window-start point has an overlay string touching it.
44665         (Bug#24179)
44667 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
44669         Improve handling of defcustoms in tramp
44671         * doc/misc/tramp.texi: Protect all multi-line examples by
44672         @group ... @end group.  Use proper `custom-set-variables'
44673         examples.  Use consequently @option for user options.  Remove
44674         superfluous @cindex and @vindex entries.
44675         (Top): Remove reference to outdated mail archives.
44676         (Configuration): Tune references.
44677         (Default Method): Make `tramp-default-method' and
44678         `tramp-default-method-alist' a @defopt.
44679         (Default User): Make `tramp-default-user' and
44680         `tramp-default-user-alist' a @defopt.
44681         (Default Host): Make `tramp-default-host' and
44682         `tramp-default-host-alist' a @defopt.
44684         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
44685         (tramp-backup-directory-alist, tramp-auto-save-directory)
44686         (tramp-encoding-shell, tramp-encoding-command-switch)
44687         (tramp-encoding-command-interactive, tramp-default-method)
44688         (tramp-default-method-alist, tramp-default-user)
44689         (tramp-default-user-alist, tramp-default-host)
44690         (tramp-default-host-alist, tramp-default-proxies-alist)
44691         (tramp-save-ad-hoc-proxies)
44692         (tramp-restricted-shell-hosts-alist)
44693         (tramp-local-end-of-line, tramp-rsh-end-of-line)
44694         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
44695         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
44696         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
44697         (tramp-terminal-prompt-regexp)
44698         (tramp-operation-not-permitted-regexp)
44699         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
44700         (tramp-syntax, tramp-chunksize)
44701         (tramp-process-connection-type, tramp-connection-timeout)
44702         (tramp-connection-min-time-diff)
44703         (tramp-completion-reread-directory-timeout):
44704         * lisp/net/tramp-adb.el (tramp-adb-program)
44705         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
44706         * lisp/net/tramp-cache.el (tramp-connection-properties)
44707         (tramp-persistency-file-name):
44708         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
44709         (tramp-gvfs-zeroconf-domain)
44710         (tramp-bluez-discover-devices-timeout):
44711         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
44712         (tramp-copy-size-limit, tramp-terminal-type)
44713         (tramp-histfile-override)
44714         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
44715         (tramp-remote-process-environment, tramp-sh-extra-args):
44716         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
44717         (tramp-smb-conf, tramp-smb-winexe-program)
44718         (tramp-smb-winexe-shell-command)
44719         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
44721 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
44723         Minor text-quoting-style fixes
44725         * lisp/cus-edit.el (custom-buffer-create-internal):
44726         * lisp/recentf.el (recentf-edit-list):
44727         Follow text-quoting-style preference when quoting in UI strings.
44728         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
44729         quotes are substituted for, as this is no longer true.
44731 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
44733         Fix substitute-command-keys unibyte, alloc bugs
44735         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
44736         unibyte strings and with buffer allocation.  Make strings
44737         multibyte, to avoid problems with unibyte strings that are not
44738         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
44739         O(N), not O(N**2).  Avoid going past the end of the input string
44740         when given invalid input.  Avoid some unlikely problems in
44741         accessing the wrong storage after a GC.
44743 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
44745         Fix "C-u" when an input method is active
44747         * lisp/international/quail.el (quail-input-method): Defer to the
44748         input method iff 'overriding-terminal-local-map' is
44749         'universal-argument-map' and the given key has no binding there.
44750         (Bug#22958)
44752 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
44754         Fix docs on `display-buffer-below-selected' (Bug#24213)
44756         * lisp/window.el (display-buffer-below-selected): Fix
44757         doc-string (Bug#24213).
44758         * doc/lispref/windows.texi (Display Action Functions): Fix
44759         documentation of `display-buffer-below-selected'.
44761 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
44763         cl-fill: Rename arguments to cl-seq and cl-item
44765         * lisp/emacs-lisp/cl-seq.el (cl-fill):
44766         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
44768 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
44770         Fix display.texi typo
44772         * doc/lispref/display.texi (Faces): Fix typo.
44774 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
44776         Fix process leak with make-network-process
44778         This problem was introduced by the recent async changes (Bug#23808).
44779         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
44780         so that it follows the start_process_unwind unwind-protect.
44781         Set pid to -1 while the process is being created.
44782         (start_process_unwind): Omit unnecessary emacs_abort test.
44783         (connect_network_socket): Simplify use of counts.  Unwind
44784         bind_polling_period a bit earlier, so that a remove_process
44785         unwind-protect can be added when needed; this is the heart of
44786         the fix.  Undo the unwind-protect just before returning.
44788 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
44790         Avoid annoying re-scroll when buffer has many overlay strings
44792         * src/xdisp.c (redisplay_window): Add better recovery from a
44793         situation where window-start is on buffer position which has a
44794         before-string that includes newlines, with the result that point
44795         is not visible in the window, because the display engine starts
44796         displaying with the before-string.  (Bug#24179)
44798 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
44800         Omit unnecessary process initialization
44802         * src/process.c (make_process, Fmake_process)
44803         (Fmake_pipe_process, Fmake_serial_process)
44804         (Fmake_network_process, server_accept_connection):
44805         Omit unnecessary initialization of already-cleared storage.
44807 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
44809         cl-delete-duplicates: Parse :if to have cl-if bound
44811         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
44812         We need also to parse keyword :if, otherwise cl-if
44813         is unbound.
44814         This reverts commit:
44815         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
44817 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
44819         cl-delete-duplicates: do not parse :if keyword
44821         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
44822         Parse only the supported keywords.
44824 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
44826         Add compatibility layer for `temporary-file-directory-function'
44828         * lisp/net/tramp-compat.el
44829         (tramp-compat-temporary-file-directory-function): New defalias.
44831         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
44833         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
44834         Skip for older Emacs versions.
44836 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
44838         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
44840         (Bug#24059)
44842 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
44844         Handle nil cell value in compiled printer functions.
44846         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
44847         ses-range `!' modifier.
44848         (More on cell printing): Fix this that the fallback printer is
44849         `ses-prin1', not "%S".  That makes a difference for any cell value for
44850         which "%S" would insert a backslash characters.
44852         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
44853         --- contrary to emacs-25 branches ses-call-printer does not handle
44854         prior to calling a function printer.  Not doing this would still work
44855         because the compiled function would throw and error and SES would in
44856         the end resort to the ses-prin1 fallback, however this way would not
44857         be in line with the raison d'être of compiling printer which is speed.
44859 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
44861         Turn on lexical-binding in json.el
44863         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
44864         showed 12-31% reduction in execution time.
44865         * lisp/json.el: Turn on lexical-binding.
44867 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
44869         Nudge WoMan toward lexical-binding
44871         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
44872         Use cl-pushnew instead of add-to-list.
44873         (woman-justify-list): Rename to woman-justify-styles.
44874         (woman-justify-styles): New array.
44875         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
44876         (woman-cached-data): Use cl-pushnew instead of add-to-list.
44878 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
44880         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
44882         Here follows the logs from the two commits which I apply to master.
44884         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
44885         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
44886         Date:   Fri Jul 29 13:44:14 2016 +0200
44888         Fix ses-delete-blanks to delete only blanks + documentation.
44890         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
44891         'ses-range' modifier as an alternative to 'ses+'.
44892         (Advanced Features): Add a refernce to node 'Nonrelocatable
44893         references' concerning function 'ses-rename-cell'.
44894         (Standard formula functions): Mention the '!' 'ses-range'
44895         modifier as an alternative to 'ses-delete-blanks'.
44896         (More on cell printing): Fix fallback printer
44897         definition.  Minor editorial formatting changes.
44898         (Nonrelocatable references): Document the use of
44899         'ses-rename-cell' as a better way to make cell reference
44900         non-relocatable.
44901         (The data area): Document the presence of local printer
44902         definitions in the data area.
44904         * lisp/ses.el (ses-delete-blanks): Do not remove
44905         *error*.  Any error in an argument should propagate into the
44906         using formula rather than being silently hidden !
44908         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
44909         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
44910         Date:   Thu Jul 28 19:49:37 2016 +0200
44912         Fix local printer set to left aligned string formatter.
44914         * lisp/ses.el (ses-local-printer-compile): Add missing case
44915         for left-aligned string formatter.
44917 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
44919         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
44921 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
44923         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
44925         Change the code which detects and circumvents the case where one of the
44926         variables used in λ-lifting is shadowed, so that it also works when the
44927         shadowing comes before the λ-lifted function (bug#24171).
44929         (cconv--remap-llv): New function, extracted from cconv-convert.
44930         (cconv-convert): Use it, but differently for `let' and `let*'.
44932 2016-08-09  Alan Mackenzie  <acm@muc.de>
44934         CC Mode: check for and fix missing call to before_change_functions.
44936         Fixes bug #24094 and bug #24074.
44938         This can happen with `revert-buffer' or sometimes `find-file', when the file
44939         is already in a buffer, but the file has been changed outside of Emacs.
44941         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
44942         invocation of c-before-change-functions, we assume the changed region is the
44943         entire buffer, and call c-before-change explicitly before proceding.
44945 2016-08-09  Alan Mackenzie  <acm@muc.de>
44947         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
44949         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
44951 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
44953         Support $ENV in Tramp
44955         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
44957         * etc/NEWS: Explain the "ENV" environment variable in
44958         `tramp-remote-process-environment'.
44960         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
44961         (tramp-open-shell): Read $ENV value from
44962         `tramp-remote-process-environment'.
44963         (tramp-open-connection-setup-interactive-shell): Set values in
44964         proper order.
44966 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
44968         Simplify exec_byte_code via moving decls etc.
44970         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
44971         initializers into decls, and by omitting some unnecessary
44972         changes to ‘top’.  This improves performance a bit on x86-64,
44973         as it happens.
44975 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
44977         Remove interpreter’s byte stack
44979         This improves performance overall on my benchmark on x86-64,
44980         since the interpreted program-counter resides in a machine
44981         register rather than in RAM.
44982         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
44983         is no longer a byte stack to decode.
44984         * src/bytecode.c (struct byte_stack, byte_stack_list)
44985         (relocate_byte_stack): Remove.  All uses removed.
44986         (FETCH): Simplify now that pc is now local (typically, in a
44987         register) and no longer needs to be relocated.
44988         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
44989         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
44990         (exec_byte_code): Allocate a copy of the function’s bytecode,
44991         so that there is no problem if GC moves it.
44992         * src/lisp.h (struct handler): Remove byte_stack member.
44993         All uses removed.
44994         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
44995         SAFE_ALLOCA_LISP.
44996         (SAFE_ALLOCA_LISP): Use it.
44998 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45000         Remove arbitrary limit on bytecode maxdepth
45002         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
45003         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
45005 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45007         Tune bytecode quitting
45009         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
45010         check only once every 256 times.  This should be good enough, and
45011         improves performance significantly on x86-64 as branch-prediction
45012         typically assumes checking will not be done so the instruction
45013         pipeline stays fuller.
45014         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
45015         directly, as BYTE_CODE_QUIT does that now.
45017 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45019         Simplify BYTE_CODE_SAFE checking
45021         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
45022         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
45023         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
45024         expressions instead of #if expressions when this is easy.
45025         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
45026         as it is no longer needed.
45027         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
45028         Simplify stack-overflow checking when BYTE_CODE_SAFE.
45030 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45032         Get BYTE_CODE_METER working again
45034         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
45035         noticed.  Perhaps we should remove it?
45036         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
45037         Use *aref_addr instead of AREF, since it needs to be an lvalue.
45039 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
45041         Fix cursor position under scroll-conservatively and overlay strings
45043         * src/xdisp.c (try_scrolling): Handle the case where the last
45044         visible screen line of a window displays a before- or after-string
45045         that takes up the whole screen line, and therefore there's no
45046         place to display the cursor, even though the window does seem to
45047         include the position of point.  (Bug#24179)
45049 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
45051         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
45053 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
45055         Tune interpretation of integer arglist descriptor
45057         * src/bytecode.c (exec_byte_code):
45058         Simplify and tune when INTEGERP (args_template).
45060 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
45062         Fix debugging of string-match-p errors
45064         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
45065         that debugger code that needs to do regexp match won't break
45066         (Bug #23949, Bug #24166, Bug#16294).
45068 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
45070         Add `make-nearby-temp-file' and `temporary-file-directory'
45072         * doc/lispref/files.texi (Unique File Names):
45073         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
45074         (Magic File Names): Mention `make-nearby-temp-file' and
45075         `temporary-file-directory'.
45077         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
45078         `temporary-file-directory'.
45080         * lisp/files.el (mounted-file-systems): New defcustom.
45081         (temporary-file-directory, make-nearby-temp-file): New defuns.
45082         (normal-backup-enable-predicate): Fix docstring.
45084         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
45085         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
45086         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
45087         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
45088         <make-nearby-temp-file, temporary-file-directory>: Add handler.
45090         * lisp/net/tramp.el (tramp-file-name-for-operation):
45091         Add `make-nearby-temp-file' and `temporary-file-directory'.
45092         (tramp-get-remote-tmpdir): Remove compatibility code.
45093         (tramp-handle-temporary-file-directory)
45094         (tramp-handle-make-nearby-temp-file): New defuns.
45096         * lisp/org/ob-core.el (org-babel-local-file-name):
45097         * lisp/progmodes/gud.el (gud-common-init):
45098         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
45100         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
45102         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
45103         Check `tramp--test-enabled'.
45104         (tramp-test18-file-attributes): Add tests for
45105         `file-ownership-preserved-p'.
45106         (tramp-test27-start-file-process, tramp-test28-shell-command):
45107         Reduce timeouts in `accept-process-output'.
45108         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
45109         (tramp-test29-environment-variables): Remove additional sleep calls.
45110         (tramp-test32-make-nearby-temp-file): New test.
45111         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
45112         (tramp-test33-special-characters)
45113         (tramp-test33-special-characters-with-stat)
45114         (tramp-test33-special-characters-with-perl)
45115         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
45116         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
45117         (tramp-test34-utf8-with-ls)
45118         (tramp-test35-asynchronous-requests)
45119         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
45120         (tramp--test-ftp-p): Simplify check.
45121         (tramp--test-sh-p): New defun.
45122         (tramp-test20-file-modes, tramp-test22-file-times)
45123         (tramp-test26-process-file, tramp-test27-start-file-process)
45124         (tramp-test28-shell-command)
45125         (tramp-test29-environment-variables)
45126         (tramp-test30-vc-registered)
45127         (tramp-test33-special-characters-with-stat)
45128         (tramp-test33-special-characters-with-perl)
45129         (tramp-test33-special-characters-with-ls)
45130         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
45131         (tramp-test34-utf8-with-ls)
45132         (tramp-test35-asynchronous-requests): Use it.
45134 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
45136         Add missing dcstrings in Tramp, remove chec for obsolee methods
45138         * lisp/net/tramp.el (tramp-progress-reporter-update)
45139         (tramp-unload-file-name-handlers, tramp-get-local-uid)
45140         (tramp-get-local-gid, tramp-get-local-locale):
45141         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
45142         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
45143         * lisp/net/tramp-compat.el (tramp-compat-funcall):
45144         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
45145         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
45146         * lisp/net/tramp-sh.el (tramp-get-remote-path)
45147         (tramp-get-remote-locale, tramp-get-ls-command)
45148         (tramp-get-ls-command-with-dired)
45149         (tramp-get-ls-command-with-quoting-style)
45150         (tramp-get-ls-command-with-w-option)
45151         (tramp-get-test-nt-command, tramp-get-file-exists-command)
45152         (tramp-get-remote-ln, tramp-get-remote-perl)
45153         (tramp-get-remote-stat, tramp-get-remote-readlink)
45154         (tramp-get-remote-trash, tramp-get-remote-touch)
45155         (tramp-get-remote-gvfs-monitor-dir)
45156         (tramp-get-remote-inotifywait, tramp-get-remote-id)
45157         (tramp-get-remote-uid-with-id)
45158         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
45159         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
45160         (tramp-get-remote-gid-with-id)
45161         (tramp-get-remote-gid-with-perl)
45162         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
45163         (tramp-get-env-with-u-option): Add missing docstrings.
45165         * lisp/net/tramp.el (tramp-obsolete-methods)
45166         (tramp-warned-obsolete-methods): Remove.
45167         (tramp-find-method): Do not check for obsolete methods any longer.
45169 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
45171         Make sh-mode always use p-s-lookup-properties
45173         This lets functions which rely on syntax-propertize for parsing
45174         work correctly even before font lock has a chance to run.
45176         * lisp/progmodes/sh-script.el (sh-set-shell): Set
45177         parse-sexp-lookup-properties unconditionally (Bug #4920).
45179 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
45181         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
45183         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
45184         list when showing its (non-existent) arguments (Bug #18587).
45186 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
45188         Don't delete selection after indent-rigidly
45190         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
45191         function to `set-transient-map', this prevents `delete-selection-mode'
45192         from deleting the text that was just indented (Bug #20408).
45194 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
45196         Fix byte-compile of interactive closures
45198         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
45199         bindings after docstring and `interactive' form, if any (Bug #24122).
45201 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
45203         Error if --eval arg has text beyond 1 expression
45205         * lisp/startup.el (command-line-1): If --eval argument has more data
45206         than constitutes a single Lisp expression, signal an error (Bug #23159).
45208 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
45210         Fix quoted lambda warning from lexical-let
45212         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
45213         with `function', not `quote' (Bug #11357).
45215 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
45217         Make emerge always use shell-quote-argument
45219         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
45220         (emerge-protect-metachars): Delete.
45221         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
45222         `emerge-protect-metachars' with `shell-quote-argument' so that shell
45223         quoting is done the same on all system types (Bug #6136).  Also shell
45224         quote `emerge-diff-program' and `emerge-diff3-program'.
45226 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
45228         Fix 'dired-diff' when backup file is in another directory
45230         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
45231         the default for FILE is computed, especially when backup files
45232         are involved.  Support backup files in another directory.
45233         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
45235 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
45237         Fix the 'T' command in Dired with non_ASCII file names
45239         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
45240         to correctly encode file names passed to the invoked PROGRAM.
45241         (Bug#24162)
45243 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
45245         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
45247 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45249         Merge from origin/emacs-25
45251         d841a03 ; Spelling fix
45252         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
45253         d35d398 Update to the AUTHORS file for Bob Weiner
45254         4d2f4df Revert "Fix local printer set to left aligned string formatter."
45255         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
45256         f7ceb8e Revert "Fix English."
45257         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
45258         aa4271a Fix doc string of 'minibuffer-message-timeout'
45259         b275cc7 Fix English.
45260         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
45261         272391f profiler: document prefix arg for tree expansion
45262         442cc39 Clarify usage of eshell-visual-options
45263         b443c3c Fix comment in files-in-below-directory
45264         8a38e94 Fix local printer set to left aligned string formatter.
45265         0f0b191 ; Fix typos in NEWS
45266         6bdf687 ; * etc/NEWS: Remove temporary marks
45268 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45270         Merge from origin/emacs-25
45272         d08afa1 * etc/AUTHORS: Update the AUTHORS file
45273         2668500 ;; * ChangeLog.2: ChangeLog update.
45274         7acfaea ; ChangeLog fixes
45275         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
45276         9ab52f6 * admin/authors.el: Additions.
45277         0e646c7 Warn about Cairo-related problems
45278         bc4c07f Don't let completion break `declare' handling
45279         66f95e0 Adjust match data before calling after-change-funs
45280         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
45281         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
45283         # Conflicts:
45284         #       ChangeLog.2
45285         #       src/lisp.h
45287 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45289         Merge from origin/emacs-25
45291         9a41cd1 ; Fix typo
45292         9356fe2 Expand FIXME near definition of fboundp
45293         219b39f kill-rectangle should mention killed-rectangle
45294         59fa4c3 Avoid assertion violations in nhexl-mode
45296 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45298         Merge from origin/emacs-25
45300         9ba51ed Document buffer-swap-text+save-excursion interaction
45301         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
45302         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
45303         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
45304         05ba7a0 Add test for handling environment variables in Tramp
45305         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
45306         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
45307         90f2169 ; Spelling fixes
45308         069fc05 Improve documentation of search functions
45309         0a0144a Delete environment variables in Tramp when needed
45310         f624671 Add "New in Emacs 25" section to the FAQ
45311         658daf9 Fix 'vertical-motion' in non-interactive sessions
45312         686b520 Fix memory leak in imagemagick-types
45313         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
45314         1b2d6a6 Clarify docstring of find-feature-regexp
45315         aac62a6 Add details to cl-lib defining macros' docstrings
45316         d6aa4da Clarify doc string of 'save-buffer'
45317         03bcf11 Un-confuse doc string of 'string-collate-equalp'
45318         c53135b Clarify documentation of 'mouse-on-link-p'
45320         # Conflicts:
45321         #       lisp/emacs-lisp/eieio-core.el
45323 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45325         Merge from origin/emacs-25
45327         6f285d9 Amend last addition to etc/PROBLEMS
45328         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
45330 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45332         Merge from origin/emacs-25
45334         d4c6774 Fix missing point information in undo
45335         3a9d629 Avoid crashes when buffer modification hooks clobber match data
45336         178b2f5 Note combine-and-quote-strings doesn't shell quote
45337         dec7567 Explain when package-initialize isn't called
45338         113d1e2 Fix escaping in sh-indent-after-continuation docstr
45339         80e2044 ; * etc/NEWS: Improve previous change.
45340         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
45341         38f4b8e Clarify the documentation of back-references in replacements
45343 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45345         Merge from origin/emacs-25
45347         850ba44 Clarify lexical binding with symbol args behavior
45348         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
45349         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
45350         21110af Avoid assertion violations when rendering some fonts
45351         6192b6c Document more details of package activation
45352         272ddc6 Fixup warning message regarding HOME a bit more
45353         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
45354         d41f7ff Fix input method "probhat" for Bengali
45355         c150a64 ; Fix typo in commit before last
45356         ebf0472 Add to elisp-completion-at-point's docstring
45357         fd9fad0 Give more helpful warning about setting HOME
45358         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
45360         # Conflicts:
45361         #       lisp/term.el
45363 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45365         Merge from origin/emacs-25
45367         26d4da0 New input method "probhat" for Bengali
45368         4f445bf ; Spelling fix
45369         f403f03 ; Fix typo
45371 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
45373         Spelling and minor grammar fixes
45375         * test/file-organization.org: Rename from test/file-organisation.org.
45377 2016-08-04  Alan Mackenzie  <acm@muc.de>
45379         Widen in certain low level CC Mode functions.  This fixes bug #24148.
45381         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
45382         (c-state-full-pp-to-literal): Widen around the functionality.
45383         (c-parse-ps-state-below): Correct the order of save-excursion and
45384         save-restriction.
45386 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
45388         Fix Bug#24149
45390         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
45391         overriding-terminal-local-map.  (Bug#24149)
45393 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45395         Update from gnulib
45397         This incorporates:
45398         2016-07-03 mktime: call tzset as per POSIX
45399         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
45400         Copy from gnulib.
45402 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45404         Fix GnuTLS includes
45406         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
45407         a second time; although it doesn’t hurt, it’s not needed.
45408         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
45409         as it may not be available.  Problem reported by Glenn Morris in:
45410         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
45412 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
45414         Fix accessing regex-resources in out-of-tree test runs in regex-tests
45416         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
45417         fix regex-tests failing when run from the source tree (i.e. via make)
45418         by hard-coding path to regex-resources directory relative to the test
45419         directory.
45421         This fixed runs from the tree but broke the test when run using other
45422         methods.
45424         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
45426         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
45427         storing path to the regex-resources directory.
45428         (regex-tests-generic-line): Use aforementioned variable.
45430 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45432         Simplify by assuming GnuTLS 2.12.2 or later
45434         * src/gnutls.c (gnutls_certificate_details):
45435         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
45437 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45439         Port to systems lacking GNUTLS_NONBLOCK
45441         Problem reported by Colin Baxter in:
45442         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
45443         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
45445 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45447         Fix non-blocking GnuTLS with slow connection
45449         Although the problem is reported for OS X (Bug#23982), it seems to
45450         be possible on other POSIXish platforms.
45451         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
45452         New function.
45453         (emacs_gnutls_handshake) [!WINDOWSNT]:
45454         Use it as the errno function, if non-blocking.
45455         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
45457 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
45459         Require GnuTLS 2.12.2 or later
45461         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
45462         instead of merely 2.6.6 or later (Bug#23982#20).
45463         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
45464         [WINDOWSNT]: Don’t bother with gnutls_check_version or
45465         gnutls_transport_set_lowat, as they are no longer needed now that
45466         we require gnutls 2.12.2 or later.
45468 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
45470         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
45472         * src/window.h (sanitize_window_sizes): Adjust prototype.
45473         * src/frame.c (adjust_frame_size): Adjust calls.
45475 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
45477         Fix (mapcar F S) crash when F alters S’s length
45479         * src/fns.c (mapcar1): Return number of elements computed,
45480         which can be less than LENI if the function alters the list.
45481         All callers changed.  (Bug#24118)
45483 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
45485         Port window changes to --enable-gcc-warnings
45487         * src/window.c (sanitize_window_sizes): Return void.
45488         This pacifies GCC, and no caller uses the return value anyway.
45490 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
45492         * src/window.c: Fix bootstrap failure due to window.el changes
45494         (sanitize_window_sizes): Adjust to new calling convention of
45495         window--sanitize-window-sizes and only call it if defined.
45496         (Fwindow__sanitize_window_sizes): Remove.
45497         (syms_of_window): Don't defsubr it.
45499 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
45501         Fix Bug#23883
45503         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
45504         Call `process-actions' with adapted position.  The connection
45505         buffer might have been cleaned up already.  (Bug#23883)
45507 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
45509         Port regex changes to strict ISO C
45511         * src/regex.c (regex_compile): Redo casts.
45513 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
45515         * lisp/window.el: Use lexical-binding
45517         (window--min-size-ignore-p): Remove unused arg `horizontal'.
45518         (window--sanitize-window-sizes): Remove unused arg `frame'.
45519         (window-edges): Remove unused vars left-off and right-off.
45520         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
45521         Avoid extraneous setq and do a bit of CSE.
45522         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
45523         and `toolbar-extra-height'.
45524         (window-adjust-process-window-size): Remove unused arg `process'.
45526 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45528         Fix unused lexical variable
45530         This fixes the following warning:
45532             In toplevel form:
45533             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
45535         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
45536         variable.
45538 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45540         Remove unused STREQ macro
45542         This fixes the following compilation warning:
45544             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
45545              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
45546              ^
45548         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
45549         in a [4538a5e: Refactor regex character class parsing in [:name:]]
45550         commit but was mistakenly left out.
45552 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
45554         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
45555         load-history format
45557         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
45558         (cl-generic-define-method, cl--generic-describe): Use it.
45559         (cl--generic-search-method): Adjust for new format.
45561         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
45562         * test/lisp/progmodes/elisp-mode-tests.el:
45563         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
45564         internal format.
45566 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45568         Hardcode regex syntax to remove dead code handling different syntax
45570         Emacs only ever uses its own regex syntax so support for other syntaxes
45571         is never used.  Hardcode the syntax so that the compilar can detect such
45572         dead code and remove it from compiled code.
45574         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
45575         specified.  Handle this separatelly with a function argument (replacing
45576         now unnecessary syntax argument).
45578         With this patchset, size of Emacs binary on x86_64 machine is reduced by
45579         around 60 kB:
45581                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
45582                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
45584         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
45585         (re_compile_pattern): Replace syntax with posix_backtracking argument.
45587         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
45588         (regex_compile): #ifdef emacs, replace syntax argument with
45589         posix_backtracking which is now used instead of testing for
45590         RE_NO_POSIX_BACKTRACKING syntax.
45591         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
45592         (re_compile_pattern): Replace syntax with posix_backtracking argument.
45594         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
45595         instead of syntax to re_compile_pattern.
45597 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45599         Get rid of re_set_whitespace_regexp
45601         * src/regex.h (re_set_whitespace_regexp): Delete.
45602         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
45604         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
45605         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
45606         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
45607         unless building Emacs.
45608         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
45610         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
45611         pass the regex as argument to re_compile_pattern instead.
45613 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45615         Get rid of re_set_syntax
45617         Instead of using a global variable for storing regex syntax, pass it
45618         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
45619         ‘#ifdef emacs’).
45621         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
45622         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
45624         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
45625         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
45627         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
45628         instead pass syntax to re_compile_pattern directly.
45630 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45632         Remove dead opcodes in regex bytecode
45634         There is no way to specify before_dot and after_dot opcodes in a regex
45635         so code handling those ends up being dead.  Remove it.
45637         * src/regex.c (print_partial_compiled_pattern, regex_compile,
45638         analyze_first, re_match_2_internal): Remove handling and references to
45639         before_dot and after_dot opcodes.
45641 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45643         Refactor regex character class parsing in [:name:]
45645         re_wctype function is used in three separate places and in all of
45646         those places almost exact code extracting the name from [:name:]
45647         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
45648         string, so the name of the character class is copied to a temporary
45649         buffer.
45651         The code duplication and unnecessary memory copying can be avoided by
45652         pushing the responsibility of parsing the whole [:name:] sequence to
45653         the function.
45655         Furthermore, since now the function has access to the length of the
45656         character class name (since it’s doing the parsing), it can take
45657         advantage of that information in skipping some string comparisons and
45658         using a constant-length memcmp instead of strcmp which needs to take
45659         care of NUL bytes.
45661         * src/regex.c (re_wctype): Delete function.  Replace it with:
45662         (re_wctype_parse): New function which parses a whole [:name:] string
45663         and returns a RECC_* constant or -1 if the string is not of [:name:]
45664         format.
45665         (regex_compile): Use re_wctype_parse.
45666         * src/syntax.c (skip_chars): Use re_wctype_parse.
45668 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45670         Split regex glibc test cases into separet tests
45672         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
45673         tests cases.
45674         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
45675         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
45676         from ‘regex-tests’.
45678 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45680         Don’t (require 'cl)
45682         * test/src/regex-tests.el: Don’t (require 'cl).
45683         (regex-tests-PCRE): s/loop/cl-loop/
45685 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
45687         Fix reading of regex-resources in regex-tests
45689         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
45690         ‘buffer-file-name’ does not work when running the test from command
45691         line, i.e. via make, which results in (wrong-type-argument stringp nil)
45692         failures.  Replace it with hard-coded path.
45693         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
45694         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
45695         the ‘regex-resources’ path component so the tests don’t need to specify
45696         it explicitly.
45698 2016-08-02  Dima Kogan  <dima@secretsauce.net>
45700         Added driver for the regex tests
45702         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
45703         cases.
45705         [mina86@mina86.com: merged test with existing file]
45707 2016-08-02  Dima Kogan  <dima@secretsauce.net>
45709         New regex tests imported from glibc 2.21
45711         * test/src/regex-resources/BOOST.tests:
45712         * test/src/regex-resources/PCRE.tests:
45713         * test/src/regex-resources/PTESTS:
45714         * test/src/regex-resources/TESTS:
45715         New test data files
45717         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
45719 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
45721         Fix use-after-close in connect_network_socket
45723         * src/process.c (connect_network_socket):
45724         Reverse sense of previous fix.  Problem reported by Ken Brown in:
45725         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
45727 2016-08-01  Glenn Morris  <rgm@gnu.org>
45729         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
45730         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
45732 2016-07-31  Stefan Merten  <stefan@merten-home.de>
45734         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
45736         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
45737         representing reStructuredText section header concepts.
45738         (rst-mode-map, rst-new-preferred-hdr)
45739         (rst-update-section, rst-classify-adornment)
45740         (rst-ttl-at-point, rst-all-ttls-cache)
45741         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
45742         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
45743         (rst-all-ttls-with-level, rst-get-previous-hdr)
45744         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
45745         (rst-adjust-section, rst-promote-region)
45746         (rst-display-hdr-hierarchy, rst-straighten-sections)
45747         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
45748         (rst-toc-insert-node, rst-toc-node, rst-toc)
45749         (rst-forward-section, rst-adornment-level)
45750         (rst-font-lock-handle-adornment-pre-match-form)
45751         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
45752         using classes.
45753         (rst-compare-adornments, rst-get-adornment-match): Remove
45754         functions now in classes.
45755         (rst-re-alist-def, rst-toc-mode)
45756         (rst-font-lock-extend-region-extend): Minor improvements.
45757         (rst-mode, rst-compile): Use `setq-local'.
45758         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
45759         (rst-official-version, rst-official-cvs-rev)
45760         (rst-package-emacs-version-alist): Maintain version tags.
45762 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
45764         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
45766         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
45767         bar width (Bug#24107).  Reindent.
45768         * src/xfns.c (frame_geometry): Fix calculation of tool bar
45769         width on non-GTK builds.
45771 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
45773         Fix region display while dragging mouse
45775         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
45776         buffer of the drag event, to allow mark to be set and the region
45777         be shown as we drag the mouse.  (Bug#24030)
45779 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
45781         Copy just non-empty strings to kill-ring
45783         * lisp/dired.el (dired-copy-filename-as-kill):
45784         Do not change the kill ring when the string is empty (Bug#24103).
45786 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
45788         Avoid warnings about undo list while decoding
45790         * src/coding.c (coding_restore_undo_list): New function.
45791         (decode_coding_gap, decode_coding_object): Temporarily set the
45792         buffer's undo list to t, to avoid warnings when decoding changes
45793         the buffer many times, e.g. due to post-read-conversion.  Use
45794         coding_restore_undo_list to make sure the undo list is restored.
45795         (Bug#23813)
45797 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
45799         profiler: Add mouse-1 binding for tree expansion
45801         (profiler-report-mode-map): Add mouse-1 binding for
45802         profiler-report-toggle-entry (Bug #13455).
45804 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
45806         Enable addition of local printers from a mode hook.
45808         * doc/misc/ses.texi (Printer functions): Split the node into 5
45809         sub-nodes + add some extra documentation.
45810         (Various kinds of printer functions): Make an itemization to
45811         disintguish better the 3 types of printers, give an example of
45812         lambda printer definition.
45813         (Standard printer functions): Add documentation for ses-prin1
45814         printer function.
45815         (Local printer functions): Add documentation for creating
45816         local printers programmatically from a hook.
45817         (Writing a lambda printer function): Add documentation about
45818         anti-stackoverflow precautions to take when you call the
45819         standard printer functions from inside a local printer.
45821         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
45822         among standard printer function, and update docstring
45823         accordingly.
45824         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
45825         of prin1-to-string.
45826         (ses-define-local-printer): Add definition to arguments so
45827         that a local printer can be defined programmatically from a
45828         mode hook.  Make docstring more substantial.  Use completing
45829         read for local printer name input.  Plus some minor
45830         optimization.
45831         (ses-define-if-new-local-printer): New defsubst.
45832         (ses-center, ses-center-span, ses-dashfill)
45833         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
45834         as an optional argument to superseed column printer/default
45835         spreadsheet printer.
45836         (ses-prin1): New defun.
45838 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
45840         Prompt to save gnus-cloud-method.
45842         Since `gnus-cloud-method' is a defcustom, when it's set, we should
45843         prompt the user to save it, so the customization is not lost on
45844         restart.
45846         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
45847         Prompt to save the customization of `gnus-cloud-method'.
45849 2016-07-27  Ken Brown  <kbrown@cornell.edu>
45851         Fix dired-test-bug22694
45853         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
45854         "bug22694" directory, if it exists, before running the test.  It
45855         might be left over from a previous aborted run of the test.
45857 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
45859         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
45861         * src/regex.c (mutually_exclusive_p): Fix how whether character is
45862         unibyte is tested when calling execute_charset function.  This bug has
45863         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
45864         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
45865         Reinstitute it.
45867 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
45869         Remove hook when disabling ibuffer-auto-mode
45871         * lisp/ibuf-ext.el (ibuffer-auto-mode):
45872         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
45874 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
45876         * lisp/subr.el (cancel-change-group): Reset cell in case of error
45878         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
45879         to make sure we properly undo the temporary change even in case of error.
45881 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
45883         Avoid segfaults in compute_motion
45885         * src/indent.c (compute_motion): Don't turn on and don't use the
45886         width cache unless the buffer's width-table is non-nil.  This
45887         avoids segfaults because code that uses the width cache assumes
45888         the width-table exists.  (Bug#24064)
45890 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
45892         Do not sharp-quote lambdas
45894         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
45896 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
45898         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
45899         'base64-gzip encoding.
45901 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
45903         Add warning to format-alist docs.
45905         */doc/lispref/files.texi (format-alist) Change documentation for
45906         format-alist to warn against file modifications when formatting, which
45907         leads to incorrect results.  (Bug#5440)
45909         Changes suggested by Eli.
45911 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
45913         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
45914         Preserve key bindings that shr adds (bug#23964).
45916 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
45918         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
45920         The regex engine tries to optimize Kleene star by avoiding backtracking
45921         when it can detect that star’s operand cannot match what follows it in
45922         the pattern.
45924         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
45925         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
45926         the entire string.  Literal digit one still present in the pattern will
45927         however not match the remaining empty string.
45929         Normally, backtracking would be performed trying a shorter match for the
45930         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
45931         engine knows whatever would be put back into the string cannot possibly
45932         match literal digit one so no backtracking will be attempted.
45934         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
45935         if the character class CC does not match character X.  In the above
45936         example, this holds because digit one is not in alpha character class.
45938         This test is performed by mutually_exclusive_p function but it did not
45939         check class bits of a charset opcode.  This resulted in an assumption
45940         that character classes do not match multibyte characters.  For example,
45941         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
45943         This, in turn, led to the aforementioned Kleene star optimization being
45944         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
45945         match ‘☠’ but doesn’t as can be tested by executing
45946             (string-match-p "[[:graph:]]*☠" "☠")
45947         which should return 0 but instead yields nil.
45949         This issue affects any class witch matches multibyte characters, i.e.
45950         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
45951         fail to match ‘X’.
45953         * src/regex.c (executing_charset): A new function for executing the
45954         charset and charset_not opcodes.  It performs check on the character
45955         taking into consideration existing bitmap, range table and class bits.
45956         It also advances the pointer in the regex bytecode past the parsed
45957         opcode.
45958         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
45959         Code now included in executing_charset.
45960         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
45961         of executing_charset function.
45963         * test/src/regex-tests.el: New file with tests for the character class
45964         matching.
45966 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
45968         Fix auto-reverting image-mode buffer (bug#21598)
45970         When auto-reverting an image buffer, `image-mode' is not called since
45971         `revert-buffer' is called with `preserve-modes' set to non-nil.
45973         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
45974         image display property for the current buffer before updating it.
45976 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45978         ‘signal’ no longer returns
45980         Although for decades ‘signal’ has been documented to not return,
45981         a corner case in the Lisp debugger causes ‘signal’ to return.
45982         Remove the corner case and adjust Emacs internals accordingly.
45983         An alternative would be to document the corner case, but this
45984         would complicate the Lisp API unnecessarily.  (Bug#24047)
45985         * src/eval.c (signal_or_quit): New function, with most of the
45986         old contents of Fsignal.
45987         (quit): New function, which uses signal_or_quit and which
45988         might return.  All keyboard-based callers of Fsignal (Qquit,
45989         Qnil) changed to use this new function instead.
45990         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
45991         changed.
45992         (xsignal): Move to lisp.h.
45993         * src/lisp.h (xsignal): Now an inline function, as it's now
45994         just an alias for Fsignal.
45996 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45998         Require libgnutls unless --with-gnutls=no
46000         * configure.ac: Report an error if the gnutls library is missing,
46001         unless --with-gnutls=no is specified.
46003 2016-07-23  Alan Mackenzie  <acm@muc.de>
46005         Fontify C++ parameter packs.
46007         This fixes debbugs #23610.
46009         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
46010         c-lang-defconsts/defvars.
46011         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
46013         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
46015 2016-07-23  Alan Mackenzie  <acm@muc.de>
46017         Java Mode: Handle strings as case labels correctly.
46019         This fixes debbugs #23901.
46021         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
46022         Java value.
46024 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
46026         Avoid repeated warnings while restoring desktop
46028         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
46029         when files are being opened during desktop restore.
46031 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
46033         Fix compilation warning in the MinGW build
46035         * nt/inc/ms-w32.h: Include stdint.h.
46036         (_execvp, execve): Provide prototypes.
46038         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
46039         it is now in nt/inc/ms-w32.h.
46040         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
46041         mismatch.
46042         (sys_ctime): Remove, not used.
46044 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
46046         Move read-multiple-choice to subr-x.el
46048         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
46050         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
46051         from subr.el.
46053         * lisp/gnus/message.el (subr-x): Ditto.
46055         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
46057         read-multiple-choice doesn't need to be in the dumped Emacs, so move
46058         it to a less central file.
46060 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
46062         Update define-ibuffer-op doc string
46064         * lisp/ibuf-macs.el (define-ibuffer-op):
46065         Mention that BODY is evaluated with 'buf' bound to the actual
46066         marked buffer being processed.
46068 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
46070         Update define-ibuffer-op doc string
46072         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
46073         instead of refer the reader to the source code.
46074         Document arg BODY.
46076 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
46078         Fix shell-command[-on-region] doc strings
46080         * lisp/simple.el (shell-command, shell-command-on-region):
46081         Drop the sentence saying that the command may delete the buffer
46082         '*Shell Command Output*': the command never delete such
46083         buffer (Bug#23936).
46085 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
46087         ;Revert ";Partially revert 2649105a"
46089         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
46091 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
46093         ;Partially revert 2649105a
46095         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
46096         setq-local to modify prettify-symbols-compose-predicate.
46098 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
46100         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
46102         (struct byte_stack): Re-add `bottom'.
46103         (exec_byte_code): Initialize it.
46105 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
46107         Ibuffer: Use default output buffer for shell commands
46109         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
46110         '*Shell Command Output*', as command 'shell-command-file'.
46112 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
46114         Fix failing test
46116         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
46117         Enable Font Lock mode in order to initialize
46118         'char-property-alias-alist' (Bug#23954).
46120 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
46122         Fix use-after-close in connect_network_socket
46124         * src/process.c (connect_network_socket): Don’t use
46125         external_sock_fd after closing it.  Problem found by Coverity Scan.
46127 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
46129         * lisp/net/shr.el (shr-fill-line):
46130         Preserve text properties in folded lines (bug#24034).
46132 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46134         Fix lifetime bug in tzlookup
46136         * src/editfns.c (tzlookup): Fix storage lifetime bug when
46137         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
46139 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
46141         Fix shr.el/image build problem
46143         (Bug#24035)
46145         * lisp/net/shr.el: Require image, since some builds seem to
46146         break without it (bug#24035).
46148 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
46150         Bring the Gnus Cloud package into working order.
46152         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
46154         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
46155         simplify non-file data.
46156         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
46157         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
46158         EPG if that's available, Base64+gzip otherwise.
46159         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
46160         interactive, defaults to enabled.
46161         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
46162         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
46163         "Version".
46164         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
46165         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
46166         storage methods as per gnus-cloud-storage-method.
46167         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
46168         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
46169         entries.
46170         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
46171         file and data handlers.
46172         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
46173         entries.
46174         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
46175         be more careful.
46176         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
46177         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
46178         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
46179         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
46180         (gnus-cloud-prune-old-chunks): Fix indentation.
46181         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
46182         timestamp.
46183         (gnus-cloud-file-new-p): Use it.
46184         (gnus-cloud-upload-all-data): Add interactive convenience function to
46185         upload all data.
46186         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
46187         data separately; refresh Gnus Cloud group after insert.
46188         (gnus-cloud-download-all-data): Add interactive convenience function to
46189         download all data.
46190         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
46191         marker and different storage methods.
46192         (gnus-cloud-host-server-p): New function to check if a server is the
46193         Gnus Cloud host.
46194         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
46195         (gnus-cloud-host-acceptable-method-p): New function so
46196         other code can check if a server method can host the Gnus cloud.
46197         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
46198         (gnus-cloud-method): Make this a defcustom and note how to set it.
46200         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
46201         keybindings under the `~' prefix.
46203         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
46204         (gnus-server-cloud, gnus-server-cloud-host)
46205         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
46206         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
46207         synchronized servers and synchronization host server toggling (`i' and
46208         `I') and visual display.
46209         (gnus-server-toggle-cloud-method-server): Use
46210         gnus-cloud-host-acceptable-method-p.
46211         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
46212         set the gnus-cloud-method. Ask the user if it's OK to upload the data
46213         right now.
46215         * doc/misc/gnus.texi: Document Gnus Cloud package.
46217 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46219         Remove CHECK_FRAME_FONT cruft from bytecode.c
46221         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
46222         Remove some old ‘#if 0’ code.
46224 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46226         Work around GCC bug 54561 in a better way
46228         The new approach is less selective, but also less intrusive on C code.
46229         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
46230         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
46232 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46234         Fix port to glibc 2.24 (pre-release) + ppc64
46236         * src/callproc.c (child_setup): Use emacs_exec_file
46237         so that ASLR is enabled in the child process.
46238         * src/emacs.c: Move some personality details into sys/sysdep.c.
46239         Do not include <sys/personality.h>.
46240         (main): Disable ASLR earlier, so that we don’t chdir twice.
46241         * src/lisp.h (disable_address_randomization): New decl.
46242         * src/sysdep.c (disable_address_randomization)
46243         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
46244         here from emacs.c.
46245         (emacs_exec_file): New function.
46247 2016-07-19  Alan Third  <alan@idiocy.org>
46249         Prevent bar cursor overwriting next glyph (bug#16856)
46251         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
46252         before setting final size.
46254 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
46256         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
46258         * src/insdel.c (adjust_markers_bytepos): New function.
46259         * src/lisp.h (adjust_markers_bytepos): Add prototype.
46260         * src/insdel.c (replace_range, replace_range_2):
46261         * src/editfns.c (Ftranspose_regions): Call
46262         adjust_markers_bytepos.  (Bug#5131)
46264         * test/src/editfns-tests.el (transpose-test-reverse-word)
46265         (transpose-test-get-byte-positions): New functions.
46266         (transpose-ascii-regions-test)
46267         (transpose-nonascii-regions-test-1)
46268         (transpose-nonascii-regions-test-2): New tests.
46270 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
46272         Make gif animation work (bug#24004)
46274         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
46275         an animation is too big (bug#24004).
46277 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
46279         * lisp/simple.el (undo-amalgamate-change-group): New function
46281         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
46282         (viper-set-complex-command-for-undo): Save current state with
46283         prepare-change-group.
46284         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
46285         (viper-buffer-undo-list-mark): Remove.
46287 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
46289         Keep w32 environment settings internal only
46291         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
46292         set_initial_environment call.  This prevents Emacs' modifications to the
46293         environment from contaminating Vprocess_environment and
46294         Vinitial_environment (Bug #10980).
46295         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
46296         environment in as a fallback to Vprocess_environment.
46297         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
46299 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
46301         Better documentation for cl-reduce (bug#24014)
46303         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
46305 2016-07-17  Alan Third  <alan@idiocy.org>
46307         Remove separate pool for popup dialogs (bug#23856)
46309         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
46310         autorelease pool and Popdown_data struct.
46312 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
46314         Use eldoc-documentation-functions
46316         * lisp/hexl.el (hexl-mode):
46317         * lisp/ielm.el (inferior-emacs-lisp-mode):
46318         * lisp/progmodes/cfengine.el (cfengine3-mode):
46319         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
46320         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
46321         * lisp/progmodes/python.el (python-mode):
46322         * lisp/simple.el (read--expression): Add buffer-locally to hook
46323         eldoc-documentation-functions.
46325 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
46327         Optimize ucs-normalize.el compilation
46329         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
46330         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
46331         regexp-opt.
46332         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
46333         temp buffer for the whole loop.
46335 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
46337         Add tests for ucs-normalize.el
46339         Some tests are marked as expected to fail.
46341         * test/lisp/international/ucs-normalize-tests.el: New tests.
46342         * admin/unidata/NormalizationTest.txt: Add data for tests.
46343         * admin/unidata/README: Add URL for NormalizationTest.txt.
46344         * admin/notes/unicode: Add note about running (and updating the data
46345         for) the new tests.  Remove note about normalization being unsupported.
46347 2016-07-16  Alan Third  <alan@idiocy.org>
46349         Fix cursor display (bug#23993)
46351         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
46353 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46355         Stop worrying about Alliant in bytecode.c
46357         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
46359 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46361         Remove BYTE_MAINTAIN_TOP
46363         It is no longer needed now that we assume GC_MARK_STACK ==
46364         GC_MAKE_GCPROS_NOOPS.
46365         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
46366         All uses removed, and code simplified accordingly.
46367         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
46368         are always no-ops now.  All uses removed.
46369         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
46370         since it is now equivalent.
46372 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46374         Remove now-inaccurate bytecode comments
46376         * src/bytecode.c: Remove comments that are no longer accurate.
46377         Most of these are actually old ChangeLog entries.
46379 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
46381         Port to glibc 2.24 (pre-release) + ppc64
46383         Inspired by a suggestion by Florian Weimer in:
46384         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
46385         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
46386         Rename from HAVE_PERSONALITY_LINUX32, and check for
46387         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
46388         All uses changed.
46389         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
46390         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
46391         flag ourselves.  Just set that flag, rather than also setting the
46392         persona.  When doing it, avoid functions like putenv that may
46393         allocate memory.
46395 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
46397         Revert "Add a couple cells to lisp-prettify-symbols-alist"
46399         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
46401 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
46403         * lisp/simple.el (shell-command): Add save-match-data comment
46405 2016-07-14  Alan Mackenzie  <acm@muc.de>
46407         CC Mode: correct incorrect invocation of parse-partial-sexp.
46409         Fixes bug #23944.
46411         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
46412         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
46414 2016-07-14  Andreas Schwab  <schwab@suse.de>
46416         Fix configure summary for hybrid malloc configurations
46418         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
46419         parenthesize value of GNU_MALLOC_reason.
46421 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
46423         Fix delete-duplicate-lines
46425         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
46426         first line when operating backward (bug#23863).
46428 2016-07-14  Andreas Schwab  <schwab@suse.de>
46430         Remove unused SHEAP_OBJ
46432         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
46434 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
46436         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
46437         Use shr-image-map instead of shr-map (bug#23964).
46439 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
46441         * lisp/mouse.el (mouse): Consolidate group definition here
46443         * lisp/cus-edit.el (mouse): Remove both group definitions.
46445 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
46447         Include versioned preloaded libraries in `package--builtin-versions'
46449         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
46450         exclude preloaded libraries or remove entries generated for them.
46451         (autoload-generate-file-autoloads): Do not generate autoload
46452         statements for preloaded libraries.
46454 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
46456         Omit unnecessary #includes from xwidget.c
46458         * src/xwidget.c: Remove #include directives that are not needed.
46459         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
46460         file is compiled only if the X interface is available.
46462 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
46464         Port xwidget.c to GCC 6 with --enable-gcc-warnings
46466         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
46467         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
46468         possible bugs found by GCC.
46470 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
46472         Escape meta chars in commands processed by shell
46474         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
46475         in all commands to be passed to a shell (Bug#23959).
46477 2016-07-12  John Wiegley  <johnw@newartisans.com>
46479         Revert "Cleanup tooltips"
46481         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
46483         I am reverting this change because it was applied without prior discussion
46484         on emacs-devel, and has been found to break the NS port.  It needs more
46485         testing and review before it should be applied here.
46487 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
46489         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
46491         (cl-prog, cl-prog*): New macros.
46493 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
46495         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
46497         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
46498         (cl--generic-make-defmethod-docstring): New function for that.
46499         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
46500         (cl-generic-define-method, cl--generic-describe): Change `load-history'
46501         format of cl-defmethods, so as not to confused methods with equal
46502         specializers but different qualifiers.
46503         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
46505 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
46507         Don't install keyboard hook when debugged on MS-Windows
46509         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
46510         hook if we are being debugged.  This avoids hosing the debugger,
46511         because the hook is global, and is called in the context of the
46512         thread which installed it, and that thread is stopped when GDB has
46513         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
46515 2016-07-12  Alan Mackenzie  <acm@muc.de>
46517         Amend CC Mode to handle big C++ raw strings correctly.
46519         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
46520         in the +-500 bytes boundaries imposed for macros.
46522         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
46523         macro boundaries here.
46524         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
46525         lower boundary.  Fix the check on the upper boundary.
46527         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
46528         point already being within a raw string.
46530         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
46531         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
46532         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
46533         with other Emacsen.
46535 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
46537         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
46539 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
46541         Cleanup tooltips
46543         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
46544         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
46545         (FRAME_TOOLTIP_P): New macro.
46546         * src/frame.c (make_frame): Mark new frame as regular frame by default.
46547         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
46548         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
46549         and 'Qtooltip_parameters' instead.
46550         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
46551         * src/gtkutil.c (xg_hide_tip): New function.
46552         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
46553         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
46554         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
46555         * src/w32fns.c (unwind_create_tip_frame): Remove.
46556         (w32_display_monitor_attributes_list)
46557         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
46558         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
46559         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
46560         as a tooltip frame and record it using appropriate display info.
46561         (x_hide_tooltip): Add frame arg.
46562         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
46563         base frame parameters, store tooltip hide timer among tooltip frame
46564         parameters.
46565         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
46566         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
46567         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
46568         * src/w32term.c (w32_read_socket): Extract tooltip window id from
46569         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
46570         (x_new_font): Use FRAME_TOOLTIP_P.
46571         (x_free_frame_resources): Reset pointer to tooltip frame.
46572         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
46573         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
46574         Use FRAME_TOOLTIP_P.
46575         * src/xfns.c (x_make_monitor_attribute_list)
46576         (Fx_display_monitor_attributes_list): Likewise.
46577         (unwind_create_tip_frame): Remove.
46578         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
46579         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
46580         as a tooltip frame and record it using appropriate display info.
46581         (x_hide_tooltip): Add frame arg.
46582         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
46583         base frame parameters, store tooltip hide timer among tooltip frame
46584         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
46585         event loop.
46586         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
46587         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
46588         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
46589         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
46590         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
46591         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
46592         (x_free_frame_resources): Reset pointer to tooltip frame.
46593         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
46594         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
46596 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
46598         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
46600 2016-07-11  Mario Lang  <mlang@delysid.org>
46602         Test mapcan
46604         * test/src/fns-tests.el (fns-tests-mapcan): New test.
46606 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
46608         Prevent to apply funcall on t
46610         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
46611         'ediff-after-quit-hook-internal' hook (Bug#23933).
46613 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
46615         Ignore angle mode while simplifying units
46617         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
46618         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
46619         is non-nil (Bug#23889).
46620         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
46621         (math-from-radians-2, math-to-radians-2): Idem.
46623 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
46625         Fix display of composed characters
46627         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
46628         iteration through composition glyphs.  (Bug#23938)
46630 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
46632         Fix composition bug caused by off-by-1 typo
46634         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
46635         computing composition glyph (Bug#23938).
46637 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
46639         Dired always read file system
46641         * lisp/dired.el (dired-always-read-filesystem): Add new option.
46642         (dired-mark-files-containing-regexp): Use it (Bug#22694).
46643         * doc/emacs/dired.texi: Mention it in the manual.
46644         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
46645         ;* etc/NEWS: Add entry for this change.
46647 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
46649         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
46651 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
46653         Avoid 'unused var' 'not left unused var' warnings
46655         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
46656         Rename used var '_buffer' to 'cbuffer'.
46658         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
46659         to cmark'.
46661 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
46663         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
46665 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
46667         Add a note how to use `tramp-own-remote-path'
46669         * doc/misc/tramp.texi (Inline methods, External methods)
46670         (Remote shell setup, Android shell setup)
46671         (Frequently Asked Questions, Frequently Asked Questions):
46672         Use @command and @samp consequently.
46673         (Remote programs): The remote shell must support the -l
46674         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
46676 2016-07-10  Alan Third  <alan@idiocy.org>
46678         Remove App Nap setting from Info.plist (bug#22993)
46680         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
46681         it doesn't actually disable app nap.
46683 2016-07-09  Mario Lang  <mlang@delysid.org>
46685         An efficient built-in mapcan
46687         A built-in version of `mapcan' avoids consing up (and GC'ing) the
46688         intermediate list.
46690         * src/fns.c (Fmapcan): New built-in.
46691         (syms_of_fns): Define.
46693         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
46695         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
46696         if only one sequence is provided.
46698         * lisp/progmodes/hideif.el (hif-delimit):
46699         * lisp/dired-aux.el (dired-do-find-regexp):
46700         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
46701         `cl-mapcan'.
46703         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
46704         compiling.
46706         * lisp/mouse.el (mouse-buffer-menu-map):
46707         * lisp/net/pop3.el (pop3-uidl-dele):
46708         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
46709         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
46710         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
46711         * lisp/gnus/nnmail.el (nnmail-split-it):
46712         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
46713         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
46714         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
46716 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
46718         Detect aliases to built-in functions
46720         * lisp/help-fns.el (describe-function-1): Check for aliases
46721         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
46723         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
46724         failing this test.
46726 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
46728         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
46730         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
46731         New variable.
46732         (tramp-gvfs-maybe-open-connection): Use it.
46734         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
46735         Reorder test.
46737 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
46739         Wrap around error in coreutil's ls
46741         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
46742         "--quoting-style=literal" if remote host supports quoting style.
46743         Recent versions of coreutils changed default quoting style to
46744         "--quoting=shell-escape".
46746 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
46748         Minor tweaks of copying text properties when padding strings
46750         * src/editfns.c (styled_format): Don't include padding on the left
46751         in the properties at the beginning of the string.  (Bug#23897)
46753         * test/src/editfns-tests.el (format-properties): Add tests for
46754         faces when the string is padded on the left or on the right.
46756 2016-07-08  Mario Lang  <mlang@delysid.org>
46758         No need to require the same feature twice.
46760         * lisp/dired-aux.el (require 'cl-lib): Remove.
46762 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
46764         Turn on lexical binding
46766         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
46767         (secrets-search-items, secrets-create-item): Use append.
46768         (secrets-show-secrets): Remove unused binding.
46769         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
46770         Ignore unused arguments.
46772 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
46774         Derive secrets-mode from special-mode
46776         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
46777         (secrets-mode-map): New variable.  Add key bindings to n and p for
46778         navigating lines.
46779         (secrets-mode): Derive from special-mode.  Remove keymap code and
46780         initialization code.  Do not record undo information.  Make
46781         secrets-show-collections the local revert-buffer-function.
46782         (secrets-show-collections): Change signature to satisfy revert-buffer.
46784 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
46786         Add a couple cells to lisp-prettify-symbols-alist
46788         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
46789         "sqrt" and "not".
46791 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
46793         Detect remote uid and gid in tramp-gvfs.el
46795         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
46796         (tramp-gvfs-handler-mounted-unmounted)
46797         (tramp-gvfs-connection-mounted-p):
46798         Make "default-location" a connection property.
46799         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
46800         (tramp-gvfs-maybe-open-connection): Use them.
46802 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
46804         Yet another fix for copying properties by 'format'
46806         * src/textprop.c (extend_property_ranges): Accept an additional
46807         argument OLD_END, and only extend the end of a property range if
46808         its original end is at OLD_END; all the other ranges are left
46809         intact.  (Bug#23897)
46810         * src/editfns.c (styled_format): Pass the original length of the
46811         string to 'extend_property_ranges'.
46812         * src/intervals.h (extend_property_ranges): Adjust prototype.
46814         * test/src/editfns-tests.el (format-properties): Add tests for
46815         bug#23897.
46817 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
46819         Allow selecting region with mouse to move point to beginning
46821         * etc/NEWS: Mention new user option
46822         `mouse-select-region-move-to-beginning'.
46824         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
46825         to the following.
46826         (Word and Line Mouse): Describe how double-clicking mouse-1 to
46827         activate region and `mouse-select-region-move-to-beginning'
46828         affect point.
46830         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
46831         (mouse-set-point): Use it.  (Bug#23478)
46833 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
46835         Fix menu bar breakage
46837         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
46838         to prevent void variable errors, and fix typo (bug#23918).
46840 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
46842         Copy buffer names to kill ring
46844         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
46845         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
46846         ;* etc/NEWS: Add entry for this new feature.
46848 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
46850         Remove just input mark
46852         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
46853         just MARK.
46855 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
46857         Ibuffer change marks
46859         * lisp/ibuffer.el (ibuffer-change-marks): New command.
46860         (ibuffer-mode-map): Bind it to '* c'.
46861         (ibuffer-mode-groups-popup): Update menus.
46862         (ibuffer-mode): Update mode doc.
46864 2016-07-07  Alan Third  <alan@idiocy.org>
46866         Prevent NS event loop being re-entered (bug#11049)
46868         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
46869         in event loop instead of aborting.
46871 2016-07-07  Alan Third  <alan@idiocy.org>
46873         Fix some deprecated functions
46875         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
46876         convertBaseToScreen with convertRectToScreen.
46877         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
46878         OS X 10.2, and always seems to return nil.
46880 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
46882         Disable App Nap (bug#22993)
46884         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
46886 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
46888         Fix an error in Tramp for rsync
46890         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
46891         Make it work for "rsync".
46892         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
46894 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
46896         Ibuffer: Mark locked buffers
46898         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
46899         (ibuffer-mark-by-locked): New command.
46900         (ibuffer-mode-map): Bind it to '% L'; update menus.
46901         (ibuffer-mode): Update mode doc.
46902         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
46904 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
46906         * lisp/ibuffer.el: Add face for locked buffers
46908         * lisp/ibuffer.el: Add mark for locked buffers
46910         ;* etc/NEWS (Ibuffer): Update entry according with last commit
46912 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
46914         Remove duplicate binding
46916         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
46917         just bound to '% g'.
46918         As suggested in:
46919         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
46921 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
46923         Ibuffer: Drop needless binding
46925         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
46926         already bound to 't' inside 'ibuffer-set-mark'.
46928 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
46930         Run tests from non-byte compiled files
46932         * test/Makefile.in: Eval non-byte-compiled files for tests.
46934 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
46936         Replace eldoc-documentation-function with a hook
46938         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
46939         (eldoc-documentation-function): Make into obsolete alias.
46940         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
46941         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
46942         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
46943         on eldoc-documentation-functions.
46944         (eldoc-supported-p): New function.
46945         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
46946         * etc/NEWS: Mention eldoc-documentation-functions.
46947         * doc/lispref/modes.texi: Update reference.
46949 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
46951         Complete "initial" and "unset" in CSS mode
46953         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
46954         "initial" and "unset" completion candidates for all CSS properties,
46955         just like "inherit".
46957         * test/lisp/textmodes/css-mode-tests.el
46958         (css-test-complete-property-value): Update test to reflect the above
46959         change.
46961 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
46963         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
46965 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46967         Simplify rfc1345.el a bit
46969         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
46970         that would no longer parse.  Replace control characters with
46971         escapes in character constants.  Omit unnecessary \ after ?.
46972         This does not change behavior.
46974 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
46976         Prefer 'frame-parameter' where it is expected to be a bit faster
46978         * lisp/international/mule-diag.el (mule-diag):
46979         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
46980         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
46981         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
46982         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
46984 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
46986         Reduce consing caused by vertical motion commands
46988         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
46989         parameters frequently requested by calls to 'next-line' and 'previous-line'.
46991 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
46993         Make all Tramp tests pass for "gdrive" method
46995         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
46996         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
46997         (tramp-compat-delete-directory):
46998         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
46999         Use `directory-files-no-dot-files-regexp'.
47001         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
47002         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
47003         case of problems.
47005         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
47006         Adapt docstring.
47007         (tramp-test14-delete-directory): Make further tests.
47009 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
47011         Fix redisplay with window-start on continuation lines
47013         * src/xdisp.c (pos_visible_p): Return false if the window starts
47014         after CHARPOS.
47015         (compute_window_start_on_continuation_line): Don't return
47016         window-start position that is after point in the buffer, as the
47017         callers don't expect this to happen, and will generally display an
47018         empty window with the cursor in its middle.  (Bug#23871)
47020 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
47022         Add :expected-result :failed for unfixed bug test
47024         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
47026 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
47028         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
47030 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
47032         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
47034         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
47035         there is no need for the end-marker to be created.
47037 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
47039         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
47041         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
47042         syntax to non-whitespace so that ‘\s-’ regular expression does not match
47043         it.
47045         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
47046         as a consequence ‘line-beginning-position’ function does not need to be
47047         called any longer.
47049         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
47050         expression ends up matching empty lins since ‘\s-’ matches newline
47051         characetr of proceeding line.  This leads to needless loop iterations.
47053         Since previous change to ‘delete-trailing-whitespace’ already introduced
47054         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
47055         character syntax.
47057 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
47059         Make ‘delete-trailing-whitespace’ delete spaces after form feed
47061         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
47062         a non-whitespace character (regradless of whether it’s character syntax
47063         is whitespace) and delete any whitespace following it instead of leaving
47064         lines with form feeds completely unchanged.  I.e. a line like "\f " will
47065         now became "\f".
47067 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
47069         Cleanup XEditRes hack
47071         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
47072         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
47073         linked with -lXmu.  This should work with any non-ancient Xmu library.
47074         * src/xfns.c (toplevel): Remove old cruft.
47075         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
47076         * src/xterm.c (toplevel): Remove old cruft.
47077         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
47078         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
47080 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
47082         Add Google Drive support to Tramp
47084         * doc/misc/tramp.texi: Add `gdrive' method.
47086         * doc/misc/trampver.texi:
47087         * lisp/net/trampver.el: Change version to "2.3.1-pre".
47089         * etc/NEWS: Add Tramp connection method "gdrive".
47091         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
47092         (tramp-default-user-alist, tramp-default-host-alist): Add rule
47093         for "gdrive".
47094         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
47095         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
47096         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
47097         "standard::display-name" as file name, if available.
47098         (tramp-gvfs-handle-file-name-all-completions): Simplify.
47099         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
47100         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
47101         Map between "gdrive" and "google-drive".
47103         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
47105         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
47106         Do not enable `tramp-message-show-message'.
47107         (tramp-test13-make-directory, tramp-test14-delete-directory):
47108         Do not specify error type.
47110 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
47112         Calc: Update mode line after change mode
47114         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
47116 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
47118         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
47120 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47122         Re-fix open-network-stream responsiveness
47124         Problem reported by Christer Ekholm (Bug#23864).
47125         * src/process.c (wait_reading_process_output): Further fix for
47126         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
47127         wait == INFINITY and got_output_end_time is invalid.  See:
47128         https://bugs.gnu.org/23864#20
47130 2016-07-03  Alan Mackenzie  <acm@muc.de>
47132         Remove redundant forms from CC Mode for faster fontification
47134         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
47135         the "main" cond form in the function, which have been redundant since the
47136         extraction of c-font-lock-cut-off-declarators from the function on
47137         2016-06-15/16.
47139 2016-07-03  Alan Mackenzie  <acm@muc.de>
47141         Speed up CC Mode fontification with less accurate functions extending region
47143         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
47144         (c-font-lock-enclosing-decls)
47145         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
47146         c-beginning-of-decl-1 with less accurate invocations of
47147         c-syntactic-skip-backwards to speed up fontification.
47149 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
47151         Ibuffer: unmark all buffers without confirmation
47153         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
47154         (ibuffer-mouse-popup-menu): Use it.
47155         (ibuffer-mode): Update mode doc.
47156         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
47157         Rebind 'ibuffer-do-replace-regexp' to 'r'.
47159 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47161         Fix open-network-stream responsiveness
47163         Problem reported by Constantin Kulikov (Bug#23684).
47164         * src/process.c (wait_reading_process_output):
47165         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
47166         when wait == INFINITY and got_output_end_time is invalid.
47167         In this case the code should break, not continue.
47169 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
47171         Ibuffer: Mark buffers by content
47173         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
47174         (ibuffer-never-search-content-name): New option.
47175         (ibuffer-never-search-content-mode): Idem.
47176         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
47178         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
47179         (ibuffer-mode): Update mode documentation.
47181 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
47183         ibuffer-copy-filename-as-kill verbosity increase
47185         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
47186         Use shorter name, result, for a local bound var.
47187         Show the string result in the echo area.
47189 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
47191         Fix cursor positioning on TTY frames after stretch glyph
47193         * src/term.c (append_glyph, append_composite_glyph)
47194         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
47195         members of the produced 'struct glyph'.  Fixes cursor positioning
47196         on the first character after a stretch glyph produced from
47197         line-prefix, wrap-prefix, etc. on TTY frames.
47199 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
47201         Fix vertical-movement in buffers with wrap-prefix
47203         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
47204         whenever we zero the vpos vertical position of the iterator.
47205         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
47206         wrap-prefix regardless of whether the current Y coordinate is
47207         inside the window dimensions.  (Bug#23879)
47209 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
47211         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
47213         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
47214         FACE_OPT_FROM_ID; all callers changed.
47215         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
47216         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
47217         dereferenced.
47218         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
47219         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
47220         when the glyph string is drawn.
47221         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
47222         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
47223         in fill_composite_glyph_string.
47224         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
47225         FACE_FROM_ID, since the function and its caller can cope with that
47226         situation.  Conflate 3 tests of missing face or font into just
47227         one.
47228         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
47229         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
47230         functions can cope with that situation.
47231         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
47232         not be used.
47233         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
47235 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
47237         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
47239 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
47241         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
47243         i.e. rename from auto-source--symbol-keyword.
47245 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
47247         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
47249         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
47250         get_widget_info.
47252 2016-06-30  Alan Mackenzie  <acm@muc.de>
47254         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
47256         This applies to applying or removing syntax-table text properties in raw
47257         strings which affect the stringiness of a piece of text.  This fixes the
47258         bug
47259         reported in
47260         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
47262         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
47263         defsubst.
47264         (c-invalidate-state-cache-1): Call new function in place of inline
47265         manipulation.
47266         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
47267         semi-nonlit cache when pertinent syntax-table text properties get applied to
47268         the text.
47270 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
47272         Minor tweaks to openp
47274         * src/lread.c (openp): Move invariant code out of the loop
47275         and thus avoid redundant calls to memcpy.  Adjust comments.
47277 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
47279         Simplify handling of frame parameters
47281         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
47282         foreground color, background color and font parameters.  Adjust
47283         comments.
47285 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
47287         Cleanup around mature character manipulation functions
47289         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
47291         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
47293         * lisp/subr.el (toplevel): Do not advertise calling conventions
47294         for 'decode-char' and 'encode-char'.
47296         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
47298 2016-06-29  Alan Mackenzie  <acm@muc.de>
47300         Fix C-M-a in a C function finding the start of a macro preceding it.
47302         Also amend some pertinent documentation.  This fixes bug #23818.
47304         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
47305         virtual semicolon at a place where we check for other types of statement ends.
47307         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
47308         doc string the bit saying that the variable is a prototype and liable to
47309         change.
47311         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
47312         macros with semicolon can prevent C-M-a missing the beginning of defun.
47314 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
47316         Avoid possible NULL pointer dereference found by GCC 6.1.1
47318         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
47319         the value returned by XRRGetOutputInfo.
47321 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
47323         Dired recognize dirs when file size in human units
47325         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
47326         to match when Dired displays the allocated file size column
47327         in human readable units (Bug#22255).
47329 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
47331         Fix breakage from previous change
47333         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
47334         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
47336 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
47338         Fix breakage from previous change.
47340         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
47342 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
47344         Add tests for copying properties by 'format'
47346         * test/src/editfns-tests.el (format-properties): New test.
47348 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
47350         Fix copying properties in 'format' when it produces padding
47352         * src/textprop.c (extend_property_ranges): Correct range extension
47353         when the new end is beyond the old end.  (Bug#23859)
47355 2016-06-27  Alan Third  <alan@idiocy.org>
47357         Enable dividers in NS (bug#22973)
47359         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
47360         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
47361         attempt to set the color.
47362         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
47363         above, although I didn't see any errors.
47365 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47367         Fix the prefix action of shr-copy-url
47369         * lisp/net/shr.el (shr-copy-url): Make the command really copy
47370         the image url if given a prefix.
47372 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47374         New functions svg-text and svg-remove
47376         * doc/lispref/display.texi (SVG Images): Document svg-remove.
47378         * doc/lispref/display.texi (SVG Images): Document svg-text.
47380         * lisp/svg.el (svg-remove): New function.
47381         (svg-text): New function.
47383 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47385         Add new function dom-remove-node
47387         * doc/lispref/text.texi (Document Object Model): Document
47388         dom-remove-node.
47390         * lisp/dom.el (dom-remove-node): New function.
47392 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47394         Add a new function `svg-embed'
47396         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
47398         * lisp/svg.el (svg-embed): New function.
47399         (svg--image-data): Ditto.
47401 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
47403         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
47405 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
47407         Fix 'move-to-window-line' when EOB is on last screen line
47409         * src/window.c (displayed_window_lines): Fix an off-by-one error
47410         when the bottom of the last display line is exactly at window's
47411         last pixel.  Remove kludgey fix for TTY frames that is no longer
47412         needed.  (Bug#15760)
47413         (Fmove_to_window_line): Doc fix.
47415         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
47416         accurate the documentation of 'move-to-window-line'.
47418 2016-06-27  Alan Mackenzie  <acm@muc.de>
47420         Amend a cache so that typing into C++ raw strings has no undue delay.
47422         Also amend the code so that low-level searches to the end of literals are done
47423         only when these positions get used.
47425         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
47426         c-literal-start instead of c-literal-limit.
47427         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
47428         it stores details of the literal at a point, rather than merely points outside
47429         of literals.
47430         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
47431         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
47432         (c-parse-ps-state-below, c-literal-start): New functions.
47433         (c-state-semi-safe-place): Removed.
47434         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
47435         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
47436         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
47437         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
47439         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
47440         to end of literals.
47442         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
47443         literals.
47445         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
47446         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
47448 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
47450         Also handle escaping when string begins with a quote
47452         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
47453         Handle quoting of the first character in the string.
47455         * test/lisp/progmodes/ruby-mode-tests.el
47456         (ruby-toggle-string-quotes-quotes-correctly): Update.
47458 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
47460         Fix quote escaping in ruby-toggle-string-quotes
47462         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
47463         Change logic to quote based on the current quote of the string.
47465         * test/lisp/progmodes/ruby-mode-tests.el
47466         (ruby-toggle-string-quotes-quotes-correctly): Add test.
47468 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
47470         Fix test-completion with completion-regexp-list
47472         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
47473         completion-regexp-list (Bug #23533).
47475 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47477         Try other addresses when connecting to multihomed
47479         Problem reported by Juliusz Chroboczek (Bug#17976)
47480         and by Artur Malabarba (Bug#23620).
47481         Patch from a suggestion by Andreas Schwab in:
47482         https://bugs.gnu.org/17976#39
47483         This patch is for non-MS-Windows platforms.
47484         I don't know the situation on MS-Windows.
47485         * src/process.c (connecting_status):
47486         New function, for (connect . ADDRINFOS).
47487         (connect_network_socket, check_for_dns, wait_for_socket_fds)
47488         (wait_while_connecting, wait_reading_process_output, status_notify):
47489         Use it.
47490         (decode_status, Fmake_network_process):
47491         Support (connect . ADDRINFOS) status.
47492         (connect_network_socket) [!WINDOWSNT]:
47493         If the connection failed and there are other addresses to try, do not
47494         signal an error; instead, loop around to try the next address.
47495         (wait_reading_process_output): Advance to the next address
47496         if there are multiple addresses and the first remaining address
47497         failed.
47498         * src/process.h (struct Lisp_Process.status): Adjust comment
47499         to describe (connect . ADDRINFOS).
47501 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47503         Fix GNUC_PREREQ for GCC 2.8.1 etc.
47505         Problem reported by Eli Zaretskii in:
47506         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
47507         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
47508         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
47509         patchlevel numbers.
47511 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
47513         Don't set 'bidi-paragraph-direction' in 'ansi-term'
47515         * lisp/term.el (ansi-term): Remove unnecessary setting of
47516         'bidi-paragraph-direction'.  The underlying problem is solved in
47517         bidi.c by changing the regexps that define the paragraph beginning
47518         and end.  (Bug#20611)
47520 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
47522         Sync with Tramp 2.3.0
47524         * doc/misc/trampver.texi:
47525         * lisp/net/trampver.el: Change version to "2.3.0".
47527 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47529         Fix GNUC_PREREQ off-by-1 typo
47531         Problem reported by Martin Rudalics in:
47532         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
47533         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
47534         Fix < vs <= typo.
47536 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
47538         Fix some oddities in Tramp's rsync and smb methods
47540         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
47541         "-s" arguments.
47542         (tramp-do-copy-or-rename-file-out-of-band):
47543         Call `file-name-directory' also for remote NEWNAME.
47545         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
47546         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
47547         (tramp-test24-file-name-completion): Improve check for
47548         hostname completion.
47549         (tramp--test-rsync-p): New defun.
47550         (tramp-test31-special-characters)
47551         (tramp-test31-special-characters-with-stat)
47552         (tramp-test31-special-characters-with-perl)
47553         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
47554         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
47555         (tramp-test32-utf8-with-ls): Skip for "rsync".
47557         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
47558         Check also for CIFS capabilities.
47560 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
47562         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
47564         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
47565         FRAME_INTERNAL_BORDER_WIDTH.
47567 2016-06-25  Leo Liu  <sdl.web@gmail.com>
47569         Deprecations (bug#23850)
47571         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
47572         string-to-multibyte, string-as-multibyte): Make obsolete.
47574 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
47576         Do not prompt twice to save a buffer
47578         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
47580 2016-06-25  Alan Third  <alan@idiocy.org>
47582         Move text line right when in box (bug#23755)
47584         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
47585         CHAR_GLYPH specific code and move glyphs right if within a box.
47586         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
47587         function.
47589 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
47591         Merge from origin/emacs-25
47593         0377fe2 ; Spelling fixes
47594         f253695 Update docs for `customize-mode'
47595         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
47596         ab0ebb9 ; Only load .elc file in tests.
47597         a98aa02 Error on multibyte characters in HTTP request
47598         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
47599         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
47600         dc5e65b Unset GIT_DIR when calling Git commands
47601         6cdd8f7 Ensure undo-boundary after insert-file-contents.
47602         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
47603         5f37572 Fix removal of variables from process-environment
47604         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
47605         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
47607         # Conflicts:
47608         #       doc/lispref/modes.texi
47609         #       lisp/gnus/mm-decode.el
47611 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
47613         Teach net-utils more iproute2 and nl80211 tools
47615         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
47616         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
47617         option is "phy"; beyond that one needs to know the interface name.
47618         (netstat-program): Add ss(8).
47619         (route-program): Add ip(8).
47620         (route-program-options): Add "route" argument for ip.
47622 2016-06-24  Leo Liu  <sdl.web@gmail.com>
47624         Use use-region-p in prolog.el
47626         * lisp/progmodes/prolog.el (region-exists-p): Remove.
47627         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
47628         prolog-edit-menu-insert-move): Use use-region-p.
47630 2016-06-24  Leo Liu  <sdl.web@gmail.com>
47632         Remove compatibility with Emacs 24.3 in octave-mode
47634         * lisp/progmodes/octave.el: Clean up and remove compatibility with
47635         Emacs 24.3.
47637 2016-06-24  Alan Mackenzie  <acm@muc.de>
47639         Ensure hack-local-variables is run in a fundamental mode buffer.
47641         This fixes bug #23827.
47643         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
47644         gets set to that mode, so that `run-mode-hooks', and thus
47645         `hack-local-variables' get run.
47647 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
47649         Fix caller to ediff-setup
47651         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
47653 2016-06-24  Alan Mackenzie  <acm@muc.de>
47655         Implement ' separators in C++ integer literals.
47657         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
47658         c-before-after-change-digit-quote into the C++ value.
47659         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
47660         for all languages.  Insert c-before-after-change-digit-quote into the C++
47661         value.
47663         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
47664         c-save-buffer-state.
47665         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
47667 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
47669         Update from gnulib
47671         This incorporates:
47672         2016-06-24 intprops: port better to GCC 7
47673         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
47674         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
47675         Copy from gnulib.
47677 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
47679         Remove two uses of 'min' in Fwindow_text_pixel_size
47681         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
47682         it calls move_it_to twice.  Suggested by Eli Zaretskii.
47684 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47686         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
47688         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
47689         since it is intended to be used only when it returns a non-null
47690         pointer, and here the pointer might be null.
47691         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
47693 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
47695         Remove some more face aliases obsoleted in 22.1
47697         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
47698         eshell-ls-executable-face, eshell-ls-readonly-face,
47699         eshell-ls-unreadable-face, eshell-ls-special-face,
47700         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
47701         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
47702         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
47703         (isearch-lazy-highlight-update): Use face symbol.
47704         * lisp/net/sieve-mode.el (sieve-control-commands-face,
47705         sieve-action-commands-face, sieve-test-commands-face,
47706         sieve-tagged-arguments-face): Remove.
47707         (sieve-font-lock-keywords): Use non-obsolete faces.
47708         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
47709         (sh-get-indent-info, sh-prev-line): Use face symbol.
47710         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
47711         Use non-obsolete face.
47712         (tex-math-face, tex-verbatim-face): Remove.
47713         (tex-font-lock-syntactic-face-function): Use face symbols.
47715 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
47717         Remove some face aliases obsoleted in 22.1
47719         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
47720         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
47721         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
47722         Info-title-4-face, info-menu-5):
47723         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
47724         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
47725         * lisp/progmodes/make-mode.el (makefile-space-face):
47726         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
47727         (texinfo-font-lock-keywords): Use texinfo-heading face.
47728         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
47729         change-log-email-face, change-log-file-face, change-log-list-face,
47730         change-log-conditionals-face, change-log-function-face,
47731         change-log-acknowledgement-face):
47732         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
47733         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
47734         diff-changed-face, diff-function-face, diff-context-face,
47735         diff-nonexistent-face): Remove.
47736         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
47737         symbols.
47738         (diff-hunk-file-names): Fix comment.
47739         (diff-refine-change): Remove.
47740         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
47741         non-obsolete face.
47742         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
47743         (log-view-font-lock-keywords): Use non-obsolete face names.
47744         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
47745         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
47746         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
47747         widget-field-face, widget-single-line-field-face, widget-inactive-face,
47748         widget-button-pressed-face):
47749         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
47750         woman-addition-face): Remove.
47752 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
47754         * lisp/international/characters.el (standard-case-table): Improve last change.
47756 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
47758         Improve results of 'upcase' for characters with title-case
47760         * lisp/international/characters.el (standard-case-table): Swap the
47761         order of some lines, to have 'upcase' return the upper-case
47762         variant, not the title-case, for some characters whose lower-case
47763         map to the same codepoints.  (Bug#23833)
47765 2016-06-23  Alan Mackenzie  <acm@muc.de>
47767         Make typing into incomplete C++ raw strings work, and make it work fast enough
47769         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
47770         Put `save-match-data' around calls to `looking-at' to enable the use of the
47771         match data in higher level functions.
47773         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
47774         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
47775         limit to speed up handling of C++ raw strings.
47777 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
47779         Fix handling of LWINDOW key on MS-Windows
47781         * src/w32fns.c (funhook): Correct a typo which broke handling of
47782         the LWINDOW key.  (Bug#23830)
47784 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
47786         Update Unicode data files from Unicode 9.0.0
47788         * admin/unidata/copyright.html:
47789         * admin/unidata/BidiBrackets.txt:
47790         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
47791         released.
47793 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
47795         Fix test for whether the '.el' file is newer than '.elc'
47797         * src/lread.c (Fload): Don't overwrite the last character of the
47798         file name in FOUND with 'c', unless the file name ended in ".elc"
47799         to begin with.  Don't treat empty files as byte-compiled.  See
47800         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
47801         for more details of the problem this caused.
47803 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
47805         Fix 'insert-file-contents' when REPLACE is non-nil
47807         * src/fileio.c (maybe_move_gap): New function to move the gap to
47808         the end of a buffer, if it isn't there already.
47809         (Finsert_file_contents): Call 'maybe_move_gap' before using
47810         conversion_buffer's text as a C 'char' array.  (Bug#23659)
47811         * src/coding.c (decode_eol): Compute the byte increment before
47812         calling del_range_2, because the latter can invalidate the pointer
47813         to buffer text.
47815 2016-06-22  Ken Brown  <kbrown@cornell.edu>
47817         Avoid compiler warning
47819         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
47821 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
47823         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
47825 2016-06-22  Ken Brown  <kbrown@cornell.edu>
47827         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
47829         * src/w32fns.c (x_set_internal_border_width): Don’t use
47830         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
47831         lvalue.
47833 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47835         Improve --without-x GCC pacification
47837         * src/composite.c (autocmp_chars):
47838         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
47839         Use simpler ((void) 0) for no-op expression returning void.
47840         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
47841         Include fontset.h, for face_for_char.
47842         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
47843         Now inline functions instead of macros.  This avoids the need for
47844         all those casts to void.
47845         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
47846         All uses changed.
47847         * src/frame.c (Ficonify_frame, Fset_frame_position):
47848         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
47849         * src/xdisp.c (note_mode_line_or_margin_highlight)
47850         (note_mouse_highlight):
47851         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
47852         now work either way without generating warnings.
47853         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
47854         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
47855         (decode_window_system_frame): Use check_window_system instead of
47856         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
47857         (decode_window_system_frame, check_window_system):
47858         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
47859         * src/frame.c (Ficonify_frame, Fset_frame_position):
47860         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
47861         (note_mouse_highlight):
47862         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
47863         this is a better way to pacify GCC.
47864         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
47865         (x_set_right_divider_width, x_set_bottom_divider_width):
47866         * src/xfns.c (x_set_internal_border_width):
47867         Don’t use what are now function calls as lvalues.
47868         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
47869         (decode_window_system_frame, check_window_system):
47870         Use it, to avoid the need for duplicate declarations.
47871         (window_system_available): Now an inline function.
47872         (display_available): New decl.
47873         (frame_dimension): New inline function.
47874         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
47875         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
47876         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
47877         (FRAME_BOTTOM_DIVIDER_WIDTH):
47878         Use it, to avoid the need for duplicate definitions.
47879         Now inline functions instead of macros.
47880         * src/gnutls.c (gnutls_log_function2i): Remove.
47881         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
47882         This avoids complaints about gnutls_log_function2i being defined
47883         and not used on older platforms that do not need to call GNUTLS_LOG2i.
47884         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
47885         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
47886         expr’ to ‘type id; id = expr’, as this would suppress valid
47887         jump-misses-init diagnostics.  Let’s find a better way to address
47888         the problem.
47889         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
47890         Define only if needed.
47891         * src/xdisp.c (handle_single_display_spec):
47892         Simplify fringe_bitmap computation.
47893         (define_frame_cursor1): Do nothing unless in a window system.
47894         All callers changed and simplified.
47895         * src/xfaces.c (realize_default_face):
47896         Use a simpler way to pacify GCC when a return value is not used
47897         on some platforms.
47899 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
47901         Ensure undo-boundary after all commands
47903         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
47904           every command whether it (apparently) changes the buffer or not.
47906         See Bug#23785 for discussion.
47908 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
47910         Fix vertical layout calculations when newline has line-height property
47912         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
47913         'constrain_row_ascent_descent_p' flag after processing the
47914         newline, similar to what 'display_line' does.  Without this, the
47915         flag remains set once set by x_produce_glyphs, and causes the
47916         vertical layout calculations to go awry, because Emacs thinks the
47917         screen lines have zero height.  (Bug#23850)
47919 2016-06-20  Ken Brown  <kbrown@cornell.edu>
47921         Fix compiler warnings in Cygwin-w32 build
47923         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
47924         loop to avoid compiler warnings about empty body of 'if'
47925         statement.
47927         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
47928         macro.
47929         (x_create_bitmap_from_data): Declare 'frame'.
47930         (x_create_bitmap_from_file): Don't declare unused variable
47931         'dpyinfo'.
47933         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
47934         prevent "jump-misses-init" compiler warnings.
47936         * src/w32fns.c (check_w32_winkey_state): Define and use only if
47937         WINDOWSNT.
47938         (Fx_show_tip): Declare 'f'.
47939         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
47940         (w32_strerror): Use format specifier %d for sprintf argument of
47941         type int.
47942         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
47943         int, and use format specifier %x, for compatibility with Cygwin.
47944         (unicode_append_menu) [NTGUI_UNICODE]:
47945         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
47946         (set_menu_item_info, unicode_append_menu)
47947         (unicode_message_box):
47948         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
47949         functions rather than macros to avoid "address will always
47950         evaluate as true" compiler warnings.
47952         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
47953         sprintf argument of type int.
47955         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
47956         sprintf argument of type int to unsigned int to match %X format
47957         specifier.
47958         (w32_scroll_bar_handle_click):
47959         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
47961         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
47962         argument.
47964 2016-06-20  Ken Brown  <kbrown@cornell.edu>
47966         Fix compiler warnings in no-window-system-build
47968         * src/composite.c (autocmp_chars): Declare and set 'f' only if
47969         HAVE_WINDOW_SYSTEM.
47971         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
47972         (FACE_FOR_CHAR): Explicitly discard unused arguments.
47974         * src/font.c (font_open_entity): Declare 'min_width' where it is
47975         first set, and only if HAVE_WINDOW_SYSTEM.
47977         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
47978         Define _Noreturn version to avoid "suggest attribute noreturn"
47979         compiler warning.
47980         (check_window_system): Declare as _Noreturn.
47981         (Ficonify_frame):
47982         (Fset_frame_position): Don’t declare and set 'f'.
47984         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
47985         (check_window_system):  Add _Noreturn prototypes.
47986         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
47987         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
47988         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
47989         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
47991         * src/xdisp.c (handle_single_display_spec): Declare
47992         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
47993         (append_space_for_newline): Declare 'g' where it is first set.
47994         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
47995         HAVE_WINDOW_SYSTEM.
47996         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
47997         if HAVE_WINDOW_SYSTEM.
47998         (note_mode_line_or_margin_highlight):
47999         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
48000         only if HAVE_WINDOW_SYSTEM.
48002         * src/xfaces.c (realize_default_face): Declare and set 'face' only
48003         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
48005 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
48007         Weaken test conditions in filenotify-tests.el
48009         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
48010         Fix thinko in test.
48011         (file-notify-test02-events, file-notify-test04-file-validity)
48012         (file-notify-test07-backup)
48013         (file-notify-test08-watched-file-in-watched-dir): Make test
48014         conditions more weak.  (Bug#23618)
48016 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
48018         Minor ABLOCKS_BUSY cleanups in alloc.c
48020         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
48021         with member ‘abase’ in definiens.
48022         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
48023         Avoid compiler warning with fewer casts.
48024         (lisp_align_free): Check busy-field values; this can help the
48025         compiler a bit when optimizing, too.
48027 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
48029         ASCII-fy coding-system-for-read used for Git commands
48031         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
48032         New function.
48033         (vc-git-diff, vc-git-annotate-command): Use it.
48035 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
48037         Prohibit multibyte characters in url-http-data
48039         It didn't work anyway, but this makes any such errors more obvious
48040         by catching them earlier.
48042         * lisp/url/url-http.el (url-http-create-request):
48043         Use string-to-unibyte (bug#23750).
48045 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
48047         Fix setting a range of char-table slots in a singular case
48049         * src/chartab.c (char_table_set_range): Start the loop from the
48050         first character of the block to which FROM belongs.  (Bug#23797)
48052         * test/src/chartab-tests.el: New test file.
48054 2016-06-19  Alan Mackenzie  <acm@muc.de>
48056         Fix CC Mode fontification problem apparent in test file decls-6.cc.
48058         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
48059         "bar (gnu);" as a declarator only when the construct is directly inside a
48060         class (etc.) called "bar".
48061         (c-directly-in-class-called-p): New function.
48063 2016-06-19  Alan Mackenzie  <acm@muc.de>
48065         c-renarrow-state-cache: take care when new point is inside old brace pair.
48067         Also add display of point-min to the c-parse-state debugging output.
48069         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
48070         point is inside an old recorded brace pair, clear the cache.
48071         (c-debug-parse-state): Output the value of point-min.
48073 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48075         Rename ALIGN to pointer_align
48077         * src/alloc.c (pointer_align): Rename from ALIGN.
48078         This fixes Bug#23764 in a simpler way.
48080 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48082         Merge from origin/emacs-25
48084         d1efbaf Fix documentation of completion functions
48085         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
48086         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
48087         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
48089 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48091         Merge from origin/emacs-25
48093         2317c61 Fix last todo-mode change
48094         5d4d8a3 Improve last todo-mode fix
48095         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
48096         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
48097         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
48098         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
48099         d308aa1 Minor grammar fix (bug#23746)
48100         20de667 Doc fixes for grammar and typos (bug#23746)
48101         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
48102         27f440e Add cross-reference to ELisp manual
48103         10802d8 ; make change-history-commit
48104         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
48105         12e009e Restore initial undo boundary with viper
48106         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
48107         6921f4a Fix dbus crash on 32-bit Cygwin
48109 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48111         Merge from origin/emacs-25
48113         9ae514a * etc/AUTHORS: Update the AUTHORS file
48114         3ca428e add entries to authors.el
48115         66d556b Fix eldoc-related freezes in python mode
48116         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
48117         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
48118         a813487 Fix undo boundary in recursive edit (Bug#23632)
48119         1f85b7c Doc fixes re alist-get.  (Bug#23548)
48120         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
48121         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
48122         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
48123         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
48124         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
48126 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
48128         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
48130 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
48132         Fix seq-contains
48134         Make sure seq-contains return the element of the sequence instead of t.
48136         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
48137         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
48139 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
48141         Add new function map-do
48143         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
48144           functions.
48145         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
48147 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
48149         Add seq-do-indexed
48151         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
48152         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
48154 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
48156         map.el (map-merge*): Use `map-into' at beginning rather than end
48158         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
48159         and don't use of an intermediate alist.
48160         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
48161         3 lookups per inner iteration.
48163 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
48165         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
48167 2016-06-15  Alan Mackenzie  <acm@muc.de>
48169         Speed up CC Mode's font locking by taking some code out of a hot loop.
48171         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
48172         tests for bare declarators.
48173         (c-font-lock-cut-off-declarators): New function.
48174         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
48176 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
48178         Automatically find vars and functions via definition-prefixes
48180         * lisp/help-fns.el (help-definition-prefixes): New var and function.
48181         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
48182         New functions.
48183         (describe-function, describe-variable): Use them.
48185         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
48186         (radix-tree-prefixes, radix-tree-from-map): New functions.
48188 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
48190         Automatically detect whether .h file is C or C++
48192         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
48193         analyzes contents of the buffer to determine whether it looks like C++
48194         source code and based on that enables c-mode or c++-mode.
48195         (c-or-c++-mode--regexp): Regular expression which, when matches
48196         a buffer, signals file is C++.
48198 2016-06-15  Alan Mackenzie  <acm@muc.de>
48200         Parse compound identifiers in C++ member initialization lists.
48202         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
48203         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
48204         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
48205         than c-simple-skip-symbol-backward.
48207 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
48209         Advertize set-keymap-parent as replacement for copy-keymap
48211         * doc/lispref/keymaps.texi (Creating Keymaps):
48212         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
48214 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
48216         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
48217         value is missing
48219 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
48221         Add new ansible-inventory-generic-mode (Bug#23762)
48223         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
48225 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
48227         Fix ifdef-vs-if typo with RANDR13_LIBRARY
48229         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
48230         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
48231         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
48233 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
48235         Port to platforms where char * has top bit set
48237         This fixes a five-year-old FIXME comment.  Although I don’t know
48238         of a platform where this is a problem in practice, better safe
48239         than sorry.
48240         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
48241         as it is now an integer, not char *.
48242         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
48243         this is a file offset and EMACS_INT is better if --with-wide-int.
48244         If SUBRP, simply store the offset rather than negating it and
48245         converting it to char *.
48246         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
48248 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
48250         Remove recursion from store_function_docstring
48252         * src/doc.c (store_function_docstring):
48253         Refactor to avoid the need for C-level recursion.
48255 2016-06-14  Ken Brown  <kbrown@cornell.edu>
48257         Remove system-specific -I switch from Cygwin-w32 build
48259         Suggested by Eli Zaretskii in discussion of bug#18302.
48261         * src/image.c [HAVE_NTGUI]: Remove the unused macro
48262         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
48263         "X11/xpm.h".
48265         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
48266         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
48268 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
48270         Make python.el work in Emacs 24
48272         * lisp/progmodes/python.el: Bump version.
48273         (python-define-auxiliary-skeleton): Only use format-message if
48274         fbound (Bug#23126).
48276 2016-06-13  Ken Brown  <kbrown@cornell.edu>
48278         Avoid compiler warning
48280         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
48281         'type_CtrlAlt'.
48283 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
48285         Call tzset after setting TZ
48287         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
48288         the setting change propagates into Emacs local time (Bug#23600).
48289         (emacs_setenv_TZ): Clarify comments.
48291 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
48293         Update texinfo.tex
48295         * doc/misc/texinfo.tex: Update from gnulib.
48297 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
48299         New macro GNUC_PREREQ for GCC version
48301         * src/conf_post.h (GNUC_PREREQ): New macro.
48302         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
48303         macro instead, for clarity and consistency.
48304         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
48305         if glibc, since non-GNU platforms don’t necessarily support GNU
48306         printf formats.
48307         (ATTRIBUTE_FORMAT_PRINTF): Use it.
48309 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
48311         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
48313 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
48315         Fix printf-related compilation warnings on MinGW
48317         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
48318         '__ms_printf__', not '__gnu_printf__', as the latter is not what
48319         MS 'printf' supports, and causes bogus compilation warnings.
48320         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
48321         doesn't support the "ll" modifier.
48323 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
48325         emacs_strerror cleanups
48327         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
48328         no longer needed, now that emacs_strerror is declared by lisp.h.
48329         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
48330         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
48331         to lisp.h.
48332         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
48333         convert result string; this is now the caller’s responsibility,
48334         as some need conversion and others don’t.
48335         * src/fileio.c (report_file_errno, report_file_notify_error):
48336         Use emacs_strerror rather than rolling it ourselves.
48337         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
48338         * src/lread.c (dir_warning): Just call emacs_strerror rather than
48339         both strerror and emacs_strerror.  Convert its result from
48340         locale-coding-system, since it no longer does that conversion.
48341         * src/sound.c (sound_perror):
48342         * src/sysdep.c (emacs_perror, str_collate):
48343         Use emacs_strerror, not strerror.
48345 2016-06-10  David Reitter  <david.reitter@gmail.com>
48347         Prevent compiler warning for unused arguments
48349         * lisp/international/ucs-normalize.el
48350         (ucs-normalize-hfs-nfd-pre-write-conversion):
48351         Prevent compiler warning for unused arguments, add coment.
48353 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
48355         Catch malloc_get_state, malloc_set_state failure
48357         This should help insulate Emacs better from configuration screwups.
48358         Future versions of the GNU C library are planned to deprecate
48359         these functions, but will continue to support them in
48360         already-built-and-dumped Emacs executables.
48361         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
48362         Abort if malloc_set_state fails.
48363         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
48364         Report malloc_get_state failure, and exit.
48366 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
48368         Show returned value after gdb-mi "finish" command
48370         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
48371         "Value returned" message in response to "finish", when not
48372         produced by GDB/MI.  (Bug#23720)
48374 2016-06-10  David Reitter  <david.reitter@gmail.com>
48376         Simplify pre-write-conversion for utf-8-hfs coding system
48378         * lisp/international/ucs-normalize.el
48379         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
48381         May address an issue where Emacs consumed large amounts of CPU
48382         because of neverending toolbar updating (which was caused
48383         by, but also called this function).
48385 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
48387         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
48389         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
48390         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
48391         Monnier.  (Bug#19185, Bug#20398)
48393         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
48395         That commit did more harm than good (Bug#23571).
48397 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
48399         Port __builtin_assume_aligned to Sun C 5.13
48401         * src/conf_post.h (__builtin_assume_aligned):
48402         Fix typo: the extra arg did not conform to C99.
48404 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
48406         Prefer getsockopt to getpeername on non-MS-Windows
48408         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
48409         * configure.ac: Don’t check for getpeername.
48410         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
48411         Use getsockopt even if not GNU/Linux, as the platforms where
48412         getsockopt used to hang are no doubt long dead.
48414 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
48416         Fix XFASTINT of non-fixnum in process status
48418         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
48419         not int *, and is not decoded.  All uses changed.
48420         (status_message): Do not assume ‘failed’ code is an integer.
48421         * src/process.h: Document codes better.
48423 2016-06-09  Glenn Morris  <rgm@gnu.org>
48425         Make messcompat.el obsolete.
48427         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
48428         * doc/misc/message.texi (Compatibility): Remove section.
48430 2016-06-09  Glenn Morris  <rgm@gnu.org>
48432         Leading "*" in the doc of defvars is long obsolete.
48434         * lisp/plstore.el (plstore-encrypt-to):
48435         * lisp/cedet/semantic/lex-spp.el
48436         (semantic-lex-spp-macro-max-length-to-save):
48437         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
48438         * lisp/cedet/semantic/bovine/el.el
48439         (semantic-elisp-store-documentation-in-tag):
48440         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
48441         (wisent-expected-conflicts):
48442         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
48443         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
48444         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
48445         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
48446         (gnus-browse-menu-hook):
48447         * lisp/gnus/message.el (message-shoot-gnksa-feet):
48448         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
48449         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
48450         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
48451         * lisp/gnus/mml.el (mml-generate-multipart-alist):
48452         * lisp/gnus/nndraft.el (nndraft-required-headers):
48453         * lisp/gnus/nnheader.el (nnheader-max-head-length)
48454         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
48455         (nnheader-directory-separator-character)
48456         (nnheader-pathname-coding-system):
48457         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
48458         (nnmail-active-file-coding-system):
48459         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
48460         * lisp/gnus/nntp.el (nntp-record-commands):
48461         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
48462         (gnus-score-mode-hook, gnus-score-menu-hook):
48463         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
48464         (rfc2047-allow-irregular-q-encoded-words)
48465         (rfc2047-allow-incomplete-encoded-text):
48466         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
48467         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
48468         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
48469         * lisp/net/pop3.el (pop3-password):
48470         * lisp/play/animate.el (animate-n-steps):
48471         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
48472         Convert from defvar with leading * to defcustom.
48475         * lisp/emulation/viper-init.el (viper-heading-end):
48476         * lisp/gnus/mm-url.el (mm-url-html-entities):
48477         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
48478         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
48479         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
48481         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
48482         (message-from-style, message-interactive, message-indentation-spaces)
48483         (message-signature, message-signature-file):
48484         Remove settings that match the defaults.
48485         (message-setup-hook, message-mode-hook, message-default-headers)
48486         (message-send-hook, message-send-mail-function):
48487         Just use setq rather than redefining.
48489         * lisp/gnus/nnrss.el (nnrss):
48490         * lisp/mail/rfc2047.el (rfc2047):
48491         * lisp/play/animate.el (animate): New custom groups.
48493 2016-06-09  Glenn Morris  <rgm@gnu.org>
48495         Remove obsolete leading * from defcustom, defface doc strings.
48497         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
48498         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
48499         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
48500         * lisp/cedet/semantic/decorate/include.el:
48501         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
48502         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
48503         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
48504         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
48505         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
48506         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
48507         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
48508         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
48509         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
48510         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
48511         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
48512         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
48513         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
48514         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
48515         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
48516         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
48517         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
48518         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
48519         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
48520         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
48521         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
48522         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
48523         Remove obsolete leading * from defcustom, defface doc strings.
48525 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
48527         Fix copying text properties by 'format'
48529         * src/editfns.c (styled_format): Fix copying text properties from
48530         the format specification to the produced string representation.
48531         (Bug#23730)
48532         (Fformat) Doc fix.
48534         * doc/lispref/strings.texi (Formatting Strings): Document that
48535         text properties from the format specifiers are also copied to the
48536         produced string.
48538 2016-06-09  Alan Mackenzie  <acm@muc.de>
48540         Handle C++ raw strings.
48542         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
48543         (c-depropertize-raw-strings-in-region,
48544         c-before-change-check-raw-strings)
48545         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
48546         functions.
48548         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
48549         c-font-lock-raw-strings.
48550         (c-font-lock-raw-strings): New function.
48552         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
48553         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
48554         into the values for C, C++, and Objective C.
48555         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
48556         the C++ value.
48558         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
48559         (c-depropertize-CPP): New function, extracted from
48560         c-neutralize-syntax-in-and-mark-CPP.
48561         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
48562         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
48563         of the function.
48564         (c-after-change): Set c-old-BEG and c-old-END to the current values of
48565         c-new-BEG and c-new-END.
48567 2016-06-09  Daiki Ueno  <ueno@gnu.org>
48569         epg: don't use obsolete function
48571         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
48572         redundant configuration check, which is now done in
48573         `epg-make-context'.
48575 2016-06-09  Daiki Ueno  <ueno@gnu.org>
48577         epg: don't start pinentry if it is useless
48579         * lisp/epg.el (epg--start): Don't start pinentry server if the
48580         session is non-interactive or pinentry-mode is set.
48582 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
48584         Replace IF_LINT by NONVOLATILE and UNINIT
48586         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
48587         * .dir-locals.el (c-mode): Adjust to macro changes.
48588         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
48589         (IF_LINT): Remove.  All uses replaced by the new macros.
48591 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
48593         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
48595         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
48596         in favor of ‘cl-letf’ macro which is more generic.  All existing
48597         uses are migrated accordingly.  The macro has not been included in
48598         an official release yet so it should be fine to delete it.
48600 2016-06-08  Glenn Morris  <rgm@gnu.org>
48602         * test/lisp/emacs-lisp/package-tests.el
48603         (package-test-update-archives-async): Try re-enabling on hydra.
48605 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
48607         * src/fileio.c (auto_save_error): Omit unused local.
48609 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
48611         Simplify overflow check via INT_SUBTRACT_WRAPV
48613         * src/editfns.c (check_tm_member): Simplify integer overflow check.
48615 2016-06-07  Glenn Morris  <rgm@gnu.org>
48617         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
48619         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
48620         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
48621         Ensure gnutls-serv process gets killed.
48622         (echo-server-nowait, connect-to-tls-ipv4-nowait):
48623         Limit the amount of time we might wait.
48625 2016-06-07  Glenn Morris  <rgm@gnu.org>
48627         Reduce allout.el's pollution of the namespace.
48629         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
48630         Keep old name as obsolete alias.
48631         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
48632         (allout-solicit-char-in-string)
48633         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
48634         Rename to add an "allout-" prefix.
48636 2016-06-07  Glenn Morris  <rgm@gnu.org>
48638         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
48640 2016-06-07  Glenn Morris  <rgm@gnu.org>
48642         Misc small webjump updates.
48644         * lisp/net/webjump.el (webjump): Add custom group.
48645         (webjump-sample-sites): Make it a constant.
48646         Remove explicit, old list of GNU ftp mirrors.
48647         (webjump-state-to-postal-alist): Make it a constant.
48648         (webjump-sites): Make it a defcustom.
48649         (webjump-to-iwin): Update for changed remote service.
48651 2016-06-07  Glenn Morris  <rgm@gnu.org>
48653         Do not hard-code port for package test server.  (Bug#23708)
48655         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
48656         Do not hard-code port.
48657         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
48658         Update for the above change.
48660 2016-06-07  Tino Calancha  <f92capac@gmail.com>
48662         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
48664 2016-06-07  Glenn Morris  <rgm@gnu.org>
48666         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
48668 2016-06-07  Tino Calancha  <f92capac@gmail.com>
48670         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
48671         Fix non-file-visiting-buffer case.  (Bug#22678)
48673 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
48675         Port --enable-gcc-warnings to clang 3.7.0
48677         * configure.ac: Add -Wno-tautological-compare to avoid bogus
48678         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
48679         seem to be needed, at least in Fedora 23 x86-64.
48681 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
48683         Use __builtin_assume_aligned on untagged Lisp vals
48685         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
48686         New macros, for compilers not already defining them.
48687         (__has_builtin___builtin_assume_aligned): New macro.
48688         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
48689         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
48691 2016-06-07  Glenn Morris  <rgm@gnu.org>
48693         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
48694         aliases as the type of their targets.
48696 2016-06-07  Tino Calancha  <f92capac@gmail.com>
48698         * lisp/simple.el (process-menu-mode, list-processes--refresh):
48699         Include PID.  (Bug#21725)
48701 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
48703         Merge from origin/emacs-25
48705         6e3adf8 Fix crash in syntax.c after GC
48706         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
48707         9d5cceb Fix doc string quoting
48708         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
48709         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
48711 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
48713         Merge from origin/emacs-25
48715         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
48716         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
48717         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
48718         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
48720 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
48722         Use standard Unicode names for Thai, Lao
48724         * lisp/language/lao-util.el, lisp/language/thai-util.el:
48725         Don’t override standard Unicode character name (Bug#23698).
48727 2016-06-06  Glenn Morris  <rgm@gnu.org>
48729         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
48730         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
48732 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
48734         Some fixes in filenotify-tests.el for cygwin
48736         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
48737         Reintroduce value for cygwin, it's needed on slow systems.
48738         (file-notify--wait-for-events): Move up definition.
48739         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
48740         (file-notify--test-with-events-check, file-notify--test-with-events)
48741         (file-notify-test08-watched-file-in-watched-dir):
48742         Use :random rather than `random.
48743         (file-notify-test06-many-events): Do not skip for cygwin.
48745 2016-06-05  Juri Linkov  <juri@linkov.net>
48747         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
48749         If non-nil, operate on multiple chunks.  (Bug#23655)
48751         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
48753 2016-06-05  Juri Linkov  <juri@linkov.net>
48755         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
48757         to interactive spec to handle shift-selection.  (Bug#23642)
48759 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
48761         Improve robustness of filenotify-tests.el (Bug#23618)
48763         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
48764         (file-notify--test-no-descriptors-explainer)
48765         (file-notify--test-cleanup-p): New defuns.
48766         (file-notify--test-cleanup): Don't check for
48767         `file-notify--test-event' anymore, that's done in
48768         `file-notify--test-no-descriptors'.
48769         (file-notify--test-with-events-check)
48770         (file-notify--test-with-events): Handle the `random' marker.
48771         (file-notify--test-with-events-explainer): Improve readability.
48772         (file-notify-test00-availability)
48773         (file-notify-test01-add-watch, file-notify-test02-events)
48774         (file-notify-test03-autorevert)
48775         (file-notify-test04-file-validity)
48776         (file-notify-test05-dir-validity)
48777         (file-notify-test06-many-events, file-notify-test07-backup)
48778         (file-notify-test08-watched-file-in-watched-dir)
48779         (file-notify-test09-sufficient-resources): Check also
48780         `file-notify--test-cleanup-p'.
48781         (file-notify-test04-file-validity)
48782         (file-notify-test05-dir-validity): Use `ignore' as handler.
48783         (file-notify-test05-dir-validity)
48784         (file-notify-test06-many-events): Delete directory finally.
48785         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
48787 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
48789         man.el: Fix links on hyphenated words (bug#23647)
48791         * lisp/man.el (Man-bgproc-sentinel): Make links work on
48792         hyphenated words.
48794 2016-06-05  K. Handa  <handa@gnu.org>
48796         Add category 'j' to more characters.
48798         * lisp/international/characters.el: Add category 'j' (Japanese)
48799         to characters in japanese-jisx0213.2004-1.
48801 2016-06-04  Tino Calancha  <f92capac@gmail.com>
48803         isearch-edit-string resumes multi isearches
48805         * lisp/isearch.el (with-isearch-suspended): Remember and restore
48806         multi-isearch variables.  (Bug#21663)
48808 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
48810         Fix Eshell display when RTL characters are involved
48812         * lisp/eshell/esh-mode.el (eshell-mode): Set
48813         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
48815 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48817         Make ses-jump with completing input.
48819         * lisp/ses.el (ses-jump): Make symbol input completing against list of
48820           named cells.
48822 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
48824         Port angle-bracket TZ settings to MS-Windows
48826         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
48827         lack of support for numeric time zone abbreviations.
48828         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
48829         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
48830         Problem reported by Kazuhiro Ito (Bug#23600).
48832 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
48834         Avoid delving into Git internals for version
48836         * lisp/loadup.el (exec-path): Set it to nil later, so that
48837         emacs-repository-get-version can invoke git commands in the PATH.
48838         * lisp/version.el (emacs-repository--version-git-1): Remove.
48839         (emacs-repository-get-version): Let Git do it rather than
48840         delving into Git internals.
48842 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
48844         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
48846 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
48848         Fix emacs-repository-get-version with packed .git
48850         * lisp/version.el (emacs-repository-get-version):
48851         Parse .git/packed-refs if it exists.
48852         Problem reported by Martin Rudalics in:
48853         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
48855 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
48857         Minor change in tramp.texi
48859         * doc/misc/tramp.texi (Password handling): Do not discuss
48860         anymore how to get password-cache.el.  It is bundled with
48861         Emacs.
48863 2016-06-01  Alan Mackenzie  <acm@muc.de>
48865         Correct fontification and indentation of C++'s "constexpr" expressions
48867         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
48868         (c-modifier-kwds): Add "constexpr".
48870 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
48872         Cosmetic change to kinsoku-eol.  (tiny change)
48874         * lisp/international/kinsoku.el (kinsoku-eol): Make the
48875         order of characters match with the comments.
48877 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
48879         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
48881         * lisp/language/japan-util.el (japanese-kana-table): Add an
48882         entry for HIRAGANA ITERATION MARK (U+309D).
48883         (japanese-alpha-numeric-table): Fix docstring.
48885 2016-05-31  K. Handa  <handa@gnu.org>
48887         Fix incomplete handling of translation table in a coding system.
48889         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
48890         is an alist, return a character or a vector of character.
48891         (produce_chars): Adjust for the above change.
48892         (consume_chars): Likewise.
48894 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
48896         Improve robustness for out-of-band copy in Tramp
48898         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
48899         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
48900         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
48901         Cosmetic changes.
48903         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
48904         Use local `default-directory'.  Simplify command to send.
48905         Don't check return code, this was already done in
48906         `tramp-process-actions'.
48907         (tramp-get-inline-coding): Don't set `default-directory'.
48909         * lisp/net/tramp.el (tramp-action-out-of-band):
48910         Throw `out-of-band-failed'.
48911         (tramp-process-actions): Handle `out-of-band-failed'.
48912         (tramp-call-process, tramp-call-process-region):
48913         Use local `default-directory'.
48915 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
48917         Merge from origin/emacs-25
48919         788c9b6 ; Spelling fix
48920         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
48921         0992ec3 Correct cl-flet usage (Bug#22317)
48922         50caae3 Release MH-E manual version 8.6
48923         602bb40 Update MH-E's documentation about HTML renderers
48924         89018f0 Fx the we->the typo
48925         845ee57 Restore frames into the current display by default
48926         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
48927         01c3cd1 etc/TODO: Remove out-of-place issue
48928         5e18486 Clarify doc string of 'file-name-sans-extension'
48929         bffda22 Fix the MSDOS build
48930         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
48931         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
48932         f7ffc4b Fix infloop in 'number-sequence'
48933         4ab2673 ; Spelling and punctuation fixes in comments
48934         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
48936 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
48938         * lisp/emacs-lisp/autoload.el: Use radix-tree.
48940          (autoload--make-defs-autoload): Rewrite.
48941         (autoload--split-prefixes-1): Remove.
48942         (autoload-def-prefixes-max-entries): Rename from
48943         autoload-defs-autoload-max-size.
48944         (autoload-popular-prefixes): Remove.
48945         (autoload-def-prefixes-max-length): New const.
48947         * lisp/emacs-lisp/radix-tree.el: New file.
48949 2016-05-30  Ken Brown  <kbrown@cornell.edu>
48951         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
48953 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
48955         Omit IF_LINT code that no longer seems needed
48957         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
48958         and now is as good a time as any to remove uses of IF_LINT that
48959         now seem to be unnecessary.
48960         * lib-src/emacsclient.c (set_local_socket):
48961         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
48962         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
48963         * src/casefiddle.c (casify_region):
48964         * src/charset.c (load_charset_map):
48965         * src/coding.c (decode_coding_object, encode_coding_object):
48966         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
48967         (cons_to_unsigned, cons_to_signed):
48968         * src/frame.c (make_frame, x_set_frame_parameters):
48969         * src/keyboard.c (read_event_from_main_queue):
48970         * src/regex.c (regex_compile):
48971         * src/syntax.c (back_comment):
48972         * src/window.c (Frecenter):
48973         * src/xfaces.c (Fx_list_fonts):
48974         Remove IF_LINT that no longer seems necessary.
48975         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
48976         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
48977         a pragma dance to pacify GCC -Wclobbered.
48978         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
48980         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
48981         mean we do not need IF_LINT any more.
48982         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
48983         at the end, to forestall warnings from older compilers.
48985 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
48987         Port --enable-gcc-warnings to Cygwin, FreeBSD
48989         These platforms have a bug where _Noreturn is empty when 'lint' is
48990         defined.  Problem reported by Ken Brown (Bug#23640).
48991         * configure.ac (GCC_LINT): Rename from 'lint'.
48992         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
48994 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
48996         Update from gnulib
48998         This incorporates:
48999         2016-05-30 Use GCC_LINT, not lint
49000         2016-05-29 secure_getenv: Port to many more platforms.
49001         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
49002         * m4/secure_getenv.m4: Copy from gnulib.
49004 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
49006         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
49008         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
49010 2016-05-30  Ken Brown  <kbrown@cornell.edu>
49012         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
49014 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
49016         Fix Bug#23631 for Tramp
49018         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
49019         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
49020         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
49021         Fix caching problems.
49023         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
49025         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
49026         Move duplicate deletion ...
49027         (tramp-smb-handle-file-name-all-completions): ... here.
49029         * lisp/net/tramp.el (tramp-handle-file-name-completion):
49030         Handle `completion-ignored-extensions'.  (Bug#23631)
49032         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
49033         Test also `completion-regexp-list' and `completion-ignored-extensions'.
49035 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
49037         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
49039         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
49041 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49043         Fix up remainder of the mml property change
49045         * lisp/gnus/message.el (message-send-mail): Use the renamed
49046         mml-buffer-substring-no-properties-except-some function.
49047         (message-send-news): Ditto.
49049 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
49051         Allow preserving EXIF rotations when sending HTML messages
49053         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
49054         rotation if you have exiftool installed and the image format
49055         supports it.
49056         (mml-expand-html-into-multipart-related): Use it.
49057         (mml-buffer-substring-no-properties-except-some): Renamed and
49058         copy display properties, too.
49060 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
49062         Make message-toggle-image-thumbnails work better
49064         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
49065         `insert-image' instead of `put-image' to make it possible to
49066         edit the resulting text in a sensible manner.
49068 2016-05-29  Alan Mackenzie  <acm@muc.de>
49070         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
49072         Remove the now redundant c-old-BOM and c-old-EOM.
49074         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
49075         meaning.
49076         (c-macro-cache-no-comment): New variable.
49077         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
49078         the new c-macro-cache-no-comment.
49079         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
49080         (c-no-comment-end-of-macro): New function.
49082         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
49083         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
49085         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
49086         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
49087         c-old-BOM/EOM.
49088         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
49089         a cons for the new region, since the function is now called as an after-change
49090         function.  No longer adjust c-new-END for the length of inserted/deleted
49091         text.  Move the size restrictions on macros to here from
49092         c-neutralize-syntax-in-and-mark-CPP.
49093         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
49094         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
49095         upper boundary to "neutralize" syntactically obtrusive characters.
49096         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
49097         one.
49099 2016-05-28  Ken Brown  <kbrown@cornell.edu>
49101         Avoid compiler warnings
49103         * src/cygw32.c (chdir_to_default_directory): Use "void" as
49104         argument list.  Use SSDATA instead of SDATA.
49106         * src/unexcw.c (fixup_executable): Use %td as format specifier for
49107         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
49109 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
49111         Fix 'next-line' and 'previous-line' during keyboard macro
49113         * lisp/simple.el (line-move-visual): Handle the case when point
49114         moves outside of the visible portion of the buffer while executing
49115         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
49117 2016-05-28  Alan Mackenzie  <acm@muc.de>
49119         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
49121         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
49122         back over noise clauses and attribute clauses.
49124         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
49126 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
49128         Prevent locked-file errors in Rmail
49130         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
49131         calling 'rmail-insert-inbox-text'.  Unlock if
49132         'rmail-insert-inbox-text' doesn't modify buffer.
49133         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
49135 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
49137         Sync with Tramp repository.
49139         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
49140         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
49141         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
49142         Create BUFFER if it doesn't exist.  Reported by Nikolay
49143         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
49145         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
49146         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
49147         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
49148         (tramp-gvfs-get-directory-attributes)
49149         (tramp-gvfs-get-root-attributes)
49150         (tramp-gvfs-get-file-attributes): New defun.
49151         (tramp-gvfs-handle-file-attributes)
49152         (tramp-gvfs-handle-file-name-all-completions): Use them.
49153         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
49154         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
49155         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
49156         (top): Suppress D-Bus error messages during zeroconf initialization.
49158         * lisp/net/tramp.el (tramp-unknown-id-string)
49159         (tramp-unknown-id-integer): New defconst.
49160         (tramp-check-cached-permissions)
49161         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
49162         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
49163         (tramp-convert-file-attributes, tramp-get-remote-uid)
49164         (tramp-get-remote-gid): Use them.
49166         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
49167         Rename from `tramp-color-escape-sequence-regexp'.
49168         (tramp-sh-handle-insert-directory)
49169         (tramp-convert-file-attributes): Adapt callees.
49170         (tramp-device-escape-sequence-regexp): New defconst.
49171         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
49172         Gissurarson <icetritlo@gmail.com>.
49174         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
49175         Simplify.
49177         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
49178         (tramp-test28-shell-command):
49179         Use `tramp-display-escape-sequence-regexp'.
49181 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49183         Don’t document declare-function internals
49185         Suggested by Stefan Monnier in:
49186         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
49187         * doc/lispref/functions.texi (Declaring Functions):
49188         * lisp/subr.el (declare-function):
49189         * lisp/emacs-lisp/bytecomp.el:
49190         (byte-compile-macroexpand-declare-function):
49191         Document as (fn file &optional arglist fileonly)
49192         even though it is really (fn file &rest args).
49194 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49196         * src/puresize.h (BASE_PURESIZE): Increase it some more.
49198 2016-05-27  Glenn Morris  <rgm@gnu.org>
49200         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
49202         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
49203         avoid build failure.
49205 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49207         Port to platforms where rlim_max < 0
49209         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
49210         this can happen if a special value like RLIM_INFINITY is negative.
49212 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49214         Robustify stack-size calculation
49216         * src/emacs.c: Include getpagesize.h.
49217         (main): Check for integer overflow when computing stack size.
49218         Round new rlim_cur to pagesize boundary on all platforms, as this
49219         is easy and would have prevented Bug#23622.  If setrlimit
49220         fails, use current limit to determine re_max_failures.
49222 2016-05-27  Ken Brown  <kbrown@cornell.edu>
49224         Adjust filenotify-tests on Cygwin
49226         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
49227         Remove special case for Cygwin.
49228         (file-notify-test07-backup): Update expected results on Cygwin.
49230 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49232         Improve define-function omitted-arg documentation
49234         * doc/lispref/functions.texi (Declaring Functions):
49235         * lisp/subr.el (declare-function):
49236         Be clearer when documenting omitted args for define-function.
49238 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
49240         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
49242 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
49244         * lisp/subr.el (definition-prefixes): Expand docstring
49246         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
49247         Remove unused function.
49249 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
49251         Fix broken viper deactivation
49253         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
49254           args to advice-remove.
49255           (viper--advice-add): Use cons not list.
49257         Addresses bug#23625
49259 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
49261         Preserve buffer point in windows by default (Bug#4041).
49263         * doc/lispref/windows.texi: Mention new default.
49264         * etc/NEWS: Mention new default.
49265         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
49267 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49269         Fix byte-compiler pacification for declare-function
49271         Problem reported by Michael Heerdegen in:
49272         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
49273         * lisp/emacs-lisp/bytecomp.el:
49274         (byte-compile-macroexpand-declare-function):
49275         Revert signature to previous value.
49276         * lisp/subr.el (declare-function): Change signature to
49277         match the reverted signature used in the byte compiler.
49279 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49281         Update texinfo.tex
49283         This fixes Bug#23611 in a different (and presumably better) way.
49284         * doc/misc/texinfo.tex: Update from gnulib.
49286 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49288         Pacify 'make check-declare'
49290 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49292         Repair damage from emacs-25 merge
49294         * test/lisp/character-fold-tests.el:
49295         Remove, as it was renamed to test/lisp/char-fold-tests.el.
49296         * test/lisp/emulation/viper-tests.el:
49297         Rename from test/automated/viper-tests.el.
49299 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49301         Merge from origin/emacs-25
49303         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
49304         a4d882c Correct old cell name unbinding when renaming cell.
49305         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
49306         0be6725 Document problem: slow screen refresh on missing font.
49307         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
49308         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
49309         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
49310         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
49311         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
49312         897fb6f ; 'Changes from the pre-25.1 API' copyedits
49313         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
49314         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
49315         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
49316         2e589c0 Fix cross-references between manuals
49317         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
49318         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
49319         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
49320         503e752 ; * CONTRIBUTE: Fix a typo.
49321         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
49322         bdfbe6d ; * admin/release-process: Copyedits.
49323         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
49324         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
49325         df4a14b Add automated test for viper-tests.el
49326         c0139e3 Fix viper undo breakage from undo-boundary changes
49327         920d76c Fix reference to obsolete fn ps-eval-switch
49328         18a9bc1 Do not trash symlinks to init file
49329         2671179 Don't print the "decomposition" line for control chars in wha...
49330         869092c Bring back xterm pasting with middle mouse
49331         5ab0830 Provide workaround for xftfont rendering problem
49332         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
49333         30989a0 Mention GTK+ problems in etc/PROBLEMS
49334         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
49335         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
49336         e41a5cb Avoid errors with Czech and Slovak input methods
49337         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
49338         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
49339         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
49340         c45d9f6 Improve documentation of 'server-name'
49341         3b5e38c Modernize ASLR advice in etc/PROBLEMS
49342         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
49344 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
49346         Avoid byte-compiler warnings due to 'declare-function'
49348         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
49349         (w32-get-valid-locale-ids):
49350         * lisp/progmodes/js.el (ido-mode): Specify arglist in
49351         'declare-function' forms, to avoid byte-compiler warnings.
49353 2016-05-26  Glenn Morris  <rgm@gnu.org>
49355         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
49357         No-one puts info pages there.  If /share does exist, it's likely to
49358         contain remote file systems where access could be slow.
49360 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49362         Merge from origin/emacs-25
49364         2d76405 etc/AUTHORS: Update the AUTHORS file
49366 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49368         Merge from origin/emacs-25
49370         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
49372 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49374         Merge from origin/emacs-25
49376         939eb75 Fix bug in default setting of 'ps-paper-type'
49378 2016-05-26  Glenn Morris  <rgm@gnu.org>
49380         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
49382 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
49384         Fix Bug#23614.
49386         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
49387         Let-bind `process-coding-system-alist' in order to suppress
49388         the value for "cmdproxy".
49390         * lisp/net/tramp.el (tramp-encoding-shell):
49391         `w32-shell-name' is a function.
49392         (tramp-encoding-command-switch)
49393         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
49395         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
49396         Suppress some tests on MS Windows.  (Bug#23614)
49398 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
49400         hl-line.el: Fix flickering of highlighted line (bug#23510)
49402         * lisp/hl-line.el (hl-line-maybe-unhighlight)
49403         (global-hl-line-highlight-all)
49404         (global-hl-line-maybe-unhighlight): New functions.
49405         (hl-line-overlay-buffer): New variable.
49406         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
49407         pre-command-hook by hl-line-maybe-unhighlight on
49408         post-command-hook, to prevent hl-line from flickering.
49409         Adjust document string.
49410         (global-hl-line-mode): Use global-hl-line-highlight-all to
49411         simultaneously highlight the current line in all live windows.
49412         Replace global-hl-line-unhighlight on pre-command-hook by
49413         global-hl-line-maybe-unhighlight on post-command-hook, to
49414         prevent global-hl-line from flickering.  Remove
49415         global-hl-line-unhighlight from change-major-mode-hook on
49416         disabling the mode.  Adjust document string.
49418 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
49420         Make autoloads populate a new definition-prefixes table
49422         * lisp/subr.el (definition-prefixes): New hash table.
49423         (register-definition-prefixes): New function.
49425         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
49426         (autoload--split-prefixes-1, autoload--split-prefixes)
49427         (autoload--make-defs-autoload): New functions.
49428         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
49429         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
49430         (update-directory-autoloads): Don't touch loaddefs.el if the set of
49431         autoloads hasn't changed (i.e. if only the timestamp would change).
49433         * lisp/loadup.el: Purify definition-prefixes.
49435         * lisp/w32-fns.el: Keep name space clean.
49436         (w32-set-default-process-coding-system): Rename from
49437         set-default-process-coding-system.
49438         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
49440 2016-05-24  Ken Brown  <kbrown@cornell.edu>
49442         Allow network-stream-tests to work for out-of-tree builds
49444         * test/lisp/net/network-stream-tests.el
49445         (network-stream-tests--datadir): New defconst.
49446         (make-tls-server): Use it.
49448 2016-05-24  Ken Brown  <kbrown@cornell.edu>
49450         Fix failing echo-server-nowait test
49452         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
49453         Specify IPv4 for the client, to match the family of the server.
49454         (Bug#23606)
49456 2016-05-24  Ken Brown  <kbrown@cornell.edu>
49458         Allow shr-tests to work for out-of-tree builds
49460         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
49461         (shr-test, rendering): Use it.
49463 2016-05-24  Ken Brown  <kbrown@cornell.edu>
49465         Update allowable arguments for open-network-stream
49467         * src/coding.c (Ffind_operation_coding_system): Allow t as a
49468         target for open-network-stream.  (Bug #23540)
49470 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
49472         Make js-mode's syntax highlighting work again
49474         * lisp/progmodes/js.el (js-mode): Fix the assigned
49475         font-lock-defaults value (bug#23603).
49477 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49479         * lisp/progmodes/cc-mode.el: Add minor comments
49481         (c-change-expand-fl-region): Mark args as unused.
49483 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49485         * lisp/url/url-http.el: Use lexical-binding
49487         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
49488         (url-http-wait-for-headers-change-function): Remove unused var
49489         `content-length'.
49490         (url-http): Remove unused vars `host' and `port'.
49492 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49494         * lisp/widget.el (define-widget): Use `declare' (which does work now).
49496         (widget-plist-member): Mark as obsolete.
49498 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49500         * lisp/image.el: Use lexical-binding
49502         (image-scaling-factor, imagemagick-types-inhibit)
49503         (imagemagick-enabled-types): Remove redundant :group.
49504         (image--get-image): Apply de-Morgan and use car-safe.
49505         (image-compute-scaling-factor): Use the argument.
49507 2016-05-23  Glenn Morris  <rgm@gnu.org>
49509         * lisp/image.el (image--get-image): Remove nonsensical code.
49511         * lisp/image.el (image--get-image): Avoid requiring a library for
49512         one trivial operation.
49514 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
49516         Don’t use only last protocol from getaddrinfo
49518         Problem reported by Ken Brown in:
49519         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
49520         * src/process.c (conv_addrinfo_to_lisp): New function.
49521         (connect_network_socket): Arg is now a list of addrinfos, not
49522         merely IP addresses.  All uses changed.  Use protocol from
49523         each addrinfo.
49524         (Fmake_network_process): Accumulate protocols into addrinfos
49525         rather than just using the last one found.
49526         (check_for_dns): Accumulate protocols here, too.
49527         * src/process.h (struct Lisp_Process): Remove ai_protocol;
49528         no longer needed.
49530 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
49532         Fix seq requirement that broke bootstrap
49534         * lisp/image.el (image--get-image): Require seq here, not at the
49535         top level, to avoid ‘(require seq) while preparing to dump’ while
49536         bootstrapping.  Suggested by Tino Calancha in:
49537         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
49539 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
49541         Add missing dependencies to seq.el
49543         * lisp/emacs-lisp/find-func.el:
49544         * lisp/ibuffer.el:
49545         * lisp/image.el: Require seq.
49547 2016-05-22  Alp Aker  <alp@food52.com>
49549         * src/process.c (SOCK_NONBLOCK): Fix typo.
49551 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
49553         Add completion of colors in CSS mode
49555         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
49556         from "CSS Color Module Level 3".
49558         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
49559         Update test.
49561 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
49563         Prefer SOCK_NONBLOCK to O_NONBLOCK
49565         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
49566         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
49567         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
49568         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
49569         the order does not matter here.
49571 2016-05-21  Alan Third  <alan@idiocy.org>
49573         Fix bug#16856, cursor leaves garbage in fringe on OS X.
49575         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
49576         being drawn outside the text area.
49578 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
49580         Fix compiler warnings in the MinGW build
49582         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
49583         -Wno-pointer-sign, to keep the noise level down.
49585         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
49586         -Wredundant-decls, as that produces a lot of noise due to
49587         redeclaration of time-related functions by gnulib.
49588         * nt/runemacs.c (set_user_model_id): Fix argument type of
49589         'SetCurrentProcessExplicitAppUserModelID'.
49591         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
49592         declare 'dpyinfo', as it is unused.
49593         (xpm_load): Fix warnings about pointer signedness.
49594         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
49595         prototypes.
49596         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
49597         (sys_select): Provide prototype.
49598         (g_b_init_compare_string_w): Move declaration to file scope.
49599         * src/w32heap.c (dumped_data_commit): Now static.
49600         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
49601         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
49602         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
49603         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
49604         Provide prototypes.
49605         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
49606         redundant prototypes.
49607         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
49608         (init_environment, sys_ctime): Avoid warnings about discarding
49609         'const' qualifier.
49610         Include utimens.h.
49611         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
49612         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
49613         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
49614         prototypes.
49615         (sys_rename_replace): Use %d to avoid compiler warnings.
49616         (_wsa_errlist): Make the message text 'const char *', to avoid
49617         compilation warnings.
49618         (dynlib_reset_last_error): Move prototype to file scope.
49619         (w32_get_resource): First argument is now 'const char *'.
49620         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
49621         (otf_features): Second argument is no 'const char *'.
49622         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
49623         (x_set_window_size): Remove redundant prototypes.
49624         (XChangeGC, XGetGCValues, w32_draw_underwave)
49625         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
49626         (x_calc_absolute_position, x_destroy_window): Now static.
49627         (menubar_selection_callback): Move prototype to file scope.
49628         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
49629         declaration.
49630         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
49631         (w32font_full_name): Fix warnings about implicit conversion of
49632         'float' to 'double'.
49633         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
49634         discarding 'const' qualifier.
49635         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
49636         (set_frame_menubar): Remove redundant prototypes.
49637         (menubar_selection_callback, w32_menu_display_help): Provide
49638         prototypes.
49639         (simple_dialog_show): Avoid warnings about discarding 'const'
49640         qualifier.
49641         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
49642         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
49643         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
49644         redundant prototypes.
49645         (current_popup_menu): Remove redundant declaration.
49646         (colormap_t): Member 'name' is now 'const char *'.
49647         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
49648         (x_decode_color, x_set_border_pixel)
49649         (x_clear_under_internal_border, x_set_name, hook_w32_key)
49650         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
49651         static.
49652         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
49653         (w32_msg_worker, w32_last_error): Provide prototypes.
49654         (funhook, lookup_vk_code): Avoid warnings about missing
49655         parentheses.
49656         (x_default_font_parameter, Fw32_notification_notify): Avoid
49657         warnings about discarding 'const' qualifier.
49658         (Fx_create_frame): Avoid warnings about empty body of 'else'.
49659         (x_screen_planes): Ifdef away unused function.
49660         (Fx_show_tip): Remove unused variables.
49661         (Fw32_battery_status): Avoid warnings about implicit promotion
49662         from float to double.
49663         (Fw32_notification_notify): Initialize 'timeout'.
49664         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
49665         define the TIMER_SETTIME_RUNNING value if it will be used.
49666         * src/w32notify.c (send_notifications): Ifdef away an empty if
49667         clause.  Remove unused variable.
49668         (watch_end, watch_completion): Provide prototypes.
49669         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
49670         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
49671         warning with pointer signedness.
49672         * src/gnutls.c (gnutls_x509_crt_get_signature)
49673         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
49674         don't load them from the GnuTLS library, as they are no longer
49675         used.
49676         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
49677         define, as it's unused.
49678         * src/unexw32.c (open_input_file, open_output_file)
49679         (close_file_data): Remove redundant prototypes.
49680         (_start): provide prototype.
49681         (mainCRTStartup): Move prototype to file level.
49682         (find_section): Use type-cast to shut up compiler warnings.
49683         (offset_to_section, relocate_offset): Now static.
49684         (find_section): First argument is now a 'const char *'.
49685         (offset_to_section): Ifdef away, as it's unused.
49686         * src/w32heap.h (find_section): Adjust prototype.
49687         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
49688         * src/dired.c (directory_files_internal_w32_unwind): Avoid
49689         warnings about missing prototypes.
49690         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
49691         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
49692         signedness.
49693         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
49694         Fix warnings about pointer signedness.
49695         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
49696         unused.
49697         * src/sysdep.c (_getpid): Remove redundant prototype.
49698         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
49699         [!MSDOS]: Don't define 'st', it's unused.
49700         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
49701         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
49702         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
49703         n_to_read, as it is not used.
49704         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
49705         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
49706         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
49707         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
49708         not used by DOS_NT builds, to avoid compiler warnings.
49709         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
49710         declaration.
49711         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
49712         up compiler warnings.
49713         * src/w32term.h (x_set_window_size, x_get_focus_frame)
49714         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
49715         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
49716         (x_free_frame_resources, x_real_positions)
49717         (display_x_get_resource): Remove redundant prototypes.
49719         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
49720         (sys_rename, gettimeofday): Provide prototypes.
49721         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
49722         declarations.
49723         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
49724         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
49725         (close_winsock, initialize_sockets, w32_set_user_model_id)
49726         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
49727         prototypes.
49728         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
49729         difference.
49730         (w32_set_user_model_id): Update prototype of
49731         SetCurrentProcessExplicitAppUserModelID to avoid compiler
49732         warnings.
49733         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
49734         shut up compiler warnings.
49735         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
49737 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
49739         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
49741         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
49742         wrap on a whitespace character if it's followed by another
49743         whitespace character.  When returning under WORD_WRAP for a screen
49744         line that is continued, restore to wrap point when atpos/atx
49745         position would be displayed on the next screen line due to
49746         line-wrap.  (Bug#23570)
49748 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
49750         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
49752 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
49754         Added tests for dos unibyte decoding.
49756         The underlying bug was previously fixed by Eli Zaretskii in commit
49757         c8109d9c4057d8cac79e2c139758cadd410e7446.
49759 2016-05-20  Philipp Stephani  <phst@google.com>
49761         Fix handling of ‘mouse-on-link-p’.
49763         If ‘mouse-on-link-p’ returns a string or vector, the first element
49764         is to be used as new event.  Translation to ‘mouse-2’ should only
49765         happen if the return value is not a string or vector.  See
49766         docstring of ‘mouse-on-link-p’ and Bug#23288.
49768         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
49769         value of ‘mouse-on-link-p’ according to documentation.
49771         * test/lisp/mouse-tests.el (bug23288-use-return-value)
49772         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
49774 2016-05-20  Daiki Ueno  <ueno@gnu.org>
49776         epg: Add a way to detect gpg1 executable for tests
49778         Fixes bug#23561.
49780         * test/automated/epg-tests.el
49781         (epg-tests-program-alist-for-passphrase-callback): New
49782         constant.
49783         (epg-tests-find-usable-gpg-configuration): New function,
49784         renamed from `epg-tests-gpg-usable'.  All callers changed.
49785         (epg-tests-gpg-usable): Remove.
49787         * lisp/epg-config.el (epg-config--program-alist): Factor out
49788         constructor element to...
49789         (epg-config--configuration-constructor-alist): ...here.
49790         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
49791         and add PROGRAM-ALIST argument.
49793 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
49795         Put point at beginning of display-time-world buffer.
49797         If display-time-world decides to popup vertically from the bottom of the
49798         frame and scroll-margin is nonzero, the top of the buffer contents are
49799         hidden due to scroll.
49800         * lisp/time.el (display-time-world-display): Move point to point-min
49801         after inserting contents.
49803 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49805         Allow null entries in face and image cache
49807         Problem reported by Tino Calancha (Bug#23580).
49808         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
49809         Don’t assume that the result is non-null.
49810         * src/xdisp.c (fill_image_glyph_string):
49811         Restore check that image pointer is non-null.
49813 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49815         Fix flyspell highlighting
49817         Problem reported by Jim Meyering (Bug#23575).
49818         * src/xdisp.c (extend_face_to_end_of_line):
49819         Fix typo in previous change.
49821 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
49823         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
49825 2016-05-18  Sam Steingold  <sds@gnu.org>
49827         python-describe-at-point: add and bind
49829 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49831         ‘make check-declare’ now chatters less
49833         * etc/NEWS: Document this.
49834         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
49835         Return relative names, not absolute.
49836         (check-declare-scan, check-declare-verify, check-declare-warn)
49837         (check-declare-file, check-declare-directory):
49838         Generate less chatter.  Use relative file names rather than
49839         absolute.  Don’t give up on computing a good file name for a
49840         diagnostic merely because the function name was bad.  Make
49841         malformed declarations more noticeable.  Don’t warn about
49842         "ext:..." declarations if check-declare-ext-errors is nil.
49843         (check-declare-errmsg): Remove.
49844         (check-declare-warn): New optional arg LINE.
49845         (check-declare-files): Put status into mode line rather than
49846         chattering.
49848 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49850         Pacify byte-compiler for byte-compile-macroexpand-declare-function
49852         * lisp/emacs-lisp/bytecomp.el: Change signature of
49853         byte-compile-macroexpand-declare-function to match that of
49854         declare-function.
49856 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49858         Pacify byte-compiler for with-wrapper-hook
49860         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
49861         New macro, split out from with-wrapper-hook.
49862         * lisp/abbrev.el (abbrev--default-expand):
49863         * lisp/minibuffer.el (completion--in-region):
49864         * lisp/simple.el (buffer-substring--filter):
49865         * lisp/subr.el (with-wrapper-hook):
49866         Use it.
49868 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49870         Pacify byte-compiler in lisp/url
49872         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
49873         Add decl.
49875 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49877         Port --enable-gcc-warnings to GCC 6.1
49879         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
49880         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
49881         Omit test whether pointer plus a constant equals a null pointer.
49882         * src/alloc.c (compact_small_strings):
49883         Avoid pointer arithmetic on null pointers.
49884         * src/alloc.c (mark_face_cache):
49885         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
49886         * src/fringe.c (draw_fringe_bitmap_1)
49887         (Fset_fringe_bitmap_face):
49888         * src/macfont.m (macfont_draw):
49889         * src/msdos.c (IT_set_face, IT_clear_screen):
49890         * src/nsfont.m (nsfont_draw):
49891         * src/nsterm.h (FRAME_DEFAULT_FACE):
49892         * src/nsterm.m (ns_draw_window_cursor)
49893         (ns_draw_vertical_window_border, ns_draw_window_divider)
49894         (ns_dumpglyphs_box_or_relief)
49895         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
49896         (ns_dumpglyphs_stretch):
49897         * src/w32term.c (w32_draw_vertical_window_border)
49898         (w32_draw_window_divider, x_set_mouse_face_gc):
49899         * src/xdisp.c (estimate_mode_line_height, init_iterator)
49900         (handle_face_prop, handle_single_display_spec, pop_it)
49901         (CHAR_COMPOSED_P, get_next_display_element)
49902         (next_element_from_display_vector, extend_face_to_end_of_line)
49903         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
49904         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
49905         (lookup_named_face):
49906         * src/xterm.c (x_draw_vertical_window_border)
49907         (x_draw_window_divider, x_set_mouse_face_gc):
49908         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
49909         * src/xterm.c (try_window_id):
49910         Redo loop to convince GCC 6.1 that it is null pointer safe.
49911         (x_color_cells):
49912         Use eassume as necessary to pacify GCC 6.1.
49913         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
49914         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
49915         behavior of the non-_OPT macro, to be used when the result
49916         might be a null pointer.
49917         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
49918         [HAVE_WINDOW_SYSTEM]:
49919         * src/intervals.h (INTERVAL_WRITABLE_P):
49920         * src/term.c (turn_off_face):
49921         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
49922         (produce_image_glyph, produce_xwidget_glyph):
49923         * src/xfaces.c (lookup_named_face):
49924         Remove unnecessary test for null pointer.
49925         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
49926         * src/process.c (would_block): New function.
49927         (server_accept_connection, wait_reading_process_output, send_process):
49928         Use it.
49929         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
49930         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
49931         might be null.
49933 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49935         Sync from gnulib
49937         This incorporates:
49938         2016-05-17 manywarnings: update for GCC 6.1
49939         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
49940         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
49942 2016-05-16  Glenn Morris  <rgm@gnu.org>
49944         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
49945         Include more details on hydra.
49947 2016-05-16  Alan Mackenzie  <acm@muc.de>
49949         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
49951 2016-05-16  Alan Mackenzie  <acm@muc.de>
49953         Fix spurious fontification of "for (; a * b;)" in CC Mode.
49955         This fixes bug #7918 (again).
49957         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
49958         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
49959         cons cell - additionally, return a flag indicating whether the declaration
49960         parsed might have been an expression, and the position of the type identifier
49961         in the said declaration.
49963         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
49964         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
49965         check for it being a spurious declaration in a "for" statement.
49967 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49969         Pacify ‘make check-declare’
49971         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
49972         (data-debug-insert-stuff-list, data-debug-insert-thing):
49973         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
49974         (viper-change-state-to-emacs):
49975         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
49976         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
49977         * lisp/org/ob-awk.el (orgtbl-to-generic):
49978         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
49979         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
49980         * lisp/org/ob-exp.el (org-element-context):
49981         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
49982         (orgtbl-to-generic):
49983         * lisp/org/ob-haskell.el (org-export-to-file):
49984         * lisp/org/ob-latex.el (org-create-formula-image)
49985         (org-latex-compile):
49986         * lisp/org/ob-python.el (run-python):
49987         * lisp/org/ob-sh.el (orgtbl-to-generic):
49988         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
49989         * lisp/org/org-colview.el (org-agenda-redo):
49990         * lisp/org/org-feed.el (url-retrieve-synchronously):
49991         * lisp/org/org-info.el (Info-find-node):
49992         * lisp/org/org-list.el (org-previous-line-empty-p):
49993         * lisp/org/org-macs.el (org-string-match-p):
49994         * lisp/org/org.el (org-beamer-mode):
49995         Fix prototype to match current definition.
49996         * lisp/emacs-lisp/advice.el (function-called-at-point):
49997         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
49998         Fix typo: extra '.
49999         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
50000         Insert ,' to pacify check-declare.
50001         * lisp/org/ob-comint.el (tramp-flush-directory-property):
50002         * lisp/org/ob-tangle.el (org-babel-update-block-body):
50003         * lisp/org/org-bibtex.el (org-babel-trim):
50004         * lisp/org/org-pcomplete.el (org-export-backend-options):
50005         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
50006         Fix file name in declare-function.
50007         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
50008         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
50009         * lisp/org/org.el (org-beamer-mode):
50010         * lisp/url/url-http.el (gnutls-negotiate):
50011         Append ‘t’ to declare-function, since the declaration isn’t a defun.
50012         * lisp/org/ob-core.el (show-all):
50013         Declare outline-show-all instead, since it is the
50014         non-obsolete version of this function.
50015         (org-save-outline-visibility): Remove; not needed.
50016         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
50017         (geiser-eval-region, geiser-repl-exit):
50018         * lisp/org/ox-org.el (htmlize-buffer):
50019         Prepend "ext:" to file name, since it is not part of Emacs.
50020         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
50021         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
50022         Remove decl, since function was removed.
50023         * lisp/org/ob-sh.el (org-babel-comint-with-output):
50024         * lisp/org/org-macro.el (org-with-wide-buffer):
50025         Omit unnecessary (and mismatching) decl.
50026         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
50027         * lisp/org/org-clock.el (calendar-iso-to-absolute):
50028         Declare calendar-iso-to-absolute instead, since it is the
50029         non-obsolete version of this function.
50030         * lisp/org/org-compat.el (w32-focus-frame):
50031         Remove decl, since function is now obsolete.
50033 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
50035         :max-width/height fixes for shr after the scaling changes
50037         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
50038         max-width and max-height even after the scaling changes done
50039         earlier this year.
50041 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
50043         Fix reading minibuffer input in viper-mode
50045         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
50046         Restore an assignment to viper-initial that got lost when
50047         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
50049 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50051         Port autogen.sh to Git 2.4
50053         Problem reported by Michael Brand in:
50054         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
50055         * autogen.sh (git_config): Don't assume that git rev-parse
50056         groks --git-common-dir.
50058 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50060         Merge from origin/emacs-25
50062         6de0715 Properly reject malformed or empty package sigs
50063         edae7d9 Remove buggy non-native image scrolling
50065 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50067         Improve display of tex-verbatim and Info quoted
50069         Problem reported by Glenn Morris (Bug#19889).
50070         * doc/emacs/display.texi (Standard Faces):
50071         * doc/lispref/display.texi (Basic Faces):
50072         * etc/NEWS: Mention fixed-pitch-serif.
50073         * lisp/faces.el (face-font-family-alternatives):
50074         New family alias Monospace Serif.
50075         (fixed-pitch-serif): New face, which uses the new family.
50076         * lisp/info.el (Info-quoted):
50077         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
50078         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
50079         Add test case for Monospace Serif.
50081 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
50083         * lisp/net/sieve-mode.el: Handle the text:... notation
50085         Get rid of redundant :group keywords.
50086         (sieve-mode-syntax-table): Move initialization into declaration.
50087         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
50088         (sieve-mode): Use them.
50090 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50092         Tweak check-declare-directory performance
50094         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
50095         Use ‘find ... -exec ... +’ for speed.
50097 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50099         Sync from gnulib
50101         This incorporates a spelling fix, plus:
50102         2016-05-09 Fix undefined behavior in gettext.h
50103         * lib/gettext.h, lib/mktime.c:
50104         Copy from gnulib.
50106 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50108         Merge from origin/emacs-25
50110         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
50111         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
50112         1a5a05c Do not mistake colon at the end of regexp for slash symbol
50113         4c5a00b Make package-install-from-buffer not move point
50114         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
50115         f79c352 Redo the fix for bug#21839
50116         8d2f78c Don't treat JS spread as contination method call
50118 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
50120         Correct server/client address
50122         * src/process.c (Fmake_network_process): :local is for servers and :remote
50123         is for clients.
50125 2016-05-12  Ken Brown  <kbrown@cornell.edu>
50127         Autosave buffers on logout if HAVE_NTGUI
50129         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
50130         w32_read_socket.
50132         * src/w32term.c (w32_read_socket): Create an event of type
50133         END_SESSION_EVENT if a WM_ENDSESSION message is received.
50135         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
50137         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
50138         `end-session'.
50139         (kbd_buffer_get_event): Return an end-session event if an event of
50140         type END_SESSION_EVENT is read.
50141         (keys_of_keyboard): Bind the end-session event to kill-emacs in
50142         special-event-map.  (Bug#23483)
50144 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
50146         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
50148         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
50149         (object-print): Use cl-call-next-method instead of call-next-method.
50150         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
50152 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
50154         * lisp/cedet/semantic: Silence some warnings
50156         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
50157         (semanticdb-get-database-tables): Use make-instance to silence warnings.
50159         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
50160         some macros from there.  Silence compilation warnings:
50161         Replace initargs with slot names in oref/oset.
50162         Move `SYMREF TOOLS' section earlier so definitions precede their use.
50164 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
50166         Support srcset in <img>
50168         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
50169         with srcset specifiers (bug#23459).
50171 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
50173         Do not autoload some functions of tramp.el
50175         * lisp/net/tramp.el (tramp-completion-file-name-handler):
50176         Autoload a shortened version of this function, avoid recursive load.
50177         (tramp-completion-file-name-handler-alist)
50178         (tramp-completion-mode-p)
50179         (tramp-completion-handle-expand-file-name)
50180         (tramp-completion-handle-file-name-all-completions)
50181         (tramp-completion-handle-file-name-completion): Do not autoload.
50183 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
50185         Avoid recursive load of tramp.el
50187         * lisp/net/tramp.el (tramp-completion-file-name-handler):
50188         Autoload a shortened version of this function, avoid recursive load.
50190 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
50192         Fix a problem of tramp-tests on hydra.
50194         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
50195         Nullify `tramp-default-method' due to hydra.
50197 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
50199         Pacify byte-compiler in lisp/vc
50201         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
50202         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
50203         Declare functions defined elsewhere, to forestall “might not
50204         be defined at runtime” warnings.
50206 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
50208         Merge from origin/emacs-25
50210         d0d9f55 Allow newlines inside cl function arglists
50211         963541a Publicize cl--generic-all-functions
50212         3c581d5 ; Fix typo
50213         e58f900 Add some "safe-local-variable" declarations for compatibility...
50215 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
50217         'text-quoting-style' now affects only ` and '
50219         Change 'text-quoting-style' so that it no longer affects
50220         formatting of curved quotes in format arguments to functions like
50221         'message'.  In particular, when this variable's value is 'grave',
50222         all quotes in formats are output as-is.
50223         * doc/lispref/help.texi (Keys in Documentation):
50224         * doc/lispref/strings.texi (Formatting Strings):
50225         * doc/lispref/tips.texi (Documentation Tips):
50226         * etc/NEWS:
50227         * src/doc.c (syms_of_doc): Document this.
50228         * lisp/help-fns.el (describe-function-1):
50229         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
50230         (syms_of_doc):
50231         * src/editfns.c (styled_format): Omit now-unnecessary code.
50232         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
50234 2016-05-10  Alan Mackenzie  <acm@muc.de>
50236         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
50238         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
50239         being reverted because it slowed down CC Mode's fontification too much
50240         (factor ~3).  It was the fix to bug #7918.
50242 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
50244         Move "Recent messages" earlier in report-emacs-bug
50246         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
50247         messages" part earlier so that users can see it and remove it
50248         if they want.
50250 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
50252         Pacify byte compiler in tramp.el
50254         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
50256 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
50258         Merge from origin/emacs-25
50260         3b47898 Fix doc string in `insert'
50261         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
50262         cd27f73 Say 'All results processed' at the end
50263         4ffec91 Document automatic adjustment of process' logical window dime...
50264         dc66271 ; Fix typos and stylistic glitches in NEWS
50266 2016-05-09  Alan Mackenzie  <acm@muc.de>
50268         CC Mode now uses the new :after-hook feature of define-derived-mode
50270         It now runs internal variable setting functions after the mode hooks, no
50271         longer runs the mode hooks twice, and declares the configuration variables for
50272         noise macros and macros with semicolons as safe variables (when given suitable
50273         arguments).
50275         Fixes bug #16759 and bug #23476.
50277         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
50278         back into the C Mode value.
50280         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
50281         c-make-macro-with-semi-re.
50282         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
50283         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
50284         and c-update-modeline into the :after-hook form.  Remove the explicit settings
50285         of the syntax table, the abbreviation table and the local key map, since they
50286         duplicate forms generated by define-derived-mode.  Remove the explicit
50287         invocation of each mode's mode hook, since they duplicate ones generated by
50288         define-derived-mode.
50290         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
50291         functions.
50292         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
50293         save-local-variable property c-string-list-p.
50294         (c-macro-names-with-semicolon): give the save-local-variable property
50295         c-string-or-string-list-p.
50297         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
50298         necessary to call the regexp generating functions after setting the pertinent
50299         configuration values in a mode hook.
50301 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
50303         Fix the jit-lock-fontify-now test names
50305         * test/lisp/jit-lock-tests.el
50306         (jit-lock-fontify-now-mends-the-gaps)
50307         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
50308         Fix the test names.
50310 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
50312         Extend completion candidates in tramp.el
50314         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
50315         (tramp-get-completion-function): Use it.
50317 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
50319         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
50321         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
50322         compatibility.
50324 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
50326         Emulate interactive mode
50328         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
50329         (jit-lock-does-not-refontify-unnecessarily):
50330         Bind noninteractive to nil (bug#23278).
50332 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
50334         Simplify now that float-time etc. are built-in
50336         This was prompted by warnings about calls to now-obsolete functions.
50337         * lisp/calendar/time-date.el (encode-time-value):
50338         Use setq rather than a recursive call, to avoid a warning
50339         about calling this obsolete function.
50340         * lisp/calendar/time-date.el (encode-time-value)
50341         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
50342         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
50343         * lisp/net/rcirc.el (rcirc-float-time):
50344         * lisp/org/org-compat.el (org-float-time):
50345         Simplify now that time-add and float-time are now built-in.
50346         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
50347         * lisp/net/newst-backend.el (time-add):
50348         * lisp/org/org.el (time-subtract):
50349         Remove backward-compatibility definitions; they are now built-in.
50350         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
50351         (timeclock-seconds-to-time):
50352         * lisp/net/rcirc.el (rcirc-float-time):
50353         * lisp/org/org-compat.el (org-float-time):
50354         Now obsolete, since callers can just use float-time and
50355         seconds-to-time.  All uses changed.
50356         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
50357         * lisp/gnus/gnus-art.el (article-lapsed-string):
50358         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
50359         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
50360         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
50361         * lisp/net/tramp.el (tramp-time-diff):
50362         * lisp/org/org-clock.el (org-clock-timestamps-change):
50363         Prefer the time-subtract builtin to the subtract-time alias.
50364         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
50365         * test/lisp/character-fold-tests.el (character-fold--speed-test):
50366         Prefer the float-time builtin to the time-to-seconds alias.
50367         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
50368         * lisp/org/org-timer.el, lisp/org/org.el:
50369         Adjust to org-float-time deprecation.
50371 2016-05-08  Alan Mackenzie  <acm@muc.de>
50373         Add :after-hook facility to define-derived-mode.
50375         This allow a form to be evaluated _after_ a major mode's hooks have been run.
50376         It is needed to solve some problems in CC Mode, including bug #16759 and
50377         bug #23476.
50379         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
50380         `:after-hook', and generate the requisite code for it.
50381         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
50383         * lisp/subr.el (delayed-after-hook-forms): New variable.
50384         (run-mode-hooks): As the last thing evaluate the forms in
50385         delayed-after-hook-forms.
50387         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
50388         (Mode Hooks): Document the new feature in run-mode-hooks.
50390         * etc/NEWS: Note the new feature.
50392 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
50394         Fix recursive load of tramp.elc
50396         * lisp/net/tramp.el (tramp-completion-file-name-handler):
50397         Check also for `tramp-completion-mode-p'.
50398         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
50400 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
50402         Prefer grep -E/-F to egrep/fgrep
50404         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
50405         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
50406         are probably more portable.
50407         * lib-src/etags.c (main):
50408         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
50409         (eshell/fgrep):
50410         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
50411         * lisp/eshell/esh-var.el (eshell-apply-indices):
50412         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
50413         (ada-find-in-src-path):
50414         * lisp/textmodes/ispell.el (ispell-grep-command):
50415         (ispell-lookup-words):
50416         Use or document grep -E and grep -F instead of egrep and fgrep.
50417         * lisp/textmodes/ispell.el (ispell-grep-options):
50418         Use -Ei on all platforms, not just MS-Windows.
50420 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
50422         Avoid unnecessary work if a chunk is empty
50424         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
50425         if a chunk is empty (bug#23278).
50427 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
50429         * test/lisp/jit-lock-tests.el: New file.
50431 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
50433         Continue to fix Bug#10085
50435         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
50436         <expand-file-name>: Add handler.
50437         (tramp-completion-handle-expand-file-name): New defun.
50438         (tramp-handle-file-name-as-directory): Handle completion mode case.
50440         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
50441         Fix test.
50442         (tramp-test24-file-name-completion): Extend test.
50444 2016-05-07  Alan Mackenzie  <acm@muc.de>
50446         Revert change 8e4595a... due to annoyance it causes the development team.
50448         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
50449         +0000 was an enhancement to .dir-locals to allow correct fontification
50450         of certain macro constructs.
50452         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
50454 2016-05-07  Alan Mackenzie  <acm@muc.de>
50456         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
50458 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
50460         Add tests for CSS mode completion
50462         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
50463         (css-test-property-values-no-duplicates)
50464         (css-test-value-class-lookup): Use `seq-sort'.
50465         (css-mode-tests--completions): New helper function for retrieving CSS
50466         completions.
50467         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
50468         (css-test-complete-property-value, css-test-complete-pseudo-class)
50469         (css-test-complete-pseudo-element, css-test-complete-at-rule)
50470         (scss-test-complete-at-rule, css-test-complete-property)
50471         (css-test-complete-selector, css-test-complete-nested-selector)
50472         (scss-test-complete-nested-selector): New tests.
50474 2016-05-06  Alan Mackenzie  <acm@muc.de>
50476         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
50478         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
50479         variables which was missing.
50481         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
50482         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
50484         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
50485         (Edebug Options): Document the new option.  Also add documentation for
50486         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
50487         edebug-print-circle, edebug-sit-for-seconds.
50489         * etc/NEWS: Note the new feature.
50491 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
50493         scheme.el: Turn literal tabs into \t
50495         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
50496         also caught some literal tabs in character classes. Fix this by
50497         adding \t to those classes.
50499 2016-05-07  Tino Calancha  <f92capac@gmail.com>
50501         Make 'backtab' work in table-mode on text terminals
50503         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
50504         explicitly.  (Bug#23456)
50506 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
50508         Try to speed-up display of many all-blank lines
50510         * src/bidi.c (bidi_initialize): Use anchored regexps for
50511         paragraph start and paragraph separator sequences.  (Bug#23457)
50513 2016-05-06  Alan Mackenzie  <acm@muc.de>
50515         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
50517         Prevent hack-local-variables being called from the fundamental-mode mode call
50518         early in normal-mode.  This fixes bug #23460 and bug #23463.
50520         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
50521         the things it calls, with the exception of hack-local-variables.
50523         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
50524         major mode initialization.
50526 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50528         Port xref-tests to master branch
50530         Also, add a test to make this problem less likely in the future.
50531         * test/Makefile.in (check-no-automated-subdir): New rule.
50532         (check, check-expensive, check-maybe): Depend on it.
50533         * test/automated/data/xref/file1.txt: Rename to ...
50534         * test/data/xref/file1.txt: ... here.
50535         * test/automated/data/xref/file2.txt: Rename to ...
50536         * test/data/xref/file2.txt: ... here.
50537         * test/automated/xref-tests.el: Rename to ...
50538         * test/lisp/progmodes/xref-tests.el: ... here.
50539         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
50541 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50543         Merge from origin/emacs-25
50545         50650cb Doc fixes for fclist and grep
50546         5e814e0 Minor doc fixes for quoting
50547         3347a73 `nreverse' the marker pairs list
50548         1a4127d Use save-excursion in xref-location-marker more
50549         ab3ba91 shell-quote-argument DIR when appropriate
50550         922c7a3 Rework xref-query-replace-in-results
50551         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
50552         0932b94 Fix todo-mode bug involving archived items (bug#23447)
50553         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
50554         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
50555         4d8fd9c Handle "empty line" regexp in xref searches
50556         f559b37 Add tests for xref-collect-matches
50557         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
50558         6f82d8e Clear buffer-undo-list when showing xrefs
50559         c68a091 Note the quote translation in `message' in section "incompati...
50560         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
50561         93703c5 (Common Keywords): Correct what missing :group means
50562         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
50563         2ea2a2f Doc fixes for quoting
50564         8544b98 posnp doc clarification
50565         805204f Mention what a missing :group does
50566         ec554d7 Fix documentation of dired-aux search/replace commands
50568 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
50570         Support completion of HTML tags in CSS selectors
50572         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
50573         list of HTML tags for completion.
50574         (css--nested-selectors-allowed): New variable for determining whether
50575         nested selectors are allowed in the current mode.
50576         (css--complete-selector): New function for completing part of a CSS
50577         selector.
50578         (css-completion-at-point): Support completion of selectors.
50579         (scss-mode): Allow nested selectors.
50581 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
50583         Make `R' in eww work more reliably
50585         * lisp/net/eww.el (eww-score-readability): Protect against
50586         null children.
50588 2016-05-05  Alan Mackenzie  <acm@muc.de>
50590         Call hack-local-variables from major modes rather than from file visiting
50592         This prevents file/directory local variables from being lost when the major
50593         mode is set or changed.
50595         This fixes bug #15577 and bug #23407.
50597         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
50598         function hasn't already done so.
50599         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
50600         its previous non-nil setting be t, and introduce the following action for a
50601         non-nil non-t value: apply all settings apart from `mode'.
50603         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
50604         which are visiting files.
50606         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
50607         sets file variables.
50608         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
50609         dir local variables, but `coding' can't.
50611         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
50612         also calls `hack-local-variables'.
50613         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
50614         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
50615         saying that the mode IS SET, not merely "selected" or "chosen".
50616         (Mode Hooks): Document change to `run-mode-hooks'.
50618         * doc/lispref/variables.texi (File Local Variables): Document change to
50619         `hack-local-variables'.
50621 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
50623         tramp-sh.el: Work around a stat bug
50625         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
50626         stat versions which produce shell quoted output.  See also
50627         coreutils Bug#23422.
50629 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
50631         Fix autogen.sh for separate worktrees
50633         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
50634         of assuming .git/hooks is a directory.
50636 2016-05-04  Alan Mackenzie  <acm@muc.de>
50638         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
50640         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
50641         when text-quoting-style is `leave'.
50643         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
50645         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
50646         `text_quoting_style'.
50647         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
50648         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
50649         LEAVE_QUOTING_STYLE.
50651         * src/editfns.c (styled_format): Set quoting_style to -1 when
50652         text-quoting-style is `leave'.
50654 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
50656         * lisp/emulation/viper.el:
50657         * lisp/emulation/viper-cmd.el: Use lexical-binding.
50658         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
50659         args, for use in advice-add.
50660         (viper--init-message): Rename from init-message.
50661         (viper-minibuffer-standard-hook): Adjust accordingly.
50662         (viper-undo): Remove unused var `modified'.
50663         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
50664         Don't use dynamic vars as args.
50665         (viper-submit-report): Clarify use of dynamic vars.
50667         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
50668         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
50669         Use add-function rather than a `(lambda ...).
50670         (viper--advice-list): New var.
50671         (viper--advice-add, viper--deactivate-advice-list): New funs.
50672         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
50673         (viper-non-hook-settings): Don't hook into find-file any more.
50675 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
50677         * lisp/vc/ediff-util.el: Use lexical-binding.
50679         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
50681 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
50683         Add an animation sanity check
50685         * lisp/image.el (image-multi-frame-p): Give up on animations
50686         if it seems like they are too slow (bug#23431).
50688 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
50690         abbrev-tests.el fix
50692         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
50693         internal implementation detail.
50695 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
50697         (shr-rescale-image): Clarify logic slightly
50699         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
50701 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
50703         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
50705         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
50706         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
50707         Monnier.  (Bug#19185, Bug#20398)
50709 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
50711         Add more abbrev tests
50713         * test/lisp/abbrev-tests.el
50714         (clear-abbrev-table-test): Use `abbrev-expansion'
50715         (abbrev-table-empty-p-test, list-abbrevs-test)
50716         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
50717         (edit-abbrevs-test, define-abbrevs-test)
50718         (read-write-abbrev-file-test)
50719         (abbrev-edit-save-to-file-test): New tests (bug#23139).
50721 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
50723         Allow eval-ing named character literals
50725         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
50726         named character literals.
50727         * test/lisp/progmodes/elisp-mode-tests.el
50728         (elisp--preceding-sexp--char-name): Add test for skipping over
50729         named character literals (bug#23354).
50731 2016-05-02  Aaron Conole  <aconole@redhat.com>
50733         Call va_end in boot_error
50735         * src/gnutls.c (boot_error): A recent change added a function
50736         to signal an error or return an error code. That function uses
50737         a variadic argument list to populate an error message
50738         string. However, it missed calling va_end after using the
50739         variadic argument list.
50741           Copyright-paperwork-exempt: yes
50743 2016-05-02  Aaron Conole  <aconole@bytheb.org>
50745         Fix the call to set_network_coding_system
50747         * src/process.c (Fmake_network_process): A recent commit
50748         modified the set_network_socket_coding_system function to take
50749         arguments host, service, and name. However, those arguments
50750         appear to be swapped.
50752           Copyright-paperwork-exempt: yes
50754 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
50756         Revert "alas, a map can have only one parent"
50758         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
50760         This had already been fixed by using `make-composed-map'.  And
50761         we don't want image-map to inherit from special-mode-map, anyway.
50763 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50765         Merge from origin/emacs-25
50767         bf21c84 Fix quoting problem in cc-engine debug message
50768         8f36614 Add electric-quote-string unit test
50769         6280531 Don’t electrically quote ‘'’ in Python
50770         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
50772 2016-05-02  Sam Steingold  <sds@gnu.org>
50774         alas, a map can have only one parent
50776         * lisp/image-mode.el (image-model-map): Cannot have two parents.
50777         * lisp/image.el (image-map): Inherit from `special-mode-map'.
50779 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
50781         Fix Bug#10085
50783         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
50784         Add optional arguments OPERATION and COMPETION.  Handle
50785         `file-name-as-directory', `file-name-directory' and
50786         `file-name-nondirectory' also in completion mode.
50787         (tramp-file-name-handler): Use it.  (Bug#10085)
50789         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
50790         Extend test.
50792 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
50794         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
50796 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50798         Tweak .gitignore
50800         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
50801         as these files are no longer created.  Add gmon.out, for
50802         -pg profiling.  Sort.
50804 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50806         Sync from gnulib
50808         This incorporates:
50809         2016-05-01 mktime: port to stricter signed overflow checking
50810         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
50811         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
50812         2016-05-01 mktime: simplify DEBUG_MKTIME
50813         2016-05-01 Port mktime_internal offset to unsigned time_t
50814         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
50815         2016-04-13 mktime: improve integer overflow checking
50816         2016-04-13 intprops: check two's complement assumption
50817         2016-04-13 intprops, mktime, strtol: assume two's complement
50818         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
50819         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
50820         Copy from gnulib.
50822 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50824         Merge from origin/emacs-25
50826         c695fb3 ; Spelling fixes
50827         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
50828         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
50830 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50832         Merge from origin/emacs-25
50834         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
50835         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
50836         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
50838         # Conflicts:
50839         #       doc/misc/url.texi
50840         #       lisp/url/url.el
50842 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50844         Merge from origin/emacs-25
50846         16e5e8e Fix last change to isearch-update (bug#23406)
50847         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
50848         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
50849         86aa409 Followup for last commit in the user manual
50850         7004459 Improve doc string of 'set-goal-column'
50851         ccdaf04 Fix the MSDOS build
50852         ffe701c Remove \= from format string (bug#18190)
50853         1c58fa1 Fix variable-pitch font on MS-Windows
50854         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
50855         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
50856         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
50857         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
50858         734fb3a Port dumping to NetBSD with PaX
50859         0255a70 Don't mistake `for' inside a function for a part of array com...
50861         # Conflicts:
50862         #       src/Makefile.in
50864 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50866         Merge from origin/emacs-25
50868         71fb0e0 Improve last change to vc-git-mode-line-string
50869         6858e77 Todo mode doc bug fix
50870         e55d0db Fix revision calculation in vc-git-mode-line-string
50871         ca87b34 ; Fix errant revert ccb75d7
50872         40bfebe Add Python 3.5 keyword "await"
50873         fa7886a Add new keywords of Python 3.5
50874         ccb75d7 Partially revert previous change.
50875         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
50876         b09ca27 Say why text-quoting-style is not a user option
50878 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50880         Merge from origin/emacs-25
50882         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
50883         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
50884         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
50886 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
50888         Mention the `find-library-name' changes
50890 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
50892         Fix text in menu in minor-mode-menu-from-indicator
50894         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
50895         capitalize "Off" in "Turn Off" (bug#11028).
50897 2016-05-01  David Engster  <deng@randomsample.de>
50899         gitmerge: Add cherry pick to gitmerge-skip-regexp
50901         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
50902         from commit", which is the string appended by 'git cherry-pick
50903         -x'.
50905 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
50907         Allow `global-set-key' to bind keys under the `M-o' map
50909         * lisp/subr.el (global-set-key): Allow binding keys under the
50910         `M-o' map (bug#9730).
50912 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
50914         Add `size-indication-mode' to the menu on `mouse-1' "Top"
50916         * lisp/bindings.el (mode-line-column-line-number-mode-map):
50917         Add `size-indication-mode' to the menu (bug#5727).
50919 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
50921         Allow finding libraries loaded manually outside the load-path
50923         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
50924         New function to find a library from a load path (bug#5661).
50925         (find-library-name): Use it.
50927         There are so many combinations of inputs and possibly entries in
50928         `load-history' that the code looks like an entry in a code obfuscation
50929         contest.  If anybody has a better implementation, please substitute.
50931         But remember that the input given may be foo, foo.el, foo.elc, and the
50932         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
50933         want to return only foo.el and foo.el.gz.  *phew*
50935 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
50937         Allow minibuffer prompts to use faces
50939         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
50940         `minibuffer-prompt-properties' and explain how faces work in
50941         the minibuffer prompt.
50943         * src/minibuf.c (read_minibuf): If `face' is in
50944         `minibuffer-prompt-properties', apply it to the end of the
50945         face list to allow users to have their own faces on the
50946         prompts (bug#16136).
50948 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
50950         Add R7RS syntax forms to scheme.el
50952         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
50953         a number of special forms introduced in R7RS-small.
50954         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
50956 2016-05-01  Alan Third  <alan@idiocy.org>
50958         Implement horizontal scroll bars on NS
50960         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
50961         check.
50962         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
50963         scroll-bar mouse clicks to standard handlers.
50964         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
50965         pixel_height to pixel_length.
50966         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
50967         caused scroll-bars to be over-drawn and the best working solution
50968         appears to be complete removal.
50969         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
50970         correctly.
50971         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
50972         (setFrame): Handle horizontal case.
50973         (dealloc): Handle horizontal case.
50974         (judge): Handle horizontal case.
50975         (setPosition): Rename pixel_height to pixel_length.
50976         (sendScrollEventAtLoc): Handle horizontal case.
50977         (mouseDown): Handle horizontal case and general tidy up of code.
50978         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
50979         absolute pixel size instead of ratio.
50980         * src/window.h: Remove NS check.
50982 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
50984         tramp.texi: Revert last change due to backward compatibility
50986 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
50988         Fix the buffer-count patch (Bug#23394)
50990         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
50991         once each time through the loop.  Reported by Lars Ingebrigtsen in:
50992         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
50994 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
50996         cua-prefix-override-inhibit-delay doc fix
50998         * lisp/emulation/cua-base.el
50999         (cua-prefix-override-inhibit-delay): Typo fix in doc string
51000         (bug#23401).
51002 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
51004         Fix generate-new-buffer-name increment typo
51006         Problem reported by Chaitanya Koparkar (Bug#23394).
51007         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
51008         generating a new buffer.  This fixes a typo I introduced in
51009         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
51011 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51013         global-eldoc-mode doc fix
51015         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
51016         specific about what "applicable" means (bug#23071).
51018 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51020         Make the legend in describe-categories a link
51022         * lisp/help-fns.el (describe-categories): Make the "see
51023         bottom" text a link (bug#22227).
51025 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51027         normal-top-level-add-subdirs-to-load-path doc fix
51029         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
51030         Doc fix (bug#21962).
51032 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51034         isearch-search-fun-function doc tweak
51036         * lisp/isearch.el (isearch-search-fun-function): Mention what
51037         the STRING parameter is (bug#21552).
51039 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51041         Fill some imenu--index-alist doc lines
51043         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
51045 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51047         Make describe-variable look up the variable in the current buffer
51049         * lisp/help-fns.el (describe-variable): Get the variable
51050         definition in the buffer we were called from (in case it only
51051         exists there) (bug#21252).
51053 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51055         Fmarker_position doc string clarification
51057         * src/marker.c (Fmarker_position): Clarify the doc string
51058         (bug#21231).
51060 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51062         Further define-obsolete-* doc fixups
51064         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
51065         Fix up last change.
51066         (define-obsolete-variable-alias): Ditto.
51068 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51070         Describe WHEN in all the define-obsolete- macros
51072         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
51073         Say more verbosely what WHEN is (bug#21225).
51074         (define-obsolete-function-alias): Describe the WHEN parameter.
51075         (define-obsolete-variable-alias): Ditto.
51077 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51079         Mention with-silent-modifications in the lispref manual
51081         * doc/lispref/text.texi (Changing Properties): Document
51082         with-silent-modifications (bug#21171).
51084 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51086         with-silent-modifications doc clarification
51088         * lisp/subr.el (with-silent-modifications): Rearrange the doc
51089         string a bit so that the most pertinent information is at the
51090         top (bug#21171).
51092 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51094         clear-visited-file-modtime doc string fix
51096         * lisp/files.el (clear-visited-file-modtime): Fix possibly
51097         confusing doc string wording (bug#21169).
51099 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51101         Document mode mode line variables
51103         * doc/lispref/modes.texi (Mode Line Variables): Document
51104         `mode-line-front-space, `mode-line-misc-info',
51105         `mode-line-end-spaces' (bug#21014).
51107 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51109         Add a cross ref to Optional Mode Line
51111         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
51112         reference to the Emacs mode line node that explains things
51113         like `display-time-string' (bug#21002).
51115 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51117         Add a doc string to display-time-string
51119         * lisp/time.el: Add a doc string to `display-time-string',
51120         because it's referred to in the manual, and is too mysterious
51121         otherwise (bug#21002).
51123 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51125         custom-buffer-style doc fix
51127         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
51128         value (bug#20724).
51130 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51132         Document how to check for ImageMagick support
51134         * doc/lispref/display.texi (ImageMagick Images): Say how to
51135         check for ImageMagick support, which isn't quite obvious
51136         (bug#20702).
51138 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51140         Minor doc fix for ImageMagick/SVG builds
51142         * doc/lispref/display.texi (SVG Images): Don't imply that you
51143         have to build Emacs yourself (bug#20702).
51144         (ImageMagick Images): Ditto.
51146 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51148         Rearrange the doc of query-replace slightly
51150         * lisp/replace.el (query-replace): Move the mention of the
51151         interactive prefix arg earlier so that users can find it
51152         (bug#20654).
51154 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51156         apropos-print doc fix
51158         * lisp/apropos.el (apropos-print): Document the undocumented
51159         parameters (bug#20520).
51161 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51163         completion-table-with-predicate doc string fix
51165         * lisp/minibuffer.el (completion-table-with-predicate): t ->
51166         non-nil in the doc string (bug#20460).
51168 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51170         Fill the completion-table-with-predicate doc string
51172         * lisp/minibuffer.el (completion-table-with-predicate): Fill
51173         the doc string (bug#20460).
51175 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51177         replace-match-maybe-edit doc clarification
51179         * lisp/replace.el (replace-match-maybe-edit): Say what
51180         MATCH-DATA is (bug#20304).
51182 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51184         add-timeout doc fix
51186         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
51187         value (bug#20181).
51189 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51191         Extremely minor doc fix in Choosing Window
51193         * doc/lispref/windows.texi (Choosing Window): There's only one
51194         action alist, I think (bug#20158).
51196 2016-04-30  Alan Mackenzie  <acm@muc.de>
51198         * .dir-locals.el: Amend for correct fontification of *.[ch]
51199         containing "IF_LINT"
51201 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51203         Transform mentions of `eval-after-load' to `with-eval-after-load'
51205         * doc/lispref/loading.texi (Hooks for Loading): Update text to
51206         not mention `eval-after-load' (bug#20038).
51208 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51210         cursor-type doc fix
51212         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
51213         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
51215 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51217         Add a link from Tool Bar to Images
51219         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
51220         Images node (bug#19722).
51222 2016-04-30  Alan Mackenzie  <acm@muc.de>
51224         CC Mode: Recognize a noise macro with parens after a declarator's identifier
51226         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
51227         following comment "Skip over type decl suffix operators." insert code also
51228         to check for noise macros with parentheses.
51230 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51232         (default-mode-line-format): More explicit obsolete info
51234         * lisp/subr.el (default-mode-line-format): Be more explicit in
51235         how default values are now handled (bug#19424).
51237 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51239         Fcompare_buffer_substrings doc string clarification
51241         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
51242         doc string clarification (bug#19255).
51244 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51246         insert-file-contents-literally doc fix
51248         * lisp/files.el (insert-file-contents-literally): Say that the
51249         parameters are explained in the other function (bug#18317).
51251 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51253         Fix custom types for cursor-in-non-selected-windows
51255         * lisp/cus-start.el (standard): Use the same custom types for
51256         cursor-in-non-selected-windows as for cursor-type (bug#19214).
51258 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51260         Doc clarification to mwheel-scroll
51262         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
51263         does not apply to Windows (bug#19209).
51265 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51267         Clarify the doc of eval-expression-print-format
51269         * lisp/simple.el (eval-expression-print-format): Doc
51270         clarification (bug#19114).
51272 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51274         (extended-command-suggest-shorter): Add a version string
51276         * lisp/simple.el (extended-command-suggest-shorter): Add a
51277         version string.
51279 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51281         Document extended-command-suggest-shorter
51283         * doc/emacs/m-x.texi (M-x): Mention
51284         extended-command-suggest-shorter (bug#19152).
51286 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
51288         Add a variable to control "shorter command" suggestions
51290         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
51291         (execute-extended-command): Use it.
51293 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51295         Explictly explain that package-initialize loads the packages
51297         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
51298         in saying that `package-initialize' obviates adjusting the
51299         path or requiring the packages, as this is a question that
51300         apparently comes up now and then (bug#18829).
51302 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51304         Have the doc strings of `load-path' and `require' mention each other
51306         * src/fns.c (Frequire): Mention `load-path' and fill the doc
51307         string (bug#18829).
51309         * src/lread.c (syms_of_lread): Mention that `require' uses
51310         `load-path'.
51312 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51314         Doc fix for insert-pair-alist
51316         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
51317         COMMAND-CHAR is (bug#18809).
51319 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51321         Move doc of backup-directory-alist to the Backup node
51323         * doc/emacs/files.texi (Backup): Move the documentation of
51324         `backup-directory-alist' here from the "Single or Numbered
51325         Backups" node, because it doesn't seem to have much to do with
51326         numbering (bug#18692).
51328 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51330         Tiny doc clarification for create-fontset-from-fontset-spec
51332         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
51333         Clarify what the optional part is (bug#18686).
51335 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51337         Fill the doc string of font-lock-keywords
51339         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
51340         reorganize some explanations (bug#21427).
51342 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51344         Doc fix for font-lock-remove-keywords
51346         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
51347         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
51349 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
51351         Clarify whitespace-style doc string
51353         * lisp/whitespace.el (whitespace-style): Doc clarification
51354         (bug#18296).
51356 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51358         No need to test for jka-compr
51360         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
51361         is always available; no need to test (bug#18204).
51363 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51365         Doc fixed for next-error-buffer-p
51367         * lisp/simple.el (next-error-buffer-p): Clarify doc string
51368         (bug#18202).
51370 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51372         Tiny doc fix
51374         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
51375         (and fill) (bug#18201).
51377 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51379         Doc fix
51381         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
51382         slightly (bug#18092).
51384 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51386         delsel doc touch ups
51388         * lisp/delsel.el (delete-selection-helper): Use non-nil
51389         instead of t and clarify function return values (bug#18089).
51391 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51393         Doc fixes for menu-bar.el
51395         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
51396         REGION parameter (bug#18028).
51397         (clipboard-kill-region): Ditto.
51399 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51401         Doc fix
51403         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
51405 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51407         Minor doc clarification
51409         * lisp/subr.el (y-or-n-p): Document the return value from "n"
51410         (bug#18024).
51412 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51414         Fill font-lock-mode doc string
51416         * lisp/font-core.el (font-lock-mode): Fill the text to make it
51417         narrower (bug#18008).
51419 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51421         Wrap the auto-generated doc string
51423         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
51424         string to make it less likely that we get overlong lines
51425         (bug#17999).
51427 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51429         Clarify hi-lock-find-patterns
51431         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
51432         (bug#17989).
51434 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51436         Warning fix in jit-lock-mode
51438         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
51439         turning the mode on in an indirect buffer, if this somehow has
51440         happened (bug#17738).
51442 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51444         Add a doc string to `winner-mode'
51446         * lisp/winner.el (winner-mode): Add a doc string based on the
51447         comments in the file (bug#17716).
51449 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51451         Doc fix for align-newline-and-indent
51453         * lisp/align.el (align-newline-and-indent): Mention that
51454         alignment is done by `align' (bug#17707).
51456 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51458         Cancel the eldoc timer when switching off eldoc mode
51460         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
51461         timer when switching off eldoc mode.  It will be restarted
51462         again if needed (bug#17582).
51464 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51466         Doc fix for `kbd'
51468         * lisp/subr.el (kbd): Describe more fully the format of the
51469         parameter (bug#17039).
51471 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51473         Add a sanity check to apropos-documentation-internal
51475         * lisp/apropos.el (apropos-documentation-internal): Add a
51476         sanity check to be less fragile in the presence of invalid
51477         data (bug#16725).
51479 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51481         Doc tweak
51483         * lisp/simple.el (use-empty-active-region): Doc tweak.
51484         There's only one region (bug#16513).
51486 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51488         Clarify `read-face-name' doc and tweak the code
51490         * lisp/faces.el (read-face-name): Clarify the documentation
51491         and allow a mix of faces and faces names in all cases
51492         (bug#16483).
51494 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51496         Remove ": ?" from the read-face-name prompt
51498         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
51499         to be more backwards compatible (bug#15909).
51501 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51503         Link from (emacs)Exiting to (lisp)Killing Emacs
51505         * doc/emacs/entering.texi (Exiting): Link to the lispref
51506         manual for further customizations (bug#15445).
51508 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51510         find-lisp doc touchups
51512         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
51513         string (bug#15047).
51514         (find-lisp-find-files): Clarify doc.
51516 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51518         Don't have the manual claim that it lists all CL incompatibilities
51520         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
51521         incompatibilities isn't exhaustive, so don't say that it is
51522         (bug#15171).
51524 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51526         Fix call of `kmacro-display'
51528         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
51529         `kmacro-display' (bug#15020).
51531 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
51533         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
51535         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
51536         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
51537         (bug#14554).
51539 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51541         Rename "Directory Search" menu to "Servers"
51543         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
51544         Search" to "Directory Servers".  Suggested by Eli
51545         Zaretskii. (bug#14919).
51547         * lisp/net/eudc.el: Rename ditto throughout.
51549 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51551         Remove uses of the unused to-end parameter from simple.el
51553         * lisp/simple.el (line-move-partial): Remove usages of the
51554         unused to-end parameter, and make it optional (bug#14844).
51555         (line-move): Remove use of the unused to-end parameter.
51557 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51559         Doc fix: _ chars are automatically removed.
51561         * lisp/cus-edit.el (custom-buffer-create): _ chars are
51562         automatically removed when displaying help, so fix the last
51563         doc change.
51564         (custom-buffer-create-other-window): Ditto.
51566 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51568         Doc string change to enable-recursive-minibuffers
51570         * src/minibuf.c (syms_of_minibuf): Mention
51571         minibuffer-depth-indicator-mode in the doc string to
51572         enable-recursive-minibuffers (bug#14147).
51574 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51576         Fix definition of nobreak-space
51578         * lisp/faces.el (nobreak-space): The definition to
51579         nobreak-space was inadvertantly changed by the previous checkin.
51581 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51583         Clarify the `interactive' doc string slightly
51585         * src/callint.c (Finteractive): Clarify the doc string slightly
51586           (bug#14577).
51588 2016-04-28  Drew Adams  <drew.adams@oracle.com>
51590         Make icomplete respect `completion-ignored-extensions'
51592         * lisp/icomplete.el (icomplete-completions): Heed
51593         `completion-ignored-extensions' (bug#12939).
51595 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51597         Make ibuffer not break on newline-embedded buffer names
51599         * lisp/ibuffer.el (name): When buffer names contain newlines,
51600         quote those newlines before displaying (bug#12378).
51602 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51604         Add a new face for non-breaking hyphen characters
51606         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
51607         (Text Display): Ditto.
51609         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
51611         * src/xdisp.c (get_next_display_element): Use it instead of
51612         the escape-glyph face.
51614         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
51616 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51618         Make a menu less ambiguous
51620         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
51621         is about using modifier keys, not binding them (bug#10942).
51623 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51625         Make kill-emacs-query-functions into defcustom
51627         * lisp/files.el (save-buffers-kill-terminal): Mention
51628         `save-buffers-kill-emacs' (bug#10794).
51629         (kill-emacs-query-functions): Made into a defcustom.
51631 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51633         Have describe-variable output multi-line values better
51635         * lisp/help-fns.el (describe-variable): When printing
51636         multi-line expressions, display them prettier (bug#10723).
51638 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51640         Clean up custom-buffer-create code slightly
51642         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
51643         pass the unused description value on (for clarity) (bug#10540).
51644         (custom-buffer-create): Ditto
51646 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51648         Clarify some doc strings
51650         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
51651         Clarify doc string (bug#8693).
51652         (syntax-propertize): Clarify doc string.
51654 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
51656         Fix number-at-point in lisp buffers
51658         * lisp/thingatpt.el (number-at-point): Don't say that things
51659         like ?a are numbers in lisp mode buffers (bug#8634).
51661 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
51663         Don't consider colons to be paragraphs starting chars in strings
51665         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
51666         consider colons to start paragraphs in (doc) strings
51667         (bug#7751).
51669 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51671         Make `undo' of `C-x r t' put point where it should be
51673         * lisp/rect.el (string-rectangle): Make `undo' of a this
51674         command put point back where it was (bug#7522).
51676 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51678         Add some concept index entries for custom types
51680         * doc/lispref/customize.texi (Composite Types): Add concept
51681         index entries for restricted-sexp, radio and choice (bug#7385).
51683 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51685         Mention `lisp-indent-function' in the lispref manual
51687         * doc/lispref/macros.texi (Indenting Macros): Mention
51688         `lisp-indent-function' (bug#3393).
51690 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51692         Clarify doc string of internal compilation function
51694         * lisp/progmodes/compile.el (compilation-get-file-structure):
51695         Clarify doc string (bug#3137).
51697 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51699         Avoid having `C-x h' mark the prompt part of the minibuffer
51701         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
51702         part of the minibuffer (bug#2589).
51704 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51706         Allow a prefix argument to find-library to pop to a different window
51708         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
51709         argument to pop to a different window (bug#2270).
51711 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51713         Move the diff command to "Operate" in ibuffer
51715         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
51716         command to the "Operate" menu, and remove the customization
51717         entry to make the "View" menu more logical (bug#1150).
51719 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
51721         Make the minor modes in help buffers into buttons
51723         * lisp/help.el (describe-mode): Make the minor modes into
51724         buttons to enable easier documentation traversal (bug#1149).
51726 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
51728         Add a number of Python 3 exceptions
51730         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
51731         the exception list, adding a number of new Python 3 exceptions and
51732         moving some exceptions to the Python 2 and 3 list as Python 2.7
51733         includes them.
51735 2016-04-26  Anders Lindgren  <andlind@gmail.com>
51737         Fix bug#22891: wrong terminal width when a fringe width is zero.
51739         When either fringe width is zero, Emacs reserved one column for a
51740         continuation glyph. Terminal windows does not take this into
51741         account when the frame is resized.
51743         * lisp/window.el (window-adjust-process-window-size): Use
51744         `window-max-chars-per-line' instead of `window-body-width'.
51745         * lisp/term.el (term-window-width): Remove function. (It does the
51746         same as `window-max-chars-per-line' but without recent bug fixes.)
51747         (term-mode): Use `window-max-chars-per-line' instead of
51748         `term-window-width'.
51750 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
51752         Add completion of `calc()' in CSS mode
51754         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
51755         a completion candidate for several value classes.
51756         (css--value-class-lookup): Return only unique results.
51758         * test/lisp/textmodes/css-mode-tests.el
51759         (css-test-property-values-no-duplicates)
51760         (css-test-value-class-lookup): Update to reflect the above changes.
51762 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
51764         Fix socketd fd startup bug that I introduced
51766         Problem reported by Matthew Leach in:
51767         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
51768         * src/emacs.c (main): Indicate more clearly the coupling between
51769         the --daemon option and init_process_emacs.
51770         * src/lisp.h: Adjust to API changes.
51771         * src/process.c (set_external_socket_descriptor):
51772         Remove, replacing by ...
51773         (init_process_emacs): ... passing the socket FD here instead.
51774         All uses changed.
51776 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
51778         Fix: (void-variable url-http-response-status)
51780         * lisp/url/url-http.el
51781         (url-https-proxy-after-change-function): Display the error
51782         message before doing the callback to avoid a void variable
51783         situation (bug#23290).
51785 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51787         smtpmail would say it's done before it is
51789         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
51790         of the data end marker from here... (bug#23020).
51791         (smtpmail-send-data): ... to here, so that we don't get a
51792         "Sending done" before we've sent the final "." (which can make
51793         the SMPT server reject the email.
51795 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51797         `url-retrieve-synchronously' now takes an optional timeout parameter
51799         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
51801         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
51802         in a timeout parameter (bug#22940).
51804 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51806         Include "Retype" as a comint password prompt
51808         * lisp/comint.el (comint-password-prompt-regexp): Include
51809         "Retype" to catch "Retype password for [account]:" from the
51810         "pass" utility (bug#22942).
51812 2016-04-25  Alan Mackenzie  <acm@muc.de>
51814         Fix spurious fontification of "for (; a * b;)" in CC Mode.
51816         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
51817         inside the parens of a for statement and after a semicolon near the beginning
51818         of the lambda form.
51820 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
51822         New function ‘char-from-name’
51824         This also fixes the mishandling of "\N{CJK COMPATIBILITY
51825         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
51826         Problem reported by Eli Zaretskii in:
51827         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
51828         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
51829         * lisp/international/mule-cmds.el (char-from-name): New function.
51830         (read-char-by-name): Use it.  Document that "BED" is treated as
51831         a name, not as a hexadecimal number.  Reject out-of-range integers,
51832         floating-point numbers, and strings with trailing junk.
51833         * src/lread.c (character_name_to_code): Call char-from-name
51834         instead of inspecting ucs-names directly, so that we handle
51835         computed names like "VARIATION SELECTOR-1".  Do not use an auto
51836         string, since char-from-name might GC.
51837         * test/src/lread-tests.el: Add tests for new behavior, and
51838         fix some old tests that were wrong.
51840 2016-04-25  Alan Mackenzie  <acm@muc.de>
51842         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
51844         This allows the calling of c-restore-<>-properties from c-common-init without
51845         the test suite giving spurious errors.
51847         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
51848         sets face properties.
51849         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
51850         template brackets using c-inside-<>-type-key.  Don't bind
51851         c-record-type-identifiers or c-record-found-types around the recursive call,
51852         allowing positions of found types to flow back to the caller.
51854         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
51855         new lang consts/var.
51857         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
51858         c-restore-<>-properties from the list of functions called at mode
51859         initialization.
51861 2016-04-25  Jun Hao  <jun_hao@aol.com>
51863         Pass in port only if provided by caller in the OS X keychain
51865         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
51866         port only if provided (bug#23374).
51868 2016-04-25  Alan Mackenzie  <acm@muc.de>
51870         Add fontification for a C declaration which looks like a function call.
51872         For example, "t1 *fn (t2 *b);".
51874         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
51875         at-decl-start, setting it to whether the putative decl starts immediately
51876         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
51877         non-nil.
51879         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
51881 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
51883         Don't mirror slashes in convert-standard-filename on MS-Windows
51885         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
51886         slashes into backslashes.  This avoids producing ugly file names,
51887         and is deemed no longer necessary, and should certainly be
51888         unrelated to which shell is in use.
51890 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
51892         Revert the disputed VC change and update the tests
51894         * lisp/vc/vc-hooks.el (vc-working-revision):
51895         Remove the previous change.
51896         (vc-state): Same.  And update the old, incorrect comment about
51897         unregistered files
51898         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
51900         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
51901         calling `vc-state' on default-directory (VC state is undefined
51902         for directories).  Check that `vc-state' returns nil where it
51903         returned `unregistered' before.  Remove all checks comparing
51904         invocations with the backend passed in explictly and without.
51905         (vc-test--working-revision): Remove all checks comparing
51906         invocations with the backend passed in explictly and without.
51907         Update comments, and add a new one.
51909 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51911         * etc/NEWS: Grammar and punctuation improvements.
51913 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51915         Merge from origin/emacs-25
51917         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
51918         0cd2e92 Don't kill ~/ if it's the top level directory
51919         4f40f5f describe-char: fix insert char documentation
51920         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
51922 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51924         Merge from origin/emacs-25
51926         960f90d * etc/AUTHORS: Update the AUTHORS file
51927         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
51929 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51931         Merge from origin/emacs-25
51933         78f9af7 ; ChangeLog fixes
51934         162e549 * admin/authors.el (authors-ignored-files): Additions.
51935         2b31a0c In x_set_window_size restore do_pending_window_change calls
51936         401857e Fix Alt-modified keys on some European MS-Windows keyboards
51937         a77cf24 Document 'help-go-forward'
51938         1ba947f Revert "Allow to customize names of executables used by grep.el"
51939         570e0fa Revert "Don't use 'find-program'"
51940         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
51941         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
51942         ce0d8c7 Make tmm-menubar work in correct order again
51943         b8d5a8f Remove the Meta-CVS VC backend
51945 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
51947         Don't let `css--property-values' return duplicates
51949         * lisp/textmodes/css-mode.el (css--property-values): Don't return
51950         duplicate values.
51952         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
51953         Take the above into account.
51954         (css-test-property-values-no-duplicates): Test that duplicates aren't
51955         returned by `css--property-values'.
51957 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51959         Call `make-composed-keymap' correctly
51961         * lisp/image-mode.el (image-mode-map): Call
51962         `make-composed-keymap' correctly.
51964 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51966         Use `make-composed-keymap' instead of copying the keymap
51968         * lisp/image-mode.el (image-mode-map): Use
51969         `make-composed-keymap' instead of copying the keymap.
51971 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51973         Make `q' etc work in image mode again
51975         * lisp/image-mode.el (image-mode-map): Restore
51976         special-mode-map as the parent keymap of image-mode-map (bug#23167).
51978 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51980         Fix typo in last url.texi checkin
51982 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51984         Make STARTTLS error messages better
51986         * lisp/net/network-stream.el (network-stream-open-starttls):
51987         Output a better error message when TLS negotiation fails while
51988         doing STARTTLS (bug#23027).
51990 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51992         Encode the shr tests files with trailing white space
51994 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
51996         Cache results of `css--property-values'
51998         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
51999         values.
52001         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
52002         New regression test for the above.
52004 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
52006         Some improvements in vc
52008         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
52009         Check, whether FILE is registered.
52011         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
52012         for nonexistent files.
52014         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
52015         (vc-test--revision-granularity-function)
52016         (vc-test--unregister-function): Use `vc-call-backend'.
52017         (vc-test--run-maybe-unsupported-function): New defmacro.
52018         (vc-test--register, vc-test--state, vc-test--working-revision)
52019         (vc-test--checkout-model): Use it.  Fix also expected results.
52020         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
52022 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52024         Document the nil/default values of url-user-agent
52026         * doc/misc/url.texi (Customization): Document the nil/default
52027         values of url-user-agent.
52029 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
52031         Compute User-Agent dynamically in url-http
52033         * lisp/url/url-http.el (url-http-user-agent-string): Compute
52034         User-Agent string dynamically.
52035         (url-http--user-agent-default-string): New function.
52037         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
52038         of information not to send.
52039         (url-user-agent): Add nil and `default' options; do not
52040         pre-compute value.
52042 2016-04-24  Jun Hao  <jun_hao@aol.com>
52044         Handle auth-source items with special characters on OS X
52046         * lisp/auth-source.el
52047         (auth-source-macos-keychain-search-items): Handle keychain
52048         output correctly when has special chararcters (bug#22824).
52050 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
52052         Implement process-attributes for Darwin
52054         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
52055         (system_process_attributes): Implement process-attributes
52056         for Darwin (bug#16579).
52058 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52060         Use Unicode literals instead of hex values
52062         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
52063         of hex values for greater readability.
52064         (shr-tag-bdi): Ditto.
52066 2016-04-24  Steve Purcell  <steve@sanityinc.com>
52068         Allow _ characters in SQL prompts
52070         * lisp/progmodes/sql.el (sql-product-alist): Allow _
52071         characters in SQL prompts (bug#22596).
52073         Fixes issue 22596, whereby "_" is now not considered a word constituent
52074         character in sql-interactive-mode, so prompts like "foo_dev# " are not
52075         correctly detected. Rather than piggy-back on the symbol table, we
52076         explicitly match against alphanumeric chars or "_".
52078 2016-04-23  Glenn Morris  <rgm@gnu.org>
52080         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
52082         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
52083         (autoload-generate-file-autoloads, autoload-find-destination)
52084         (update-directory-autoloads): Use autoload--non-timestamp.
52086 2016-04-23  Glenn Morris  <rgm@gnu.org>
52088         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
52090 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
52092         Regexps for matching CMake output
52094         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
52095         regexps for matching CMake output.
52096         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
52097         CMake test cases.
52098         * etc/compilation.txt (CMake): Add CMake examples.
52100 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
52102         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
52104         Fix docstring quotes.
52106 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
52108         Improve character name escapes
52110         * doc/lispref/nonascii.texi (Character Properties):
52111         Avoid duplication of Unicode names.  Reformat examples to fit in
52112         narrow pages.
52113         * doc/lispref/objects.texi (General Escape Syntax):
52114         Simplify and better-organize explanation of \N{...} escapes.
52115         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
52116         (char_surrogate_p): New inline function.
52117         * src/lread.c: Do not include string.h; no longer needed.
52118         (invalid_character_name, check_scalar_value): Remove; the ideas
52119         behind these functions are now bundled into character_name_to_code.
52120         (character_name_to_code): Remove undocumented support for "CJK
52121         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
52122         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
52123         point in \N escapes instead of returning garbage.  Use
52124         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
52125         * test/src/lread-tests.el (lread-char-number, lread-char-name)
52126         (lread-string-char-number, lread-string-char-name):
52127         Test runtime behavior, not compile-time, as the test framework
52128         is not set up to test compile-time.
52129         (lread-char-surrogate-1, lread-char-surrogate-2)
52130         (lread-char-surrogate-3, lread-char-surrogate-4)
52131         (lread-string-char-number-2, lread-string-char-number-3):
52132         New tests.
52133         (lread-string-char-number-1): Rename from lread-string-char-number.
52135 2016-04-21  Philipp Stephani  <phst@google.com>
52137         Use 'ucs-names' for character name escapes
52139         * src/lread.c (invalid_character_name, check_scalar_value)
52140         (parse_code_after_prefix, character_name_to_code): New helper
52141         functions that use 'ucs-names' and parsing for CJK ideographs.
52142         (read_escape): Use helper functions.
52143         (syms_of_lread): New symbol 'ucs-names'.
52144         * test/src/lread-tests.el: New tests; fix a couple of bugs in
52145         existing tests.
52147 2016-04-21  Philipp Stephani  <phst@google.com>
52149         Minor cleanups for character name escapes
52151         * src/lread.c (init_character_names): Add missing 'void'.
52152         Remove top-level 'const'.
52153         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
52155 2016-04-21  Philipp Stephani  <phst@google.com>
52157         Add documentation for character name escapes
52159 2016-04-21  Philipp Stephani  <phst@google.com>
52161         Implement named character escapes, similar to Perl
52163         * src/lread.c (init_character_names): New function.
52164         (read_escape): Read Perl-style named character escape sequences.
52165         (syms_of_lread): Initialize new variable 'character_names'.
52166         * test/src/lread-tests.el (lread-char-empty-name): Add test file
52167         for src/lread.c.
52169 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
52171         Avoid run-time dependency on libwinpthread DLL on MS-Windows
52173         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
52174         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
52175         present, so that MinGW64 builds don't depend on libwinpthread.
52176         (Bug#22959)
52178 2016-04-21  Matthew Leach  <matthew@mattleach.net>
52180         Add LIBSYSTEMD to the list of supported features
52182         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
52183         message at the end of configure stating whether Emacs will be build
52184         with libsystemd support.
52186 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
52188         Support absolute column movement in 'ansi-term'
52190         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
52191         for absolute column movement.  (Bug#23303)
52193 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
52195         Add Python 3.5 keyword "await"
52197         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
52198         keyword.
52200 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
52202         Add "keyframes" to list of CSS at-rules
52204         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
52206 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
52208         Prevent bootstrap autoload backup files
52210         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
52211         backups in newly created file.
52213         (autoload-ensure-default-file): Function split into two.
52214         (autoload-ensure-file-writeable): New function from split.
52216         (Bug#23203)
52218 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
52220         Fix org-timestamp-change typo
52222         Problem reported by Peter Münster (Bug#23299).
52223         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
52224         on undocumented behavior in ‘encode-time’.  In practice the
52225         old code used local time, so use that.
52227 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
52229         Avoid AC_PREPROC_IFELSE glitch in configure.ac
52231         Problem reported by Angelo Graziosi in:
52232         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
52233         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
52234         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
52236 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
52238         autorevert: Resume with polling if file is deleted
52240         * lisp/autorevert.el: Use consistent wording in comments and
52241         docstrings.
52242         (auto-revert-mode): Add local function to `kill-buffer-hook'.
52243         (auto-revert-notify-handler): Improve handling of `stopped' event.
52245         * test/lisp/autorevert-tests.el
52246         (auto-revert-test02-auto-revert-deleted-file): New test.
52247         (auto-revert-test03-auto-revert-tail-mode)
52248         (auto-revert-test04-auto-revert-mode-dired): Rename them.
52250 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
52252         Merge from origin/emacs-25
52254         5a0cbe5 Fix Bug#23276
52255         2007e32 Sync with upstream vhdl mode v3.38.1.
52256         b6d2552 Tweak configure.ac syntax in recent module patch
52258 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
52260         Merge from origin/emacs-25
52262         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
52263         3287f48 ; Add entry to MAINTAINERS
52264         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
52265         0f33284 Make use of rectangle-preview custom variable.
52266         aa0d83a Make use of rectangle-preview face.
52267         33bef6e Use 'grep-find-program' in check-declare.el
52268         a8560e5 Improve "C-h S" for cl-lib symbols
52269         52e798b Fix minor issues with removing left or right fringes
52270         d6ffd64 Speed up redisplay in ansi-term mode
52271         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
52272         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
52273         ab849b7 Fix w32 memory-management problem when extending buffer text
52275 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
52277         Merge from origin/emacs-25
52279         32364bb substitute-command-keys keeps quotes’ text props
52280         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
52281         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
52282         cc0b713 Perform xref searches without visiting unopened files
52283         5045575 Revert "Prevent bootstrap autoload backup files"
52285 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
52287         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
52289         so that it matches the actual implementation.
52290         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
52292 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
52294         * lisp/textmodes/ispell.el: Compile with lexical-binding
52296         (declare-function): Don't define any more.
52297         (ispell-check-minver, ispell-looking-back): Tweak definition so that
52298         the compiler can obviously know that it's always defined.
52299         (ispell-debug-buffer): Declare var.
52300         (ispell-hunspell-fill-dictionary-entry)
52301         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
52302         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
52303         (ispell-command-loop): Avoid add-to-list on local variables.
52305 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52307         Minor fixups for external socket launching
52309         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
52310         * doc/emacs/misc.texi (Emacs Server):
52311         * etc/NEWS: Spelling and doc fixes.
52312         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
52313         Check for sd_is_socket returning positive, not zero.
52314         * src/process.c (external_sock_fd): Instead of initializing here ...
52315         (init_process_emacs): ... initialize it here, so that it does the
52316         right thing after dump/restore.
52317         (connect_network_socket): Simplify socket_to_use test.
52319 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
52321         Add HTML5 tags to HTML mode
52323         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
52324         (html-tag-help): Add short descriptions of those tags.
52326 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52328         Finish idna->puny changes in last Message patch
52330         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
52331         instead of idna functions.
52333 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52335         Use puny.el instead of idna.el functions in Gnus
52337         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
52338         Emacs comes with IDNA support built in).
52339         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
52340         `idna-to-unicode'.
52342         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
52344 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52346         Mention `message-use-idna' in NEWS
52348 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52350         Default `message-use-idna' to t
52352         * lisp/gnus/message.el (message-use-idna): Default to t (since
52353         Emacs comes with puny.el now).
52355 2016-04-16  Matthew Leach  <matthew@mattleach.net>
52357         Extend battery.el to exotic power supply types
52359         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
52360         'battery--linux-sysfs-regexp' and make a defcustom. All users
52361         changed.  (Bug#23216)
52363 2016-04-16  Matthew Leach  <matthew@mattleach.net>
52365         Add external socket launching support
52367         * src/process.c (connect_network_socket): Allow a pre-allocated socket
52368         descriptor to be used if passed to Emacs, avoiding the call to
52369         'socket' and 'bind'.
52370         (Fmake_network_process): Allow users to pass ':use-external-socket' in
52371         the parameter plist to use any sockets that have been passed to Emacs.
52372         (wait_reading_process_output): Call 'socket' and 'bind' every time.
52373         (syms_of_process): New symbol ':use-external-socket'.
52374         (set_external_socket_descriptor): New function.
52375         (external_sock_fd): New variable.
52376         * src/lisp.h: (set_external_socket_descriptor): New declaration.
52377         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
52378         passed and call 'set_external_socket_descriptor' to set the external
52379         socket.
52380         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
52381         compilation options.
52383         * configure.ac: Add new default-on option "systemd" and check for
52384         libsystemd at configure time.
52386         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
52387         calling 'make-network-process'.
52389         * etc/NEWS: Document new socket-passing functionality and the configure
52390         option to disable systemd interaction.
52392         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
52393         functionality and provide systemd unit examples.
52394         * doc/lispref/processes.texi (Network Processes): Document new
52395         'make-network-process' option ':use-external-socket'.
52397 2016-04-16  Matthew Leach  <matthew@mattleach.net>
52399         Don't spell-check argument of 'cref' TeX macro
52401         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
52402         macro to skip spell-checking the cref macro argument.
52404 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
52406         Simplify use of O_BINARY
52408         * src/callproc.c (call_process):
52409         * src/fileio.c (write_region):
52410         * src/filelock.c (read_lock_data):
52411         * src/image.c (x_find_image_fd):
52412         * src/lread.c (openp):
52413         * src/sysdep.c (init_random, emacs_fopen):
52414         * src/unexcw.c (unexec):
52415         Omit unnecessary use of O_BINARY, since emacs_open now arranges
52416         that for us.
52418 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
52420         * src/indent.c (Fvertical_motion): Pacify GCC
52422         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
52424 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
52426         Port ‘./autogen.sh git’ to non-clones
52428         Problem reported by Angelo Graziosi in:
52429         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
52430         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
52431         there is no ‘.git’.
52432         (git_common_dir, hooks): New vars.
52433         (git_config, tailored_hooks, sample_hooks): Use them.
52435 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
52437         Do not require that .git be a directory
52439         Problem reportyed by Phillip Lord.
52440         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
52441         * configure.ac, make-dist:
52442         Do not require that .git be a directory, as 'git worktree' makes
52443         it a file and not a directory.
52445 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
52447         Avoid now-obsolete function gmm-format-time-string
52449         * lisp/gnus/message.el (message-insert-formatted-citation-line):
52450         Use format-time-string instead of obsolete function
52451         gmm-format-time-string.
52453 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
52455         Support OFFSET and (OFFSET ABBR) time zone rules
52457         This simplifies Gnus and VC time zone support, by letting them
52458         feed the output of ‘current-time-zone’ and ‘decode time’ to
52459         primitives that accept time zone arguments.
52460         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
52461         * etc/NEWS:
52462         * lisp/gnus/message.el (message-insert-formatted-citation-line):
52463         * lisp/org/org.el (org-timestamp-format):
52464         * src/editfns.c (Fformat_time_string, Fdecode_time):
52465         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
52466         Document new behavior.
52467         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
52468         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
52469         Mark as obsolete, as it is now just an alias or narrow wrapper
52470         around format-time-string.
52471         * src/editfns.c (tzlookup): Also support integer OFFSET and
52472         list (OFFSET ABBR) as time zone rules.
52473         (Fencode_time): No longer need a special case for a cons ZONE.
52474         (Fcurrent_time_zone): If the time zone string is missing, compute
52475         it the same way the other new code does.
52477 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
52479         Merge from origin/emacs-25
52481         ca50981 Improve time zone documentation
52482         c23c965 Prevent bootstrap autoload backup files
52483         9344612 Disable multicolor fonts on OS X since they are not supported...
52484         c41ce1c Capitalize “Universal Time” in documentation
52485         10597c9 Don't use 'find-program'
52487 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
52489         Merge from origin/emacs-25
52491         b134c20 Sync with gnulib
52492         bb30fa9 Fix last change on 2016-01-02
52493         488a72f ; Spelling fixes
52494         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
52495         0e7bcec Avoid crashes due to unreasonably large or small text scaling
52496         85f257c Improve documentation of 'with-eval-after-load'
52497         668c7bc Improve handling of non-ASCII characters in Git log messages
52498         b570769 Remove undefined behavior in OS X dumper.
52499         97211f3 Fix clipping of xwidgets
52500         e87fbc0 Improve Lisp-level documentation of tooltips
52501         9f1786e Faces names should not end in "-face".
52502         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
52503         a1f221b Comint and compile no longer set EMACS
52504         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
52505         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
52506         c93ae7a Allow to customize names of executables used by grep.el
52507         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
52508         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
52509         a3f1ac2 Avoid infinite loop in 'studlify-word'
52510         f36df4b Don’t recommend obsolete EMACS env var
52511         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
52513 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
52515         Merge from origin/emacs-25
52517         96d9e78 Fix "Beginning of buffer" error in forward-page
52518         20686f7 Add a `transient' project type
52520 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
52522         Merge from origin/emacs-25
52524         80128a7 Fix stability confusion in sort-tests
52525         1e4aa42 Avoid describe-key error with lambdas
52526         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
52527         f501116 Sync with gnulib
52528         c4963f9 Fix doc for Universal Time
52530 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
52532         Fix alignement rule for CSS
52534         * lisp/align.el (align-rules-list): Support CSS properties that have
52535         multiple words.
52537 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
52539         New custom option for overriding mailcap choices
52541         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
52542         (mailcap--set-user-mime-data): New function.
52543         (mailcap-user-mime-data): New customization option.
52544         (mailcap-select-preferred-viewer): New function.
52545         (mailcap-mime-info): Use it.
52547         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
52549 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
52551         Fix Bug#23207
52553         * src/keyboard.c (read_char): Resume idle timers in case of
52554         dbus-event, file-notify-event and config-changed-event.
52555         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
52557 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
52559         Add vc-backend and vc-responsible-backend tests
52561         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
52562         (vc-file-clearprops): Use properties on absolute files.
52564         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
52565         Clear file properties.
52566         (vc-test--register): Add tests for `vc-backend' and
52567         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
52568         (vc-test--state, vc-test--checkout-model): Catch other errors
52569         but `vc-not-supported'.
52570         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
52571         other errors but `vc-not-supported'.
52572         (vc-test-src02-state): Mark as an expected failure.
52574 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
52576         Minor improvements for hash function primitives
52578         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
52579         hashfn_eq rather than reaching inside them.
52580         (hashtest_eq, hashtest_eql, hashtest_equal):
52581         Now constants with initializers.
52582         (syms_of_fns): Omit no-longer-needed initialization.
52583         * src/lisp.h (LISPSYM_INITIALLY): New macro.
52584         (DEFINE_LISP_SYMBOL): Use it.
52586 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
52588         New primitives sxhash-eq, sxhash-eql
52590         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
52591         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
52592         Add sxhash-equal, sxhash-eq, sxhash-eql.
52593         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
52594         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
52596 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
52598         Teach Dired support parallel execution of commands on MS-Windows
52600         * lisp/dired-aux.el (dired-shell-stuff-it): Support
52601         parallel-in-background execution of commands on MS-Windows.
52602         Test 'w32-shell-dos-semantics' instead of the underlying OS
52603         when determining whether addition of 'wait' is needed.
52605 2016-04-08  Tino Calancha  <f92capac@gmail.com>
52607         Make 'dired-do-shell-command' wait for all background jobs
52609         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
52610         wait until all background jobs exit.  (Bug#23206).
52612 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
52614         Prefer 'font-lock-face to 'face in erc where appropriate
52616         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
52617         'font-lock-face to 'face where appropriate.
52618         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
52619         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
52620         * lisp/erc/erc-goodies.el (erc-controls-propertize)
52621         * lisp/erc/erc-stamp.el (erc-format-timestamp)
52622         * lisp/erc/erc-track.el (erc-faces-in)
52623         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
52624         (erc-display-command, erc-make-notice, erc-highlight-notice)
52625         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
52626         (erc-display-prompt, erc-display-message-highlight)
52627         (erc-log-irc-protocol): Ditto.
52629         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
52630         tests.
52632 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
52634         Add new keywords of Python 3.5
52636         Python 3.5, released in mid September 2015, introduced a few new
52637         keywords to better support asynchronous code, "async" and "await"
52638         in particular. See https://www.python.org/dev/peps/pep-0492/ for
52639         details. (Bug#21783)
52640         * lisp/progmodes/python.el (python-rx-constituents): Add async
52641         def/for/with as block-start and async def as defun.
52642         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
52643         def/for/with as keyword.
52644         * test/automated/python-tests.el (python-indent-after-async-block-1,
52645         python-indent-after-async-block-2, python-indent-after-async-block-3,
52646         python-nav-beginning-of-defun-3): New tests to test indentation and
52647         navigation for the async keyword.
52649 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
52651         Support completion of at-rules in SCSS mode
52653         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
52654         SCSS-specific at-rules.
52655         (css--at-ids): New buffer-local variable holding the list of at-rules
52656         for the current mode.
52657         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
52658         (scss-mode): Set `css--at-ids'.
52660 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
52662         Enable GCC warnings in developer builds
52664         However, do not fail; just issue the warnings.  Add an option
52665         --enable-gcc-warnings=warn-only to configure, to implement this.
52666         * INSTALL, etc/NEWS: Document this.
52667         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
52668         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
52669         Don’t treat --with-x-toolkit=no as a special case when configuring
52670         warnings.
52672 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52674         Inhibit querying for the encoding of the headers when resending
52676         * lisp/gnus/message.el (message-resend): Inhibit querying for
52677         the encoding of the headers when resending.
52679 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
52681         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
52683         * src/buffer.c (Fgenerate_new_buffer_name):
52684         * src/filelock.c (get_boot_time):
52685         * src/minibuf.c (get_minibuffer):
52686         * src/process.c (make_process):
52687         * src/xdisp.c (ensure_echo_area_buffers):
52688         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
52689         when either will do.
52691 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
52693         Allow URL using HTTPS proxies using CONNECT
52695         * lisp/url/url-http.el (url-http-find-free-connection): Allow
52696         using proxies (bug#11788).
52697         (url-http-end-of-document-sentinel): Ditto.
52698         (url-http): The protocol may change from http to https and
52699         vice versa.
52700         (url-https-proxy-connect): Allow using CONNECT proxies for https.
52702 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
52704         New C macro AUTO_STRING_WITH_LEN
52706         Put a bit less pressure on the garbage collector by defining a
52707         macro that is like AUTO_STRING but also allows null bytes in strings,
52708         and by extending AUTO_STRING to work with any unibyte string.
52709         * src/alloc.c (verify_ascii): Remove; all uses removed.
52710         AUTO_STRING can now be used on non-ASCII unibyte strings.
52711         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
52712         (AUTO_STRING_WITH_LEN): New macro.
52713         * src/coding.c (from_unicode_buffer):
52714         * src/editfns.c (format_time_string):
52715         * src/emacs-module.c (module_make_string, module_format_fun_env):
52716         * src/fileio.c (Fexpand_file_name):
52717         * src/font.c (font_parse_family_registry):
52718         * src/ftfont.c (ftfont_get_charset):
52719         * src/keymap.c (silly_event_symbol_error):
52720         * src/menu.c (single_menu_item):
52721         * src/sysdep.c (system_process_attributes):
52722         Use AUTO_STRING_WITH_LEN if possible.
52723         * src/emacs-module.c (module_make_function):
52724         * src/fileio.c (report_file_errno, report_file_notify_error):
52725         * src/fns.c (Flocale_info):
52726         * src/sysdep.c (system_process_attributes):
52727         Use AUTO_STRING if possible.  This is doable more often now
52728         that AUTO_STRING works on any unibyte string.
52730 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
52732         Port redirect-debugging-output to MS-Windows
52734         Suggested by Eli Zaretskii in:
52735         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
52736         * src/print.c [WINDOWSNT]: Include sys/socket.h.
52737         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
52739 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
52741         Port redirect-debugging-output to non-GNU/Linux
52743         Problem reported by Kylie McClain for musl in:
52744         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
52745         * etc/DEBUG, etc/NEWS: Mention this.
52746         * src/callproc.c (child_setup) [!MSDOS]:
52747         * src/dispnew.c (init_display):
52748         * src/emacs.c (main, Fdaemon_initialized):
52749         * src/minibuf.c (read_minibuf_noninteractive):
52750         * src/regex.c (xmalloc, xrealloc):
52751         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
52752         to make file-descriptor manipulation easier to follow.
52753         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
52754         now that we make sure stdin, stdout and stderr are open.  All uses
52755         removed.
52756         (main): Make sure standard FDs are OK.  Prefer symbolic names like
52757         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
52758         * src/lisp.h (init_standard_fds): New decl.
52759         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
52760         Remove; no longer needed.
52761         (Fredirect_debugging_output): Define on all platforms, not just
52762         GNU/Linux.  Redirect file descriptor, not stream, so that the code
52763         works even if stderr is not an lvalue.  Report an error if the
52764         file arg is neither a string nor nil.
52765         (syms_of_print): Always define redirect-debugging-output.
52766         * src/sysdep.c (force_open, init_standard_fds): New functions.
52768 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
52770         Spelling fixes
52772 2016-04-03  John Wiegley  <johnw@newartisans.com>
52774         Revert "Add `r'/`l' grep command history commands"
52776         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
52778 2016-04-03  John Wiegley  <johnw@newartisans.com>
52780         Revert "Restore the point in grep buffers when traversing the history"
52782         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
52784 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
52786         Merge from origin/emacs-25
52788         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
52790 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
52792         Merge from origin/emacs-25
52794         b787d55 More format-time-string change fixups
52795         13c8f29 make-xwidget unused arg cleanup
52796         36e05f0 Remove unused arguments from make-xwidget
52797         1042217 Document incompatible changes in 'format-time-string'
52798         7228eb8 Improve documentation of byte-code objects
52799         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
52800         17b5152 Improve vc-diff with Git backend
52801         c28f87a (js--continued-expression-p): Special-case unary plus and minus
52802         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
52803         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
52804         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
52805         a3daa34 Teach M-x disassemble a default argument.
52806         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
52807         df441b3 Fix OS X specific settings in tramp-tests
52808         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
52810         # Conflicts:
52811         #       lisp/net/tramp-sh.el
52812         #       lisp/progmodes/cc-engine.el
52814 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52816         Restore the point in grep buffers when traversing the history
52818         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
52819         point to a specific place after finishing the grep command.
52820         (grep-mode): Use it to restore point after traversing the history.
52821         (grep--history-point): New internal variable.
52822         (grep--save-history, grep-forward-history): Use it to restore
52823         the point.
52825 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52827         Add `r'/`l' grep command history commands
52829         * doc/emacs/building.texi (Grep Searching): Mention the
52830         `r'/`l' commands.
52832         * lisp/progmodes/grep.el (grep-forward-history): New command.
52833         (grep-backward-history): Ditto.
52834         (grep--save-buffers): New function.
52835         (grep): Use it to record the history.
52836         (grep--command-history, grep--history-inhibit)
52837         (grep--history-place): New internal variables for the grep
52838         history (bug#22627).
52840 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
52842         Fix Bug#23186, again
52844         * lisp/net/tramp.el (tramp-encoding-shell)
52845         (tramp-encoding-command-switch)
52846         (tramp-encoding-command-interactive): Check for
52847         `w32-shell-name'.  (Bug#23186)
52849 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
52851         Fix Bug#23186
52853         * lisp/net/tramp.el (tramp-encoding-command-switch)
52854         (tramp-encoding-command-interactive):
52855         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
52856         `tramp-encoding-shell' could be nil.  (Bug#23186)
52858 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
52860         Fix Bug#22145
52862         * lisp/net/tramp-cache.el (tramp-get-connection-property)
52863         (tramp-set-connection-property, tramp-connection-property-p)
52864         (tramp-flush-connection-property): Improve docstring.
52866         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
52868         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
52870         * test/automated/tramp-tests.el (tramp--test-utf8):
52871         Improve settings of coding systems.  (Bug#22145)
52873 2016-04-02  John Wiegley  <johnw@newartisans.com>
52875         Merge from origin/emacs-25
52877         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
52878         9034c50 * doc/man/emacsclient.1: Document +line:column option.
52879         06495c9 Fix rare problems with echo-area display and multiple frames
52880         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
52882 2016-04-02  John Wiegley  <johnw@newartisans.com>
52884         Merge from origin/emacs-25
52886         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
52887         c8b868b Don't start the 'midnight' timer twice
52888         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
52889         e5c17f4 Fix todo-mode category movement
52890         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
52891         cf40f38 Ignore non-nil. non-cons values of unread-command-events
52892         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
52893         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
52894         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
52895         3a13472 Fix map-put and map-delete for alists (Bug#23105)
52896         422c3da Minor copyedits of documentation for temporary displays
52897         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
52898         f14d463 Minor doc string fixes in replace.el
52899         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
52900         44782de Fix display of Indic scripts
52901         326c64f Fix splash screen display at startup
52902         7ab2a97 ; In NEWS mention new display of minibuffer completions window
52903         a1cd84c Describe temporary displays in Emacs manual
52904         5ec1056 Avoid stray As next to IDLW icons
52905         45577d5 Avoid GTK 3 crash with icons and masks
52906         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
52907         077b78c Define make_save_ptr_ptr unconditionally
52908         20a1003 Preserve current buffer when popping up TTY menus
52909         7eba90c Improve font selection by family on MS-Windows
52910         73d213f Comint, term, and compile now set EMACS
52911         9524ec5 Ignore more merges when generating ChangeLog
52912         ad250f2 Sync with gnulib
52913         c0165ea Resurrect GNUS-NEWS autogeneration
52914         1e5327c ; Backport ChangeLog.2 fixes from master
52915         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
52916         38a43f1 Fix bug in displaying header line with a box face
52917         91e6676 Fix an Isearch var to be a string (Bug#23038)
52918         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
52919         8a35f83 Render empty <ul><li><ul> correctly
52920         d8b2ce5 Ignore invalid base64 encoded embedded images
52921         52ba24b Fix <p> and <div> newlines with or without <li> in shr
52922         b8ea08b Avoid errors in 'newline'
52923         fc3cd53 Fix Bug#23032
52924         dd2737b Adjudicate review comments in abbrevs.texi
52925         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
52926         413e73b ; Small theme additions
52927         cd950da Honor prefix arg in doc-view-next-line-or-next-page
52928         ed909c0 ; Spelling fixes
52929         6da3a6d Port to strict C99 offsetof
52930         de7601f Port to GTK with strict C11 compiler
52931         658aa2d Port to GTK with strict C99 compiler
52932         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
52933         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
52934         dca240a Suppress some Tramp tests for OSX, do not merge with master
52935         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
52936         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
52937         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
52938         9ab03f2 ; Auto-commit of loaddefs files.
52939         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
52940         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
52941         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
52942         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
52943         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
52944         d6d164f Avoid segfaults due to frame image cache being absent
52945         bc7f6f6 Improve documentation of glyphless-character display
52946         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
52947         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
52948         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
52949         2036be4 Fix Ruby's operator precedence
52950         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
52951         7950e1d Port to clang 3.7.0 on x86-64
52952         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
52953         ba33b7c Sync with gnulib
52954         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
52955         dbfbedd Do not tokenize a comment before continuation as ';'
52956         0403620 Don't misindent arguments of a method call inside continuation
52957         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
52958         8475f3d ASCII-only etc/NEWS etc.
52959         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
52960         0ce37ea Fix Isearch prompt when invoked with an argument
52961         f3033d4 Fix a typo in the Emacs manual
52962         4235d2d Curved quotes in etc/NEWS etc.
52963         26b56dc Fix some single quotes in documentation
52964         80ec484 Make lisp-completion-at-point's argument optional
52965         9d463ae Tweak the left precedence of '=>'
52966         5b705bc Indent '.' relative to the first sibling expression
52967         04f5525 Make '.' associative, for easier sexp navigation
52968         ba24c99 Revert "Simplify "Visit New File" to "New File""
52970 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
52972         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
52974         Use #' to quote functions.
52975         (erc-server-delayed-reconnect): Remove unused arg `event'.
52976         (erc-process-sentinel-2): Adjust accordingly.
52977         Don't pass `err' to condition-case if we don't use it.
52978         (define-erc-response-handler): Use add-hook rather than add-to-list.
52979         (NICK): Use cl-pushnew rather than add-to-list.
52980         (331): Remove unused var `topic'.
52981         (352): Remove unused var `hopcount'.
52983 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
52985         Support macros in 'func-arity'
52987         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
52989 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
52991         Fix compilation of Cygwin w32 port
52993         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
52994         initialize and free the notification set if compiling with
52995         w32notify feature.
52997 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
52999         Fix resize incompatibility with GTK+ master
53001         Problem reported by Matthias Clasen (Bug#23144).
53002         * src/xterm.c (handle_one_xevent) [USE_GTK]:
53003         Do not call xg_frame_resized.
53005 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
53007         Fix check for subscript errors in module calls
53009         * src/emacs-module.c (check_vec_index): New function.
53010         (module_vec_set, module_vec_get): Use it instead of a
53011         not-strict-enough check.
53013 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
53015         Support completion of bang-rules in CSS mode
53017         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
53018         holding the list of bang-rules for the current mode.
53019         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
53020         instead of computing them.
53021         (css--complete-bang-rule): New function for completing a bang-rule.
53022         (css-completion-at-point): Add support for completing bang-rules.
53023         (scss-font-lock-keywords): Change from a variable to a function in
53024         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
53025         changed.
53026         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
53028 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
53030         Add HTML4 tags to HTML mode
53032         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
53033         (html-tag-help): Add short descriptions of those tags.
53035 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53037         Pacify --enable-gcc-warnings for buffer-hash etc.
53039         * src/fns.c (make_digest_string): Now static.
53040         (secure_hash): Omit unused local.
53042 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
53044         Add support for 7z archives
53046         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
53047           also work with 7z archives.
53049         The shell command should produce a single extracted directory named
53050         after the archive's name.
53052         In case the extracted directory exists, all files will be overwritten
53053         without a prompt. This matches the expected behavior with the "tar.gz"
53054         archives.
53056 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
53058         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
53060 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
53062         Fix typo in network-stream-tests.el
53064         * test/lisp/net/network-stream-tests.el
53065         (connect-to-tls-ipv6-nowait): Fix typo.
53067 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
53069         New function seq-sort-by in seq.el
53071         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
53072         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
53073         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
53075 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53077         Mention the `M-q' changes
53079 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53081         Have `M-q' not mark buffers are changed when they haven't
53083         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
53084         to avoid marking buffers as changed when they haven't.
53086 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53088         Add a new function `buffer-hash'
53090         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
53092         * src/fns.c (Fbuffer_hash): New function.
53093         (make_digest_string): Refactored out into its own function.
53094         (secure_hash): Use it.
53096         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
53098 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
53100         Rename C names to match Lisp symbols better
53102         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
53103         which fixed a bug where the C name for a symbol disagreed with the
53104         symbol name itself.  Fix other instances of disagreements that I found.
53105         Although this doesn’t fix a bug, it should make code easier to follow.
53106         The remaining disagreements are idiosyncratic: Qminus, Qplus,
53107         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
53108         All uses changed.
53109         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
53110         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
53111         (QCsession): Rename from QCdbus_session_bus.
53112         (QCtimeout): Rename from QCdbus_timeout.
53113         (QCbyte): Rename from QCdbus_type_byte.
53114         (QCboolean): Rename from QCdbus_type_boolean.
53115         (QCint16): Rename from QCdbus_type_int16.
53116         (QCuint16): Rename from QCdbus_type_uint16.
53117         (QCint32): Rename from QCdbus_type_int32.
53118         (QCuint32): Rename from QCdbus_type_uint32.
53119         (QCint64): Rename from QCdbus_type_int64.
53120         (QCuint64): Rename from QCdbus_type_uint64.
53121         (QCdouble): Rename from QCdbus_type_double.
53122         (QCstring): Rename from QCdbus_type_string.
53123         (QCobject_path): Rename from QCdbus_type_object_path.
53124         (QCsignature): Rename from QCdbus_type_signature.
53125         (QCunix_fd): Rename from QCdbus_type_unix_fd.
53126         (QCarray): Rename from QCdbus_type_array.
53127         (QCvariant): Rename from QCdbus_type_variant.
53128         (QCstruct): Rename from QCdbus_type_struct.
53129         (QCdict_entry): Rename from QCdbus_type_dict_entry.
53130         (QCserial): Rename from QCdbus_registered_serial.
53131         (QCmethod): Rename from QCdbus_registered_method.
53132         (QCsignal): Rename from QCdbus_registered_signal.
53133         * src/emacs-module.c (Qinternal__module_call):
53134         Rename from Qinternal_module_call.
53135         * src/frame.c (Qwindow__pixel_to_total):
53136         Rename from Qwindow_pixel_to_total.
53137         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
53138         (QCpriority): Rename from QCgnutls_bootprop_priority.
53139         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
53140         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
53141         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
53142         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
53143         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
53144         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
53145         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
53146         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
53147         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
53148         (Qgnutls): Rename from Qgnutls_dll.
53149         (Qlibxml2): Rename from Qlibxml2_dll.
53150         (Qzlib): Rename from Qzlib_dll.
53151         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
53152         * src/window.c (Qwindow__resize_root_window):
53153         Rename from Qwindow_resize_root_window.
53154         (Qwindow__resize_root_window_vertically):
53155         Rename from Qwindow_resize_root_window_vertically.
53156         (Qwindow__sanitize_window_sizes):
53157         Rename from Qwindow_sanitize_window_sizes.
53158         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
53159         * src/xdisp.c (Qredisplay_internal_xC_functionx):
53160         Rename from Qredisplay_internal.
53161         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
53162         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
53164 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
53166         func-arity minor improvements
53168         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
53169         runtime test for integer argument, unless debugging.
53170         Use EMACS_INT for Emacs integers.
53171         * src/eval.c (Ffunc_arity): Omit unused locals.
53172         Avoid side effects in ‘if’ expr.
53173         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
53175 2016-03-26  John Wiegley  <johnw@newartisans.com>
53177         Restore the fix to bug#18527 from commit d6868025
53179 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
53181         Safely run window size change functions
53183         * src/window.c (run_window_size_change_functions): Use
53184         safe_call1 when running a size change function.
53185         (grow_mini_window, shrink_mini_window): Report error when
53186         minibuffer window cannot be resized.
53188 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
53190         Implement 'func-arity'
53192         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
53193         * src/bytecode.c (get_byte_code_arity): New function.
53194         * src/lisp.h (get_byte_code_arity): Add prototype.
53196         * doc/lispref/functions.texi (What Is a Function): Document
53197         'func-arity'.
53199         * etc/NEWS: Mention 'func-arity'.
53201         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
53203 2016-03-25  Alan Mackenzie  <acm@muc.de>
53205         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
53207         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
53208         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
53209         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
53210         c-noise-macro-with-parens-name-re.
53212         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
53213         cc-engine.el.
53215         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
53216         `c-make-noise-macro-regexps'.
53217         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
53219         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
53220         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
53222 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53224         (shr-insert): Respect non-breaking space in non-<pre> text
53226         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
53227         non-<pre> text.
53229 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53231         parse-times-string doc string clarification
53233         * lisp/calendar/parse-time.el (parse-time-string): Note that
53234         we accept RFC2822 strings.
53236 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
53238         Doc string fix
53240         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
53241         doc string and clean up code.
53243 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
53245         Cleanup file notification code in Tramp
53247         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
53248         Make `events' a list of symbols for "inotifywait".
53249         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
53250         Call `file-notify-handle-event' for better traces.
53251         (tramp-sh-inotifywait-process-filter): Check for expected events.
53252         Call `file-notify-handle-event' for better traces.
53254 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
53256         Adapt filenotify-tests.el according latest tests
53258         * test/lisp/filenotify-tests.el (file-notify-test02-events)
53259         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
53260         Remove superfluous `read-event' calls.
53261         (file-notify-test02-events): Expect different events under MS
53262         Windows 7 and 10.
53263         (file-notify-test04-file-validity): Move `file-notify-valid-p'
53264         check up.
53266 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53268         Merge from origin/emacs-25
53270         ad250f2 Sync with gnulib
53271         c0165ea Resurrect GNUS-NEWS autogeneration
53273         # Conflicts:
53274         #       etc/GNUS-NEWS
53275         #       lisp/Makefile.in
53277 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53279         Merge from origin/emacs-25
53281         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
53282         38a43f1 Fix bug in displaying header line with a box face
53284 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53286         * etc/NEWS: Use straight quotes.
53288 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
53290         Support completion of attribute values in CSS mode
53292         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
53293         holding CSS identifiers and the values they can have.
53294         (css-property-ids): Compute dynamically from `css-property-alist'.
53295         (css-value-class-alist): New defconst holding property value classes
53296         and their values.
53297         (css--property-value-cache): New variable providing a cache for
53298         `css--property-values'.
53299         (css--value-class-lookup): New function for computing a list of values
53300         in a value class.
53301         (css--property-values): New function for computing a list of possible
53302         values for a CSS property.
53303         (css--complete-property-value): New function for completing a property
53304         value.
53305         (css-completion-at-point): Add support for completing property values.
53306         * test/lisp/textmodes/css-mode-tests.el: New file.
53308 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
53310         Sync with verilog-mode development tree.
53312         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
53313         verilog-speedbar-initialize): Automatically add verilog-mode
53314         extensions when in speedbar mode, bug1045, bug1046.  Reported by
53315         David Shleifman.
53316         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
53317         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
53318         (verilog-read-always-signals-recurse): Fix :: notation for
53319         auto-reset signals.  Reported by Andrew Jones.
53320         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
53321         grouping keywords, bug1002. Reported by Paul Sargent.
53322         (verilog-save-font-no-change-functions): Commentary and fix
53323         pre-Emacs 21 behavior.
53325 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
53327         Compute a better commit message for merges
53329         Problem reported by David Engster in:
53330         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
53331         * admin/gitmerge.el (gitmerge-commit-message):
53332         Truncate the computed commit message to at most 72 characters per line.
53333         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
53334         merges; use the computed commit message instead.
53336 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
53338         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
53340 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
53342         Change do-not-merge pattern to "do not merge"
53344         This should avoid the problem we recently had with
53345         automatically-generated merge messages, while still letting people
53346         specify commits not to merge.
53347         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
53348         (gitmerge-highlight-skip-regexp): Fold case when searching
53349         for gitmerge-skip-regexp.
53351 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
53353         Merge from origin/emacs-25
53355         91e6676 Fix an Isearch var to be a string (Bug#23038)
53356         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
53358 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
53360         -
53362         -
53364 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
53366         Keep "merge" commits by default in gitmerge
53368         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
53369         causes false positives.  See:
53370         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
53372 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
53374         Assume NON_BLOCKING_CONNECT (Bug#22946)
53376         * lisp/proced.el (proced-signal-list): Omit comment about
53377         obsolete systems that do not support POSIX 1003.1-2001 signals.
53378         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
53379         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
53380         (connect_network_socket): Assume EINPROGRESS is defined,
53381         as that’s portable too now.
53382         (Fmake_network_process): Use bool for boolean.
53384 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
53386         Fix problems caused by new implementation of sub-word mode
53388         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
53389         New functions.
53390         (word-move-empty-char-table): New variable.
53392         * etc/NEWS: Mention 'forward-word-strictly' and
53393         'backward-word-strictly'.
53395         * doc/lispref/positions.texi (Word Motion): Document
53396         'find-word-boundary-function-table', 'forward-word-strictly', and
53397         'backward-word-strictly'.  (Bug#22560)
53399         * src/syntax.c (syms_of_syntax)
53400         <find-word-boundary-function-table>: Doc fix.
53402         * lisp/wdired.el (wdired-xcase-word):
53403         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
53404         (texinfo-copy-section-title, texinfo-start-menu-description)
53405         (texinfo-copy-menu-title, texinfo-specific-section-type)
53406         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
53407         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
53408         (texinfo-insert-@end):
53409         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
53410         (texinfo-anchor, texinfo-multitable-widths)
53411         (texinfo-multitable-item):
53412         * lisp/textmodes/tex-mode.el (latex-env-before-change):
53413         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
53414         * lisp/skeleton.el (skeleton-insert):
53415         * lisp/simple.el (count-words):
53416         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
53417         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
53418         (vhdl-update-sensitivity-list, vhdl-template-block)
53419         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
53420         (vhdl-template-default-indent, vhdl-template-for-loop)
53421         (vhdl-template-if-then-use, vhdl-template-bare-loop)
53422         (vhdl-template-nature, vhdl-template-procedural)
53423         (vhdl-template-process, vhdl-template-selected-signal-asst)
53424         (vhdl-template-type, vhdl-template-variable)
53425         (vhdl-template-while-loop, vhdl-beginning-of-block)
53426         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
53427         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
53428         (verilog-forward-sexp, verilog-beg-of-statement)
53429         (verilog-set-auto-endcomments, verilog-backward-token)
53430         (verilog-do-indent):
53431         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
53432         (vera-indent-block-closing):
53433         * lisp/progmodes/simula.el (simula-context)
53434         (simula-backward-up-level, simula-forward-down-level)
53435         (simula-previous-statement, simula-next-statement)
53436         (simula-skip-comment-backward, simula-calculate-indent)
53437         (simula-find-if, simula-electric-keyword):
53438         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
53439         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
53440         (ruby-smie--forward-token, ruby-smie--backward-token)
53441         (ruby-singleton-class-p, ruby-calculate-indent)
53442         (ruby-forward-sexp, ruby-backward-sexp):
53443         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
53444         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
53445         (perl-syntax-propertize-special-constructs)
53446         (perl-backward-to-start-of-continued-exp):
53447         * lisp/progmodes/pascal.el (pascal-indent-declaration):
53448         * lisp/progmodes/octave.el (octave-function-file-p):
53449         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
53450         * lisp/progmodes/js.el (js--forward-function-decl):
53451         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
53452         (idlwave-beginning-of-block, idlwave-end-of-block)
53453         (idlwave-block-jump-out, idlwave-determine-class):
53454         * lisp/progmodes/icon.el (icon-is-continuation-line)
53455         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
53456         * lisp/progmodes/hideif.el (hide-ifdef-define):
53457         * lisp/progmodes/f90.el (f90-change-keywords):
53458         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
53459         (cperl-linefeed, cperl-electric-terminator)
53460         (cperl-find-pods-heres, cperl-fix-line-spacing)
53461         (cperl-invert-if-unless):
53462         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
53463         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
53464         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
53465         (ada-adjust-case-skeleton, ada-create-case-exception)
53466         (ada-create-case-exception-substring)
53467         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
53468         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
53469         (ada-get-indent-if, ada-get-indent-block-start)
53470         (ada-get-indent-loop, ada-get-indent-type)
53471         (ada-search-prev-end-stmt, ada-check-defun-name)
53472         (ada-goto-decl-start, ada-goto-matching-start)
53473         (ada-goto-matching-end, ada-looking-at-semi-or)
53474         (ada-looking-at-semi-private, ada-in-paramlist-p)
53475         (ada-search-ignore-complex-boolean, ada-move-to-start)
53476         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
53477         * lisp/net/quickurl.el (quickurl-grab-url):
53478         * lisp/mail/sendmail.el (mail-do-fcc):
53479         * lisp/mail/rmail.el (rmail-resend):
53480         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
53481         * lisp/mail/mail-extr.el (mail-extract-address-components):
53482         * lisp/json.el (json-read-keyword):
53483         * lisp/files.el (insert-directory):
53484         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
53485         * lisp/completion.el (symbol-under-point, symbol-before-point)
53486         (symbol-before-point-for-complete, next-cdabbrev)
53487         (add-completions-from-c-buffer):
53488         * lisp/cedet/semantic/texi.el (semantic-up-context)
53489         (semantic-beginning-of-context):
53490         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
53491         use 'forward-word-strictly' and 'backward-word-strictly' instead
53492         of 'forward-word' and 'backward-word'.
53494         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
53495         which was inadvertently lost by merge commit
53496         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
53498 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
53500         * etc/TODO: Minor quoting and grammar fixes.
53502         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
53503         which was inadvertently lost by merge commit
53504         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
53506 2016-03-21  Alan Mackenzie  <acm@muc.de>
53508         Don't confuse "::" with ":" when trying to parse member initializers.
53510         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
53511         more robustly for ":" token when searching backwards for it.
53513         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
53514         language variable.
53516         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
53517         which was inadvertently lost by merge commit
53518         7823745acbe9b87eea2db4ef434e379fc903ec35.]
53520 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
53522         Ensure positive number of glyphs for margins of positive width
53524         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
53525         positive value when a non-zero width of the marginal area was
53526         requested.  (Bug#22356)
53528         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
53529         which was inadvertently lost by merge commit
53530         7823745acbe9b87eea2db4ef434e379fc903ec35.]
53532 2016-03-21  Alan Mackenzie  <acm@muc.de>
53534         In comment-dwim with style `extra-line', respect indent-tabs-mode.
53536         This fixes bug #22369.
53538         * lisp/newcomment.el (comment-make-bol-ws): New function.
53539         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
53541         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
53542         which was inadvertently lost by merge commit
53543         7823745acbe9b87eea2db4ef434e379fc903ec35.]
53545 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
53547         Merge doc fixes for 'random' lost in previous merge
53549         [This reapplies part of commit
53550         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
53551         which was inadvertently lost by merge commit
53552         7823745acbe9b87eea2db4ef434e379fc903ec35.]
53553         (Bug#22202)
53555 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
53557         Unhide the --no-line-directive option to 'etags'
53559         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
53560         option.  (Bug#22306)
53562         * doc/man/etags.1: Document the --no-line-directive option.
53564         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
53565         which was inadvertently lost by merge commit
53566         7823745acbe9b87eea2db4ef434e379fc903ec35.]
53568 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
53570         Fix picture-mode wrt double-width characters
53572         * lisp/textmodes/picture.el (picture-insert): Check the width of
53573         the character being replaced, not just that of the replacement.
53574         (Bug#1808)
53576         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
53577         which was inadvertently lost by merge commit
53578         7823745acbe9b87eea2db4ef434e379fc903ec35.]
53580 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
53582         Resurrect earlier fix of resize_frame_windows
53584         * src/window.c (resize_frame_windows): Resurrect earlier fix for
53585         calculating the number of columns of the minibuffer window which
53586         was lost in subsequent merges.
53588 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53590         Move the cert files to the data directory
53592 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53594         Further empty <li> tweaks
53596         * lisp/net/shr.el (shr-tag-li): When showing several empty
53597         <li> elements, ensure that they really get inserted on a new line.
53599 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53601         Don't remove too much white space at the end of documents
53603         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
53604         remove too much white space -- leave it on the last line (in
53605         case there's a background color).
53607 2016-03-20  Alan Mackenzie  <acm@muc.de>
53609         Amend parse-partial-sexp correctly to handle two character comment delimiters
53611         Do this by adding a new field to the parser state: the syntax of the last
53612         character scanned, should that be the first char of a (potential) two char
53613         construct, nil otherwise.
53614         This should make the parser state complete.
53615         Also document element 9 of the parser state.  Also refactor the code a bit.
53617         * src/syntax.c (struct lisp_parse_state): Add a new field.
53618         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
53619         (internalize_parse_state): New function, extracted from scan_sexps_forward.
53620         (back_comment): Call internalize_parse_state.
53621         (forw_comment): Return the syntax of the last character scanned to the caller
53622         when that character might be the first of a two character construct.
53623         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
53624         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
53625         information via the address parameter `state'.  Remove the code which converts
53626         from external to internal form of `state'.  Access buffer contents only from
53627         `from' onwards.  Reformulate code at the top of the main loop correctly to
53628         recognize comment openers when starting in the middle of one.  Call
53629         forw_comment with extra argument (for return of syntax value of possible first
53630         char of a two char construct).
53631         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
53632         doc string.  Clarify the doc string in general.  Call
53633         internalize_parse_state.  Take account of the new elements when consing up the
53634         output parser state.
53636         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
53637         element 10.  Minor wording corrections (remove reference to "trivial
53638         cases").
53639         (Low Level Parsing): Minor corrections.
53641         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
53642         state.
53644 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53646         Allow the shr test files to have trailing blank space.
53648         * .gitattributes: Allow the shr test files to have trailing
53649         blank space.
53651 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53653         Add tests for empty <ul><li>
53655 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
53657         * src/alloc.c (purecopy): Use AUTO_STRING.
53659 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53661         Ignore invalid base64 encoded embedded images
53663         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
53664         encoded embedded images (bug#22928).
53666 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53668         Render empty <ul><li><ul> correctly
53670         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
53671         correctly (bug#22964).
53673 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53675         Fix <p> and <div> newlines with or without <li> in shr
53677         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
53678         a <li>, if we are, and don't insert newlines there.
53679         (shr-ensure-paragraph): When mixing newlines and paragraph
53680         ensurements, don't insert too many blank lines.
53681         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
53682         new line.
53684 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53686         Add more shr HTML rendering tests
53688         Add a test harness for shr HTML rendering and one test
53690 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53692         Remove code left over from when overlays were used for padding
53694         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
53695         (shr-remove-trailing-whitespace): Ditto.
53696         (shr-insert-document): Don't call them.
53698 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53700         Remove trailing blank lines in shr
53702         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
53703         (shr-insert-document): Use it to remove trailing blank lines
53704         at the end of documents, since these never seem to be very useful.
53706 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53708         Don't bug out on nil `patch-buf' arguments
53710         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
53711         `patch-buf' arguments.
53713 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
53715         Add a Catalan language environment
53717         * lisp/international/mule-cmds.el (locale-language-names): Map locale
53718           language name `ca' to language environment `Catalan'.
53720         * lisp/language/european.el: Add definition of language
53721         environment for the Catalan language.
53723         * lisp/leim/quail/latin-pre.el: Add quail rule to the
53724         `catalan-prefix' input method to support input of middle dot
53725         characters through composition (bug#18279).
53727 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53729         No need to block input when reading directories
53731         * src/dired.c: Don’t include blockinput.h.
53732         (open_directory, directory_files_internal_unwind)
53733         (directory_files_internal, file_attributes):
53734         Don’t block input here, as the reasons for blocking input should
53735         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
53737 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
53739         * lisp/vc/vc-hooks.el: Fix typo
53741 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
53743         Improve w32notify notifications
53745         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
53746         (struct notification): 'terminate' is now a HANDLE.
53747         (send_notifications): Argument is now a pointer to a
53748         notification.  Don't loop waiting for the notification to be
53749         acknowledged by the main thread; instead, just add the
53750         notification to the linked list of notifications waiting to be
53751         acknowledged.
53752         (watch_end): Don't close the directory handle.
53753         (watch_completion): Allocate a new notification structure to be
53754         added to the notifications set.  Call ReadDirectoryChangesW
53755         immediately after adding the new notification, and before sending
53756         a message to the main thread about them.
53757         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
53758         call it just once -- it will be called again in watch_completion.
53759         Loop waiting for the main thread's indication to terminate.
53760         (start_watching): Create the event to be used to indicate to the
53761         worker thread that its should terminate.
53762         (remove_watch): Indicate to the worker thread that it should
53763         terminate.
53764         * src/w32term.c (queue_notifications): Loop over all the
53765         notifications in the linked list, processing all of them in one
53766         go.
53767         * src/w32inevt.c (handle_file_notifications): Loop over all the
53768         notifications in the linked list.
53769         * src/w32xfns.c (init_crit): Initialize the linked list of file
53770         notifications.
53771         (delete_crit): Free the linked list of file notifications,
53772         including any unprocessed notifications left in it.
53773         * src/w32term.h (struct notifications_se): New struct.
53775         * test/lisp/filenotify-tests.el (file-notify-test02-events)
53776         (file-notify-test05-dir-validity): Add read-event calls to
53777         facilitate event recognition by the main thread in batch mode.
53779 2016-03-17  Sam Steingold  <sds@gnu.org>
53781         make `vc-log-operation' buffer local to allow multiple simultaneous editing
53783 2016-03-17  Glenn Morris  <rgm@gnu.org>
53785         Simplify some rococo Gnus code that loads or tests for other libraries.
53787         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
53788         * lisp/gnus/mml-smime.el (epg): Simply require it.
53789         (mml-smime-use): Simplify the default.  Doc fix.
53790         * lisp/gnus/mml2015.el (epg-config): Require it.
53791         (mml2015-use): Simplify the default.
53792         * lisp/gnus/smime.el (password-cache): Simply require it.
53793         (password-read-and-add): Remove declaration.
53795 2016-03-16  Glenn Morris  <rgm@gnu.org>
53797         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
53799 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
53800             Alex Harsanyi  <AlexHarsanyi@gmail.com>
53802         Sync with soap-client repository, version 3.1.1
53804         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
53805         message.
53806         (soap-find-port): Delete trailing whitespace.
53807         (soap-find-operation): Fix documentation and rename parameter.
53808         (soap-find-port): Likewise.
53809         (soap-operation-arity): Likewise.
53811         * lisp/net/soap-client.el: Update copyright years.
53812         (soap-warning): Fix docstring quoting.
53813         (soap-decode-date-time): Likewise.
53814         (soap-validate-xs-simple-type): Remove tabs for indentation.
53815         * lisp/net/soap-inspect.el: Update copyright years.
53817         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
53818         assume xsd:base64Binary values are UTF-8 strings.
53819         (soap-decode-xs-basic-type): Likewise.
53820         (soap-invoke): Document xsd:base64Binary handling.
53822         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
53823         (soap-operation-arity): new defuns
53824         (soap-invoke-internal): use soap-find-port, soap-find-operation.
53826 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53828         Merge from gnulib
53830         This incorporates:
53831         2016-03-15 std-gnu11: improve clang support
53832         * m4/std-gnu11.m4: Copy from gnulib.
53834 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53836         Disable MOVE more for Dovecot
53838         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
53839         disable MOVE when expirying.
53840         (nnimap-split-incoming-mail): And when splitting mail.
53842 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53844         Don't use MOVE on Dovecot
53846         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
53847         MOVE on Dovecot, since it's broken in many versions.
53848         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
53850 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
53852         Improve diff hunk headers when maintaining Emacs
53854         * .gitattributes: Improve diff hunk header support for makefiles,
53855         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
53856         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
53857         somewhere (sometimes just in test cases).
53858         * autogen.sh: Add regexes for makefiles and shell scripts.
53860 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
53862         Update handling of <bdo> per Unicode 9.0
53864         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
53865         Unicode 9.0 changes in UAX#9, paragraph 2.7.
53867 2016-03-11  John Wiegley  <johnw@newartisans.com>
53869         Merge from origin/emacs-25
53871         facb5e2 Update Emacs manual section related to character folding
53872         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
53873         f8df21b Update admin/notes/unicode
53874         950be68 Add symref-filepattern entries for c?perl-mode
53875         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
53876         985dacf ; NEWS update for the last change in etags
53877         741a6f8 Sync with gnulib
53878         7352c6c Rework C source files to avoid ^(
53879         a589e9a By default, etags produces unqualified Perl tag names
53880         72c7438 Indent methods with keyword names correctly
53881         28532a9 Propertize character literals and special global variables
53882                 differently
53883         a7d6f39 ; Fix last change in NEWS
53884         83b2a20 Change how /etc/NEWS presents character folding
53885         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
53886                 off by default""
53887         711ca36 Properly handle lambda as read function (bug 22961)
53888         1b9d616 Propertize operator symbol names with symbol syntax class
53889         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
53890         366ec77 Allow using the left shift operator without spaces on both sides
53891         02bf7cc Properly handle unquoting in wdired (bug 22938)
53892         16cf469 ; Spelling fix and tighten up comment
53893         f50bc04 Allow splat operator before percent literal
53894         991c801 Don't apply the return value of goto-char as syntax class
53895         6e63b3e Guard against nested percent literals
53896         066f3bc Recognize iuwu-mod after an escaped newline
53897         6f7a57c Fix symbolic mode string conversion for s and t
53898         50b9826 Update 'ucs-names' database
53899         993b2fb Improve doc string of 'shell-command'
53900         b71c717 Make the code in movemail_strftime more general
53901         cc057e4 Speed up redisplay of binary files with long series of nulls
53902         e51b27e Remove the highlighting support for quoting 'like this' inside
53903                 Lisp docstrings
53904         b1abce1 Restore leading space in movemail pop output
53905         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
53906         dc9d837 Don't misindent computed property generator methods
53907         7923112 Fix mbox files produced by movemail on MS-Windows
53908         c45a1ca doc string file descriptor exhaustion fix
53909         265141b Fix Bug#22814
53911 2016-03-11  John Wiegley  <johnw@newartisans.com>
53913         Merge from origin/emacs-25
53915         620951f Fix previous fix of enlarge-/shrink-window
53916         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
53917         66d2717 Complete temperature units in calc-convert-temperature
53918         dbb02bf Make sure to use case-sensitive search
53919         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
53920         100346a Add the missing test case for the previous patch
53921         5aba61e Use the correct dabbrev expansion
53923 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
53925         Remove compat code in Tramp
53927         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
53928         Remove compat code.
53930 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
53932         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
53934         Use #' for function names.
53935         (latex-complete-envnames): Include existing environments in
53936         current buffer.
53937         (latex-insert-block): Use latex-complete-envnames.
53938         (tildify-foreach-ignore-environments): Declare.
53940 2016-03-10  Alain Schneble  <a.s@realize.ch>
53942         Fix asynchronous TLS connections on MS-Windows
53944         * src/w32.c (sys_write): Don't switch the socket to blocking mode
53945         if the connection attempt is in progress.  Instead, return either
53946         EWOULDBLOCK immediately if the connection is in progress, or the
53947         error code produced by '_sys_wait_connect' if the connection
53948         failed.  Switching the socket to blocking mode was found to
53949         interfere with GnuTLS handshake.  (Bug#22789)
53951 2016-03-10  Alan Mackenzie  <acm@muc.de>
53953         Clarify the documentation of nested comments.
53955         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
53956         style are recognized inside nestable comments.
53957         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
53958         UNNESTED comments.
53960 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
53962         Add new function display-buffer-reuse-mode-window
53964         * lisp/window.el (display-buffer-reuse-mode-window): New function.
53965         * doc/lispref/windows.texi (Display Action Functions): Document it.
53967 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
53969         Minor fixes for getaddrinfo_a usage
53971         * src/process.c (Fdelete_process): Check gai_cancel return value.
53972         That way, there’s no need to invoke gai_error.  Check gai_suspend
53973         return value.
53974         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
53975         string.  Simplify call to connect_network_socket.
53976         (check_for_dns): Avoid unnecessary initialization of local.
53978 2016-03-09  Sam Steingold  <sds@gnu.org>
53980         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
53982         The former avoids a compiler warning, the latter fixes a bug whereas
53983         the variable is compiled as lexical instead of dynamic.
53985 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
53987         Pacify --enable-gcc-warnings
53989         * src/xfns.c (x_create_tip_frame): Omit unused local.
53990         (Fx_show_tip): Don’t jump over auto initialization.
53992 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
53994         Optionally reuse tooltip frames instead of deleting/recreating them.
53996         * src/frame.c (tooltip_reuse_hidden_frame): New option.
53997         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
53998         handling of dividers.
53999         (x_hide_tip): New function.
54000         (Fx_show_tip): Try to reuse old tooltip frame when
54001         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
54002         have not changed.  Insert STRING here instead of passing it to
54003         x_create_tip_frame.  Compute size of tooltip window with
54004         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
54005         padding tooltip window.
54006         (Fx_hide_tip): Call x_hide_tip.
54007         (Vw32_tooltip_extra_pixels): New variable.
54008         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
54009         value.  Fix doc-string.
54010         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
54011         make_frame with mini_p argument false.
54012         (x_hide_tip): New function.
54013         (Fx_show_tip): Try to reuse old tooltip frame when
54014         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
54015         have not changed.  Insert STRING here instead of passing it to
54016         x_create_tip_frame.  Compute size of tooltip window with
54017         Fwindow_text_pixel_size.
54018         (Fx_hide_tip): Call x_hide_tip.
54019         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
54020         customization entry.
54022 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
54024         Assume getaddrinfo in C code
54026         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
54027         All uses removed.
54028         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
54029         Say that port numbers can be integer strings.
54030         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
54031         (socket_connection): Assume HAVE_GETADDRINFO.
54032         * lisp/mpc.el (mpc--proc-connect):
54033         * lisp/net/network-stream.el (open-network-stream):
54034         It’s now OK to use integer strings as port numbers.
54035         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
54036         (Fmake_network_process): Assume HAVE_GETADDRINFO.
54038 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
54040         Remove support for IRIX
54042         The IRIX port wasn’t really working anyway, and the code was
54043         getting in the way of other changes (e.g., getaddrinfo fixes).
54044         IRIX’s supplier dropped support for IRIX in 2013.
54045         * admin/CPP-DEFINES:
54046         * configure.ac (opsys):
54047         * doc/lispref/os.texi (System Environment):
54048         * etc/MACHINES, etc/PROBLEMS:
54049         * lisp/find-dired.el (find-grep-options):
54050         * lisp/lpr.el (lpr-lp-system):
54051         * lisp/ls-lisp.el (ls-lisp-emulation):
54052         * lisp/mail/rmail.el (rmail-spool-directory):
54053         * lisp/net/net-utils.el (ping-program-options):
54054         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
54055         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
54056         * src/conf_post.h [IRIX6_5]:
54057         * src/emacs.c (Vsystem_type):
54058         * src/filelock.c (get_boot_time_1):
54059         * src/process.c (process_send_signal):
54060         * src/unexelf.c (unexec):
54061         Omit IRIX-specific code and/or documentation.
54062         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
54063         Remove.  All uses removed.
54064         * etc/NEWS: Document the change.
54066 2016-03-06  John Wiegley  <johnw@newartisans.com>
54068         Revert "Use colors in the VC mode lines"
54070         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
54072 2016-03-06  Ken Brown  <kbrown@cornell.edu>
54074         Fix Cygwin-w32 build
54076         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
54077         Define only if WINDOWSNT, and update all uses accordingly.
54078         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
54079         (remove_w32_kbdhook): Declare only if WINDOWSNT.
54080         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
54082 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
54084         Unbreak the MinGW64 build
54086         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
54087         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
54088         for the details.  Reported by Angelo Graziosi
54089         <angelo.graziosi@alice.it>.
54091 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54093         Don't signal errors on E_AGAIN
54095         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
54096         error now that TLS is async.
54098 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54100         Allow making TLS negotiation blocking
54102         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
54104         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
54105         :complete-negotiation, to specify that we want complete
54106         negotiation even if the socket is non-blocking.
54107         (gnutls_try_handshake): Complete negotiation if given that keyword.
54109         * src/process.h (L): Added gnutls_complete_negotiation_p.
54111 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54113         Don't run ipv6 test on systems without ipv6
54115         * test/lisp/net/network-stream-tests.el
54116         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
54118 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
54120         Implement getaddrinfo fallback for MS-Windows
54122         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
54123         for more details.
54125         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
54126         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
54127         test program is not smart enough to auto-detect these.
54128         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
54129         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
54130         sys_getaddrinfo and sys_freeaddrinfo.
54132         * src/w32.c (init_winsock): Try loading getaddrinfo and
54133         freeaddrinfo from ws2_32.dll.
54134         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
54136         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
54137         and also ws2tcpip.h.
54138         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
54139         sys_getaddrinfo and sys_freeaddrinfo, respectively.
54140         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
54141         functions.
54143 2016-03-04  Glenn Morris  <rgm@gnu.org>
54145         * lisp/files.el: Fix recent typo.
54147         * lisp/subr.el (read-multiple-choice): Avoid free variable.
54149         * doc/lispref/files.texi (File Attributes): Fix typo.
54151 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
54153         Make the describe-key prompts clearer
54155         * lisp/help.el (describe-key-briefly): Make the prompt clearer
54156         (bug#14854).
54157         (describe-key): Ditto.
54159 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
54161         Allow scrolling while querying multiple choice
54163         * lisp/subr.el (read-multiple-choice): Allow scrolling the
54164         buffer while querying (bug#22827).
54166 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
54168         Add accessors for `file-attributes'
54170         * doc/lispref/files.texi (File Attributes): Mention the accessors.
54172         * lisp/files.el (file-attribute-type)
54173         (file-attribute-link-number, file-attribute-user-id)
54174         (file-attribute-group-id, file-attribute-access-time)
54175         (file-attribute-modification-time)
54176         (file-attribute-change-time, file-attribute-size)
54177         (file-attribute-modes, file-attribute-inode-number)
54178         (file-attribute-device-number): New functions.
54180         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
54182 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
54184         Fix Bug#22814
54186         * lisp/autorevert.el (global-auto-revert-mode): Do not set
54187         `auto-revert-use-notify' to nil.
54189         * etc/NEWS: Mention this.
54191         * etc/PROBLEMS: Remove problem Bug#22814.
54193         * src/kqueue.c: Include <sys/resource.h>.
54194         (Fkqueue_add_watch): Limit the number of used file descriptors.
54195         (Bug#22814)
54197         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
54198         (file-notify-test00-availability, file-notify-test01-add-watch)
54199         (file-notify-test02-events, file-notify-test06-many-events):
54200         Use #' read syntax for functions.
54201         (file-notify-test05-dir-validity)
54202         (file-notify-test06-many-events): Simplify directory creation.
54203         (file-notify-test09-sufficient-ressources): New test.
54205 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
54207         Fix insertion of edited servers in the dribble file
54209         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
54210         insert explicit newlines, because they're quoted (bug#22903).
54212 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
54214         Move cl-seq-tests to the right place after the merge
54216         Move cl-seq-tests to the right place after the merge
54218 2016-03-03  John Wiegley  <johnw@newartisans.com>
54220         Merge from origin/emacs-25
54222         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
54223         5cf7c39 authors.el updates
54224         a26f193 ; fix changelog entries
54225         fbc85c7 ; make change-history-commit
54226         06da00c Fix Bug#22859
54227         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
54228         1481029 Fix reordering of bidi text in an isolate inside an override
54229         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
54231 2016-03-03  John Wiegley  <johnw@newartisans.com>
54233         Merge from origin/emacs-25
54235         f5d1435 Fix targets in test/automated/Makefile.in
54237 2016-03-03  John Wiegley  <johnw@newartisans.com>
54239         Merge from origin/emacs-25
54241         b6d6304 Comment on last change to define-derived-mode
54243 2016-03-03  John Wiegley  <johnw@newartisans.com>
54245         Merge from origin/emacs-25
54247         cb1e3da Also allow setting the paragraph direction to nil
54248         bbe8a89 Made the new OS X visible bell more visible.
54250 2016-03-03  John Wiegley  <johnw@newartisans.com>
54252         Merge from origin/emacs-25
54254         aae436e Uncomment the next-error-function integration in xref
54255         5f0d096 Remove the word "valid", to avoid ambiguity
54257 2016-03-03  John Wiegley  <johnw@newartisans.com>
54259         Merge from origin/emacs-25
54261         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
54262         0d60bfc Fix ModelSim error parsing
54264 2016-03-03  John Wiegley  <johnw@newartisans.com>
54266         Merge from origin/emacs-25
54268         b13cab6 Add a eww command to toggle paragraph direction
54269         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
54270         9e078e5 Fix char signedness issue in bidi code
54271         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
54272         14060a9 Avoid inflooping in thing-at-point-looking-at
54273         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
54274                 indent change.
54275         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
54276         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
54277         d2dd614 Remove unneeded workaround in xftfont.c
54278         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
54279         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
54280         06a872b Fix redisplay on a TTY after 'make-frame'
54281         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
54282                 Fixes bug#5560.
54283         7d206fc Input method polish-slash should not use keyboard translation
54284         8be32cf Fix an assertion
54285         040e0d6 Fix 'toggle-save-place'
54286         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
54288 2016-03-03  John Wiegley  <johnw@newartisans.com>
54290         Merge from origin/emacs-25
54292         e6a3819 Update HISTORY section in readme for the NextStep interface.
54293         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
54294         7c81a0b Improve documentation of 'save-place-mode'
54295         cab3f0a Allocate glyph matrices for the initial frame
54296         e01c72f Fix white space in last checkin
54297         370eb67 Make `insert-pair' always leave the cursor where documented
54298         b594393 etc/NEWS: Mention the new second parameter to `package-install'
54300 2016-03-03  John Wiegley  <johnw@newartisans.com>
54302         Merge from origin/emacs-25
54304         bd58c13 Improve documentation of focus-related hooks
54305         00a4720 Further improve doc string of 'disable-point-adjustment'
54306         c582def Further adaptions in file-notify-tests.el for w32notify
54307         a1585e1 Don't bug out on localized dates in gnus-icalendar
54309 2016-03-03  John Wiegley  <johnw@newartisans.com>
54311         Merge from origin/emacs-25
54313         7bc4820 Make setf for frame-height/width work again
54315 2016-03-03  John Wiegley  <johnw@newartisans.com>
54317         Merge from origin/emacs-25
54319         6620944 (cl-union): Do not ignore :test argument when lists are equal.
54320         17dd3fb Add `isearch' to `basic-faces'
54321         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
54322         e72a26e Make find-tag-default-bounds more strict
54323         1bc0e0a Minor fixes in filenotify.el
54325 2016-03-02  Alain Schneble  <a.s@realize.ch>
54327         Fix issue of inserting images on some systems
54329         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
54330         to pass to shr-image-fetched, to indicate where to insert the
54331         image.  Fixes the issue introduced with commit
54332         80852f843e69b81618f29cfb9aa4b074946cb3c4
54333         (bug#22789).
54335 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
54337         Ensure TLS negotiation progress
54339         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
54340         number of retries so that we try for about a minute.
54342         * src/process.c (wait_reading_process_output): Ensure progress
54343         for DNS resolution and TLS negotiation.
54345 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
54347         emacs-module.h slight simplification
54349         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
54350         * src/emacs-module.h: ... from here, as they don’t need to be public.
54351         (enum emacs_arity): Remove useless enum tag.  The enum value is
54352         used in ptrdiff_t contexts.
54354         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
54356 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
54358         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
54360 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
54362         emacs-module.c simplification and tuneup
54364         * src/emacs-module.c (CHECK_USER_PTR): New function.
54365         (module_get_user_ptr, module_set_user_ptr)
54366         (module_get_user_finalizer, module_set_user_finalizer): Use it.
54367         (module_make_global_ref, module_copy_string_contents)
54368         (module_make_string, module_vec_set, module_vec_get): Omit
54369         unnecessary runtime tests.  For example, vector sizes are always
54370         fixnums, so we don’t need to test that they are in fixnum range.
54372 2016-03-02  Philipp Stephani  <phst@google.com>
54374         Use standard checks whenever possible.
54376         This is possible in all functions where we catch signals anyway.
54378         * src/emacs-module.c (module_make_global_ref, module_funcall)
54379         (module_copy_string_contents, module_make_string): Use xsignal0
54380         and CHECK macros for argument checks.
54382 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
54384         Deterministic build improvements
54386         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
54387         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
54388         and have its value be either empty or --no-build-details.
54389         All uses changed.  Change option to --disable-build-details.
54390         * doc/emacs/cmdargs.texi (Initial Options):
54391         Document --no-build-details.
54392         * doc/lispref/internals.texi (Building Emacs):
54393         * etc/NEWS:
54394         Document --disable-build-details.
54395         * doc/lispref/intro.texi (Version Info): Say that
54396         emacs-build-time can be nil.
54397         * lisp/erc/erc-compat.el (erc-emacs-build-time):
54398         Now nil if details are omitted.
54399         * lisp/erc/erc.el (erc-cmd-SV):
54400         * lisp/version.el (emacs-build-time):
54401         Now nil if no build details.
54402         (emacs-version):
54403         Output build time only if build details.
54404         * src/Makefile.in (BUILD_DETAILS): New macro.
54405         (temacs, bootstrap-emacs): Use it.
54406         * src/emacs.c (build_details): New var.
54407         (standard_args, main): Support --no-build-details.
54408         (Vdeterministic_dump): Remove; all uses replaced
54409         by !build_details.
54410         (syms_of_emacs): Set Vbuild_details to a boolean, not
54411         to a Lisp_Object.
54412         * src/lisp.h (build_details): New decl.
54413         * src/sysdep.c (init_system_name): When !build_details,
54414         set system-name to nil, not to "elided".
54416 2016-03-02  Philipp Stephani  <phst@google.com>
54418         Remove build system name from deterministic dumps
54420         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
54421         * lisp/version.el (emacs-build-time): Add a comment to make the
54422         build time deterministic if requested.
54423         (emacs-build-system): Make variable deterministic if requested.
54424         * src/emacs.c (main): Initialize `deterministic-dump' from the
54425         configuration option.
54426         (syms_of_emacs): New constant `deterministic-dump'.
54427         * src/sysdep.c (init_system_name): Use a constant
54428         if a deterministic dump is requested.
54430 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
54432         Remove buggy parse-time test
54434         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
54435         Remove the iso parse test, since it doesn't work.
54437 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54439         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
54441 2016-02-29  Glenn Morris  <rgm@gnu.org>
54443         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
54444         Experiment with setting to nil.
54446 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54448         Make the revert command in timer-list-mode work
54450         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
54451         command work.
54453 2016-02-29  Glenn Morris  <rgm@gnu.org>
54455         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
54456         Fix 6-week old merge error.
54458         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
54459         Ensure timestamps.
54461         * lisp/emacs-lisp/package.el (package-generate-autoloads):
54462         Disable timestamps.
54464 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54466         Allow binding `url-mime-accept-string'
54468         * lisp/url/url-http.el (url-http): Allow binding
54469         `url-mime-accept-string' (bug#22855).
54471 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54473         Add a NEWS entry for the colorful VC indicator
54475 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54477         Use colors in the VC mode lines
54479         * lisp/vc/vc-hooks.el: Make the mode line faces default to
54480         using colors to more clearly tell the user what the status is.
54482 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54484         Support <bdo> and <bdi>
54486         * lisp/net/shr.el (shr-tag-bdo): New function.
54487         (shr-tag-bdi): Ditto.
54489 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54491         Respect <html dir=auto>
54493         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
54494         directional HTML setting.
54496 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54498         Default bidi paragraph direction to nil
54500         * lisp/net/eww.el (eww-display-html): Default bidi rendering
54501         to nil, so that possibly more Arabic web pages render
54502         correctly (bug#22786).
54503         (eww-setup-buffer): Ditto.
54505 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
54507         Preserve current column, going up/down in thumbnail view.
54509 2016-02-29  Alan Mackenzie  <acm@muc.de>
54511         Handle "noise" macros and compiler directives.
54513         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
54515         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
54516         (c-noise-macro-with-parens-names): New customizable variables.
54517         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
54518         (c-make-noise-macro-regexps): New function.
54520         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
54521         members of c-noise-macro-names as whitespace.
54522         (c-forward-noise-clause): New function.
54523         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
54524         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
54525         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
54526         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
54528         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
54529         in parallel with "prefix-spec keywords".
54531         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
54532         c-make-noise-macro-regexps to initialize the internal variables.
54534         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
54535         facilities.
54537 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
54539         Stop calling res_init
54541         Emacs shouldn’t need to call res_init any more, now that nscd or
54542         equivalent is everywhere.  On modern systems, calling res_init
54543         simply slows Emacs down.  On ancient systems lacking nscd Emacs
54544         will still work well enough with this change; it’s just that it
54545         won’t respond to changes in /etc/resolv.conf.
54546         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
54547         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
54548         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
54549         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
54551 2016-02-29  Glenn Morris  <rgm@gnu.org>
54553         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
54555         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
54557 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
54559         * src/process.c (Fdelete_process): Simplify cast.
54561 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
54563         Use the correct background color when filling nested <divs>
54565         * lisp/net/shr.el (shr-face-background): Return the first
54566         background, because that's the one that's visible (bug#22680).
54568 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
54570         Make <div> in <li> not insert extra newlines
54572         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
54573         extra newlines (bug#19587).
54575 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
54577         Allow reading Gnus reports from an offline cache
54579         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
54580         Allow reading bug reports from an offline cache directory.
54582 2016-02-28  Tino Calancha  <f92capac@gmail.com>
54584         Meta + shift + Fn combos are recognized by xterm>=216.
54586         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
54587         Fn combos are recognized by xterm>=216 (bug#22837).
54589 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
54591         Declare $ as an expression prefix in SCSS
54593         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
54594         expression prefix (bug#22841).
54596 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
54598         Revert "Declare $ as an expression prefix in SCSS"
54600         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
54602         Revering to fix author name.
54604 2016-02-28  Simen  <simenheg@gmail.com>
54606         Declare $ as an expression prefix in SCSS
54608         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
54609         expression prefix (bug#22841).
54611 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
54613         Save buffers before running grep commands
54615         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
54616         (grep, lgrep, rgrep): Use it (bug#96).
54618         * doc/emacs/building.texi (Grep Searching): Document
54619         `grep-save-buffers'.
54621         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
54622         `grep-ask-about-save'.
54623         (grep--save-buffers): New function.
54624         (grep, lgrep, rgrep): Use it.
54626 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
54628         Allow sorting flyspell corrections
54630         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
54631         (flyspell-sort-corrections-functionx): New variable.
54632         (flyspell-sort-corrections-alphabetically): New function.
54633         (flyspell-notify-misspell): Use them.
54634         (flyspell-auto-correct-word): Ditto.
54635         (flyspell-emacs-popup): Ditto.
54636         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
54638 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
54640         Wait for async DNS to complete before freeing resources
54642         * src/process.c (Fdelete_process): Wait for async DNS to
54643         complete before freeing the data structures it needs.
54645 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
54647         * lisp/faces.el: Remove duplicated functions from previous patch.
54649 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
54651         Fix TLS connections on MS-Windows
54653         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
54654         this is a non-blocking socket whose connection is in progress, set
54655         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
54656         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
54657         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
54659 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
54661         Add a NEWS entry for the read-color change
54663 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
54665         Show the face colors when completing in `read-color'
54667         * lisp/faces.el (defined-colors-with-face-attributes): New function.
54668         (readable-foreground-color, defined-colors-with-face-attributes)
54669         (readable-foreground-color): Ditto.
54670         (read-color): Use them (bug#5305).
54672 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
54674         Clean up the code in parse-time-string-chars
54676         * lisp/calendar/parse-time.el (parse-time-string-chars):
54677         Clean up the code a bit.
54679 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
54681         Add some tests for parse-time.el
54683         * test/lisp/calendar/parse-time-tests.el: New file.
54685 2016-02-27  Dima Kogan  <dima@secretsauce.net>
54687         Strip out some leading whitespace when looking at logs
54689         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
54690         at expanded git logs with `vc-print-root-log' (C-x v L, then
54691         <enter> by default), Emacs was stripping out all leading
54692         whitespace from git logs.  I now strip exactly 2 leading
54693         spaces, which retains the indentation in the logs (bug#18110).
54695 2016-02-27  Dima Kogan  <dima@secretsauce.net>
54697         Use a separate history variable for align-regexp
54699         * lisp/align.el (align-regexp-history): New variable (bug#16891).
54700         (align-regexp): Use it.
54702 2016-02-27  Phil Sung  <philbert@gmail.com>
54704         Create subdirectories automatically in wdired
54706         * lisp/wdired.el (wdired-create-parent-directories): New
54707         variable (bug#6817).
54708         (wdired-create-parentdirs): New function.
54709         (wdired-do-renames): Use it.
54710         * doc/emacs/dired.texi (Wdired): Mention
54711         `wdired-create-parent-directories'
54713 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
54715         Return the correct error values from gnutls.c
54717         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
54718         expected by process.c.
54719         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
54720         possible race condition with the process.c socket polling
54721         functions.
54723 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
54725         Don't make assumptions about mkdir.  (Bug#22822)
54727         * test/Makefile.in (MKDIR_P): New, set by configure.
54728         (%.log): Use MKDIR_P.
54730 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
54732         Support switching to hexl-mode from image-mode
54734         * lisp/image-mode.el (image-toggle-hex-display)
54735         (image-mode-to-text): New functions.
54736         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
54737         image-toggle-hex-display.
54738         (image-mode-map): New menu item "Show as Hex".
54739         (image-mode): Update doc string and echo-area message.
54740         (image-toggle-display): Support toggle to hex.  (Bug#22453)
54742         * doc/emacs/files.texi (File Conveniences): Document
54743         'image-toggle-hex-display'.
54745 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
54747         Remove unused code in coding.c
54749         * src/coding.c (decode_eol): Remove unused code that handled the
54750         case of coding->dst_object being nil.  Replace it with an
54751         assertion.
54753 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
54755         * src/syntax.c: Fix result of syntax_multibyte()
54757         The ?: operator has a lower precedence than ||.
54758         Bug introduced by commit 45b683a.
54760 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
54762         --enable-gcc-warnings now uses -Wjump-misses-init
54764         When configuring with --enable-gcc-warnings, also enable
54765         -Wjump-misses-init, as it’s confusing to use a goto to skip over
54766         an initialization.  Fix the few places in the code that run afoul
54767         of this warning.
54768         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
54769         * src/doc.c (Fsubstitute_command_keys):
54770         * src/image.c (svg_load_image):
54771         * src/regex.c (re_match_2_internal):
54772         * src/xdisp.c (redisplay_internal, redisplay_window):
54773         Don’t jump over initialization.
54775 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
54777         Improve the register-hotkey functionality on MS-Windows
54779         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
54780         keyboard hook functionality.
54781         Include w32inevt.h, basetyps.h and unknwn.h.
54782         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
54783         (kbdhook): A new struct definition.
54784         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
54785         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
54786         (modifier_set): Call check_w32_winkey_state if a Win key was
54787         pressed and the keyboard hook is active.
54788         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
54789         hook is active.  Only register/unregister the hotkeys if the
54790         keyboard hook is not active.  When WM_CREATE is received, call
54791         setup_w32_kbdhook.  When WM_DESTROY is received, call
54792         reset_w32_kbdhook_state.
54793         (lookup_vk_code): When the keyboard hook is active, map
54794         alphanumeric characters to themselves.
54795         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
54796         modified keys to VK_ANY if the keyboard hook is active.  Register
54797         Alt-x and Win-x combinations.
54798         (Fw32_shell_execute): Update doc string to reflect new
54799         functionality.  Bypass the code that posts the
54800         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
54801         (Fw32_unregister_hot_key): Bypass the code that posts the
54802         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
54803         (syms_of_w32fns) <w32-pass-lwindow-to-system>
54804         <w32-pass-rwindow-to-system, w32-phantom-key-code>
54805         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
54806         to reflect the new functionality.
54807         * src/w32console.c (initialize_w32_display): Install the low-level
54808         keyboard hook.
54809         * src/w32inevt.c (key_event): Handle Win-x combinations only if
54810         the keyboard hook is not active.  If the hook is active, use
54811         check_w32_winkey_state instead.
54812         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
54813         (check_w32_winkey_state): Add prototypes.
54814         (w32_kbdhook_active): New macro.
54816         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
54817         new functionality.
54819 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
54821         Add forward-sexp (and related) tests
54823         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
54824         forward-sexp and related functions (bug#22800).
54826 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
54828         Don't use (localized) week days in dates
54830         * lisp/gnus/gnus-icalendar.el
54831         (gnus-icalendar-event:org-timestamp): Don't use (localized)
54832         week days in the dates, because that messes up things later.
54834 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
54836         Update pcomplete/find
54838         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
54839         (bug#10487).
54841 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
54843         Make parse-time-string-chars more efficient
54845         * lisp/calendar/parse-time.el (parse-time-string-chars): The
54846         string has already been downcase, so don't care about case
54847         (bug#18522).
54849 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
54851         Remove killed buffers from the list of Gnus buffers
54853         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
54854         buffers from the list of Gnus buffers (bug#18522).
54856 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54858         Integer overflow cleanups for ports and socklen
54860         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
54861         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
54862         (connect_network_socket):
54863         Use ptrdiff_t, not int, for signed object sizes.
54864         This addresses only a theoretical problem, as in practice these
54865         object sizes are less than 2**31, but we might as well use the
54866         same style here as elsewhere in Emacs.
54867         (string_integer_p): Remove; all uses removed.
54868         (Fmake_network_process): Check that port number is in range.
54869         When converting an integer-string service, rely on strtol
54870         rather than rechecking the string by hand.
54871         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
54872         Adjust prototypes to match.
54874 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
54876         Add pcomplete support for find
54878         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
54879         for find (bug#10487).
54881 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
54883         Replace XXX acronyms with draft standard ones
54885         * lisp/international/characters.el (c1-acronyms): Replace XXX
54886         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
54887         (bug#13745).
54889 2016-02-24  Kevin Ryde  <user42@zip.com.au>
54891         Make checkdoc warn about variables described as "True"
54893         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
54894         Docstrings for variables "True...", and functions "Return
54895         true...", should usually be "non-nil" (bug#15506).
54897 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
54899         Add NEWS entry for "number string" change
54901 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
54903         Allow using "number strings" as services on non-GNU systems
54905         * src/process.c (string_integer_p): New function.
54906         (Fmake_network_process): Use it to allow connecting to
54907         services specified as "993" even when getaddrbyname isn't
54908         available.
54910 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
54912         Fix problem in tramp.texi
54914         * doc/misc/tramp.texi (File name completion): Do not use
54915         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
54916         during PDF creation.
54918 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
54920         Make image commands available in image-mode
54922         * lisp/image-mode.el (image-mode-map): Inherit from
54923         `image-map' so that the usual image commands work.
54925 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
54927         Move `o' to `O' in shr-map
54929         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
54930         from `o' to `O' to avoid collisions with `image-map'.
54932 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
54934         Make setting the coding system non-blocking
54936         * src/process.c (Fset_process_filter_multibyte): Defer
54937         completing coding system setup in asynchronous processes.
54938         (Fset_process_coding_system): Ditto.
54940 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
54942         Mention `proced-toggle-auto-update' in the proced-mode doc string
54944         * lisp/proced.el (proced-mode): Mention
54945         `proced-toggle-auto-update' (bug#14341).
54947 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
54949         Add a fortune-message command
54951         * lisp/play/fortune.el (fortune-message): Add a command to
54952         display fortunes in the echo area (bug#14915).
54954 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
54956         Add hideshow bindings analogous to outline mode
54958         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
54959         analogous to outline mode bindings (bug#15324).
54961 2016-02-23  Bastien Guerry  <bzg@altern.org>
54963         Allow highlighting things like @math{2^{12}}
54965         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
54966         Allow highlighting things like @math{2^{12}} (bug#16390).
54968 2016-02-23  Per Bothner  <per@bothner.com>
54970         Make `C-{up,down,left,right}' work in term mode
54972         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
54973         to send the same escape sequence that xterm sends.  This makes
54974         backward-word and forward-word work in readline (bug#16746).
54976 2016-02-23  Dima Kogan  <dima@secretsauce.net>
54978         Allow ff-find-other-file (etc) to work with indirect clone buffers
54980         * lisp/find-file.el (ff-buffer-file-name): New function to
54981         allow the feature to work with indirect buffers, too
54982         (bug#16904).
54983         (ff-find-the-other-file): Use it.
54984         (ff-other-file-name): Ditto.
54985         (ff-get-file-name): Ditto.
54987 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
54989         Fix error in add-change-log-entry when the entry has no newline
54991         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
54992         ChangeLog may end without a new line starting with blanks.
54994 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
54996         Avoid using mm-util functoins in gravatar.el
54998         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
54999         mm-util functions.
55000         (gravatar-retrieve-synchronously): Ditto.
55002 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
55004         Move low-level library files from the lisp/gnus directory
55006         The files moved from lisp/gnus are:
55008         auth-source.el -> /
55009         compface.el -> /image
55010         ecomplete.el -> /
55011         flow-fill.el -> /mail
55012         gravatar.el -> /image
55013         gssapi.el -> /net
55014         html2text.el -> /net
55015         ietf-drums.el -> /mail
55016         mail-parse.el -> /mail
55017         mail-prsvr.el -> /mail
55018         mailcap.el -> /net
55019         plstore.el -> /
55020         pop3.el -> /net
55021         qp.el -> /mail
55022         registry.el -> /
55023         rfc1843.el -> /international
55024         rfc2045.el -> /mail
55025         rfc2047.el -> /mail
55026         rfc2231.el -> /mail
55027         rtree.el -> /
55028         sieve-manage.el -> /net
55029         sieve-mode.el -> /net
55030         sieve.el -> /net
55031         starttls.el -> /net
55032         utf7.el -> /international
55033         yenc.el -> /mail
55035 2016-02-23  Tino Calancha  <f92capac@gmail.com>
55037         Allow undoing changes while doing query-replace
55039         * doc/lispref/searching.texi (Search and Replace): Mention
55040         undo (bug#21684).
55042         * lisp/replace.el (query-replace-help): Document undo.
55043         (perform-replace): Implement undo while replacing text.
55045 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
55047         Highlight assignments in Makefiles more correctly
55049         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
55050         Highlight assignments preceded by a TAB character correctly
55051         (bug#20787).
55053 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
55055         Use memmove instead of memcpy on overlapping regions
55057         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
55058         use memmove instead of memcpy (bug#19213).
55060 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
55062         Port to --enable-gcc-warnings sans getaddrinfo_a
55064         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
55065         to a local unused when getaddrinfo_a is missing.
55066         Resize portbuf to size needed.  Do cheap test first.
55067         Move local to block where it’s needed.
55069 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
55071         Minor cleanups for async DNS etc.
55073         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
55074         Omit unnecessary parens.
55075         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
55076         (gnutls_verify_boot):
55077         Use bool for boolean.
55078         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
55079         * src/process.c (free_dns_request, Fmake_network_process):
55080         Allocate and free async request control block all in one go.
55081         (set_network_socket_coding_system, finish_after_tls_connection)
55082         (connect_network_socket):
55083         Now static.
55084         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
55085         (Fmake_network_process): Use list1 for brevity.
55086         (wait_for_socket_fds): 2nd arg is now const ptr.
55087         * src/process.h (struct Lisp_Process.dns_request):
55088         Now struct gaicb *, not struct gaicb **, since there was always
55089         exactly one.  All uses changed.
55090         * src/window.c, src/window.h (run_window_configuration_change_hook):
55091         Now static.
55093 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
55095         Allow more shell script defun forms
55097         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
55098         script defun forms, like function name () {...} (bug#19754).
55100 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
55102         Fix `window-configuration-change-hook' and `window-size-change-functions'
55104         (1) Run `window-configuration-change-hook' if and only if at least
55105         one window was deleted or created or shows another buffer since
55106         last redisplay.
55108         (2) Run `window-size-change-functions' if and only if at least
55109         one window changed its size since last redisplay (in a few cases
55110         `window-size-change-functions' will also run when no window
55111         changed its size).
55113         (3) Provide two functions `window-pixel-height-before-size-change'
55114         and `window-pixel-width-before-size-change' that allow to easily
55115         detect which window changed size.
55117         * src/frame.h (struct frame): New boolean member
55118         window_configuration_changed.
55119         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
55120         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
55121         * src/frame.c (adjust_frame_size): Don't run
55122         `window-configuration-change-hook'.
55123         * src/window.h (struct window): New fields
55124         pixel_width_before_size_change and pixel_height_before_size_change.
55125         (WINDOW_INTERNAL_P): New macro.
55126         * src/window.c (Fwindow_pixel_width_before_size_change)
55127         (Fwindow_pixel_height_before_size_change): New functions.
55128         (Fdelete_other_windows_internal, Fwindow_resize_apply)
55129         (resize_frame_windows, Fsplit_window_internal)
55130         (Fdelete_window_internal, grow_mini_window)
55131         (shrink_mini_window, Fresize_mini_window_internal): Don't call
55132         FRAME_WINDOW_SIZES_CHANGED.
55133         (window_size_changed, window_set_before_size_change_sizes)
55134         (run_window_size_change_functions): New functions.
55135         (make_window): Initialize pixel_width_before_size_change and
55136         pixel_height_before_size_change.
55137         (Fdelete_window_internal): Don't call
55138         run_window_configuration_change_hook.
55139         (struct saved_window): Add pixel_height_before_size_change and
55140         pixel_width_before_size_change.
55141         (Fset_window_configuration): Try to identify window configuration
55142         changes correctly so run_window_configuration_change_hook and
55143         run_window_size_change_functions run only if configuration and size
55144         really changed.
55145         (save_window_save): Set the pixel_height_before_size_change and
55146         pixel_width_before_size_change fields.
55147         (Vwindow_size_change_functions): Move here definition from xdisp.c.
55148         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
55149         run_window_size_change_functions.
55150         (Vwindow_size_change_functions): Move definition to window.c.
55151         * src/xfns.c (x_set_menu_bar_lines): Don't call
55152         run_window_configuration_change_hook.
55153         * doc/lispref/windows.texi (Window Sizes): Document new
55154         functions `window-pixel-height-before-size-change' and
55155         `window-pixel-width-before-size-change'.
55156         (Window Configurations): Mention that this may trigger
55157         execution of `window-size-change-functions' although no window
55158         changed size.
55159         (Window Hooks): Update descriptions of `window-size-change-functions'
55160         and `window-configuration-change-hook'.
55162 2016-02-23  Drew Adams  <drew.adams@oracle.com>
55164         (ls-lisp-insert-directory): Make -B work
55166         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
55167         (bug#20776).
55169 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
55171         Fix typo in message-setup-fill-variables
55173         * lisp/gnus/message.el (message-setup-fill-variables): Fix
55174         typo in a recent checkin that used `setq-default' instead of
55175         `setq-local' (bug#22781).
55177 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
55179         `message-dont-reply-to-names' can also be a list of regexps
55181         * lisp/gnus/message.el (message-dont-reply-to-names):
55182         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
55184 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
55186         Make buttons in header lines work
55188         * lisp/help-mode.el (help-button-action): `help-xref-button' in
55189         header line doesn't work (bug#21024).
55191 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
55193         Place apples randomly in Snake
55195         * lisp/play/snake.el (snake-score): New variable (bug#21359).
55196         (snake-set-dot): Place the apples randomly.
55198 2016-02-23  Tino Calancha  <f92capac@gmail.com>
55200         Allow optional parameter to be nil
55202         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
55203         optional parameter to be nil (bug#21576).
55205 2016-02-23  Tino Calancha  <f92capac@gmail.com>
55207         Completely ignore buffers with no name when copying file names
55209         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
55210         ignore buffers with no file name. (bug#21577).
55212 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
55214         Make spelling of "Eshell" consistent
55216         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
55217         * lisp/eshell/eshell.el (eshell-command):
55218         Spell it "Eshell" (bug#21678).
55220 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
55222         Allow pretty lambdas in Scheme mode
55224         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
55225         `prettify-symbols-alist' from Lisp mode (bug#21679).
55227 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
55229         Rename lisp--prettify-symbols-alist
55231         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
55232         Rename from `lisp--prettify-symbols-alist' since we're going
55233         to use it in Scheme mode, too.
55234         (lisp-mode-variables): Use it.
55236 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
55238         Remove spurious newline in package list
55240         * lisp/emacs-lisp/package.el (describe-package-1): Remove
55241         spurious newline (bug#21706).
55243 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
55245         Revert "Remove spurious newline in package list"
55247         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
55249 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
55251         Remove spurious newline in package list
55253         * lisp/emacs-lisp/package.el (describe-package-1): Remove
55254         spurious newline (bug#21706).
55256 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
55258         Keep the position in the process buffer when deleting processes
55260         * lisp/simple.el (process-menu-delete-process): Keep the
55261         position in the buffer after killing a process (bug#21759).
55263 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
55265         Require that the buffer that we're trying to patch exist
55267         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
55268         buffer that we're trying to patch exist (bug#21852).
55270 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
55272         Require that the buffer that we're trying to patch exist
55274         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
55275         buffer that we're trying to patch exist (bug#21852).
55277 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
55279         Be more verbose when changing frame mode in ediff
55281         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
55282         mode we toggled to (bug#21853).
55284 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
55286         Encode header strings before printing
55288         * lisp/ps-print.el (ps-generate-header-line): Encode the
55289         header strings to avoid problems with non-ASCII headers
55290         (bug#22611).
55292 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
55294         Test message-strip-subject-trailing-was
55296         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
55297         New test (bug#22632).
55299 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
55301         Make use of the `ert-with-function-mocked' macro
55303         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
55304         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
55305         `ert-with-function-mocked' instead of implementing the fragile
55306         `unwind-protect' logic openly.
55308 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
55310         message-strip-subject-trailing-was: Refactor
55312         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
55313         the function replacing sequence of `if' calls with a mixture of `or'
55314         and `and' calls instead.  This makes it shorter and containing less
55315         internal state thus easier to follow.
55317 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
55319         ert-with-function-mocked: New macro
55321         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
55322         allows evaluating code while particular function is replaced with
55323         a mock.  The original definition of said function is restored once the
55324         macro finishes.
55326 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
55328         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
55330         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
55331         interface functions.
55333         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
55334         gnus-rfc1843.
55336 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
55338         Don't use mm-util functions in qp.el
55340         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
55341         mm-util functions.
55342         (quoted-printable-encode-string): Ditto.
55343         (quoted-printable-encode-region): Ditto.
55345 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
55347         Don't require mm-util
55349         * lisp/mail/ietf-drums.el (mm-util): Don't require.
55351 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
55353         Remove Gnus functions from auth-source.el
55355         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
55356         Remove usage of Gnus utility function.
55357         (mm-util, gnus-util): Don't require.
55359 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
55361         Allow deleting all non-matching cookies
55363         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
55364         keeping matching cookies (bug#22720).
55366 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
55368         Make (setf (image-property ...)) return VALUE
55370         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
55372 2016-02-22  John Wiegley  <johnw@newartisans.com>
55374         Merge from origin/emacs-25
55376         a9c48d5 Additional fixes for file notification
55377         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
55378         8c22ac9 ; Spelling fix
55379         2975784 Set file modes of pinentry socket for extra safety
55380         2667b3e Clarify GnuPG version compatibility chapter
55381         5e34c36 Revert "Change the default socket location for pinentry"
55382         e19c1c3 Kill off xref--display-history
55383         5698947 Keep the xref buffer visible until the user quits it explicitly
55384         e34fbde Change the default socket location for pinentry
55385         5f89658 Mention how to enable pinentry feature
55386         db51224 Sync with gnulib
55387         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
55388         2d8b2fd Restore point when writing semantic table to disk
55389         27d3430 Mention pinentry.el in epa manual
55390         5baa001 Fix Bug#22736
55391         7261355 Grammar fix in doc string
55392         d0f3b18 Naming fix for consistency
55393         74ec92d Prefer customized value for GnuPG executable
55394         ea0b604 Fix memory reservation on MS-Windows
55395         c5f72aa Update NextStep readme and add wish list.
55396         6de26a7 Report also result in `file-notify--test-event-handler'
55397         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
55398         1cb1268 Fix todo-mode item date editing bugs
55399         1e996cf Fix "[:upper:]" for non-ASCII characters
55400         896f993 Allow customizing the article mode cursor behavior
55401         24c1c1d Use pop-to-buffer-same-window in woman.el
55402         2a75f64 New filenotify test for bug#22736
55403         c9bccf7 Report critical battery errors
55404         d675db9 Make eww message toggling message clearer
55405         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
55406         fa8fd65 ; Improve character-folding entries in NEWS
55407         3722a69 Fix bugs in window resizing code
55408         289d5c6 Fix decoding DOS EOL in a unibyte buffer
55409         2abcb06 Correct c-parse-state cache manipulation error.
55410         14aec91 Take advantage of new GnuPG version check function
55411         e80c2a7 Make GnuPG version check robuster
55412         15a9464 Fix x-load-color-file pointer signedness
55413         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
55414         78ab6f1 Follow convention for greek letter constants.
55415         106b5bb Add Stefan-Boltzmann constant to calc units table.
55416         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
55417         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
55418         2d40f7d Fix soffice UserInstallation-URL for Windows
55419         b1a3ebe Fix display of <pre> elements
55420         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
55421         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
55423 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
55425         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
55427         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
55428           non-existing buffer.
55430 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55432         Mention the further asynchronousity
55434 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55436         Fix async TLS boot problem
55438         * src/process.c (wait_reading_process_output): Verify the boot
55439         of the correct process.
55441 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55443         Clean up forgotten text in manual
55445         * doc/lispref/display.texi (Defining Images): Remove example
55446         forgotten when making previous change.
55448 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55450         Clean up debugging code
55452         * src/process.c (Fmake_network_process): Remove debugging printf.
55453         (wait_for_socket_fds, wait_while_connecting)
55454         (wait_for_tls_negotiation): Remove newlines from messages.
55456 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55458         Fix merge conflicts in network-stream-tests.el
55460 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
55462         Port recent filevercmp addition to MS-Windows
55464         Reported by Andy Moreton in:
55465         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
55466         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
55467         (EXTRA_DIST): Add filevercmp.h.
55469 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55471         add_to_log expects Lisp parameters
55473 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55475         Mention sentinels in conjunction with :nowait t.
55477         * doc/lispref/processes.texi (Network Processes): Mention the
55478         recommended way of using sentinels with :nowait t.
55480 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55482         Mention in the doc strings that process functions may block
55484         (Fprocess_contact, Fprocess_datagram_address)
55485         (Fset_process_datagram_address, Fset_network_process_option)
55486         (Fprocess_send_region, Fprocess_send_string): Mention that the
55487         functions may block.
55488         (Fset_process_coding_system): Ditto.
55490 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55492         Add blocker warnings to the *Messages* buffer
55494         * src/process.c (wait_for_socket_fds): Add warning to the log.
55495         (wait_while_connecting): Ditto.
55496         (wait_for_tls_negotiation): Ditto.
55498 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
55500         Rework the image property getter/setters
55502         * doc/lispref/display.texi (Defining Images): Document the
55503         renamed `image-get/set-property' functions.
55505         * lisp/image.el (image--set-property): Rename from
55506         image-set-property.
55507         (image-property): Declare a setf form.
55508         (image-property): Rename from `image-get-property'.
55510 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
55512         Use Gnulib filevercmp for version comparison
55514         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
55515         * doc/lispref/strings.texi (Text Comparison):
55516         * etc/NEWS, src/fns.c:
55517         * test/src/fns-tests.el (fns-tests-string-version-lessp):
55518         Rename newly-introduced function to string-version-lessp, by
55519         analogy with strverscmp.
55520         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
55521         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
55522         * src/fns.c: Include <filevercmp.h>.
55523         (gather_number_from_string): Remove.
55524         (Fstring_version_lessp): Reimplement via filevercmp.
55526 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
55528         Add a function to delete URL cookies
55530         * doc/misc/url.texi (Cookies): Document
55531         url-cookie-delete-cookies.
55533         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
55535 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
55537         Avoid integer overflows in string-numeric-lessp
55539         * src/fns.c (Fstring_numeric_lessp): If we have an integer
55540         overflow, compare lexicographically.
55542 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
55544         Add the string-numeric-lessp function
55546         * doc/lispref/strings.texi (Text Comparison): Document
55547         `string-numerical-lessp'.
55549         * src/fns.c (Fstring_numeric_lessp): New function.
55550         (gather_number_from_string): Helper function for that function.
55552         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
55554 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
55556         Clarify levels of :nowait t.
55558         * doc/lispref/processes.texi (Network Processes): Mention
55559         levels of asynchronicity.
55561 2016-02-20  Alain Schneble  <a.s@realize.ch>
55563         Respect DNS timeouts
55565         * src/process.c (check_for_dns): If the async DNS request
55566         failed and the associated process is still in "connect" state,
55567         deactivate the process and set status to "failed".
55569 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
55571         Add a frame around the placeholder image in shr
55573         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
55574         around the image.
55576 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
55578         Use placeholder images in shr to avoid text moving around
55580         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
55581         from the HTML.
55582         (shr-tag-img): Ditto.
55583         (shr-string-number): New function.
55584         (shr-make-placeholder-image): Make placeholder images.
55585         (shr-tag-img): Insert them if we have SVG support.
55587 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
55589         Get explicit width/height + scale computations right
55591         * src/image.c (compute_image_size): :scale should also be
55592         taken into account when :width and :height are explicitly names.
55594 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
55596         New functions for getting and setting image properties
55598         * doc/lispref/display.texi (Defining Images): Document
55599         image-get/set-property.
55601         * lisp/image.el (image-set-property): New function.
55602         (image-get-property): Ditto.
55604 2016-02-19  Alan Mackenzie  <acm@muc.de>
55606         Await the final mouse event in C-h c and C-h k.
55608         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
55609         event, keep reading further events until a timeout occurs, to ensure we have
55610         the complete mouse event from the user.
55612 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
55614         Add a library for creating and manipulating SVG images
55616         * doc/lispref/display.texi (SVG Images): New section.
55618         * lisp/svg.el: New file.
55620 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
55622         Fix up tests for async TLS negotiation
55624 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
55626         Fix coding system setup
55628         * src/process.c (set_network_socket_coding_system): Pass in
55629         the host/service that's been computed already.
55631 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
55633         Reference `tramp-theme' in GNU ELPA.
55635         * doc/misc/tramp.texi (Frequently Asked Questions):
55636         Reference `tramp-theme' in GNU ELPA.
55638 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
55640         Verify the TLS connection asynchronously
55642         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
55643         function so that we can call it asynchronously.
55644         (Fgnutls_boot): Use it.
55646         * src/process.c (wait_reading_process_output): Verify the TLS
55647         negotiation.
55649 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
55651         Add column layout module to CSS property list
55653         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
55654         CSS Multi-column Layout Module.
55656 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
55658         Minor cleanup in CONTRIBUTE and test/README
55660         * CONTRIBUTE: Remove detailed explanation about testing; this
55661         is now in test/README.
55663         * test/README: Don't mention automated/ subdirectory.
55665 2016-02-15  Glenn Morris  <rgm@gnu.org>
55667         Provide 'term/name in lisp/term files.
55669         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
55670         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
55671         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
55672         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
55673         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
55674         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
55675         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
55676         For consistency, provide 'term/name in all files that don't already.
55678 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55680         Deactivate the correct process
55682         * src/process.c (wait_reading_process_output): Deactivate the
55683         correct process on failure.
55685 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55687         Implement asynch TLS negotiation
55689         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
55690         function.
55691         (emacs_gnutls_handshake): Use it.
55692         (emacs_gnutls_read): Just return instead of retrying the handshake.
55694         * src/process.c (finish_after_tls_connection): Factor out
55695         into its own function.
55696         (connect_network_socket): Use it.
55697         (wait_reading_process_output): Retry TLS handshakes.
55698         (wait_reading_process_output): Defer sentinel until TLS completes.
55700 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55702         Simplify the DNS resolution loop a bit
55704         * src/process.c (wait_reading_process_output): Simplify the
55705         DNS resolution loop a bit.
55707 2016-02-15  Alain Schneble  <a.s@realize.ch>
55709         Loop over the process list instead of maintaining a separate list
55711         * src/process.c: Remove declaration/definition of dns_processes list.
55712         * src/process.c (wait_reading_process_output): Loop over all processes in
55713         Vprocess_alist instead of dns_processes, to check for completed DNS
55714         requests.
55716 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55718         Allow setting the filter masks later
55720         * src/process.c (Fset_process_filter): Don't set the socket
55721         masks here, because we may not have a socket yet.
55722         (set_process_filter_masks): New function.
55723         (connect_network_socket): Set the filter masks here.
55725 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55727         Remove debugging
55729 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55731         Ensure we always free DNS resources when deleting a process
55733         * src/process.c (free_dns_request): Factor out into own function.
55734         (Fdelete_process): When deleting a process, free any DNS
55735         structures associated with it.
55736         (check_for_dns): Always free all DNS resources.
55738 2016-02-15  Alain Schneble  <a.s@realize.ch>
55740         Don't block in set-process-window-size
55742         * src/process.c (set-process-window-size): Explicitly return Qnil when
55743         called with network processes as set_window_size won't work anyway on
55744         socket fds.  As a welcome side effect, this makes the blocking
55745         wait_for_socket_fds call obsolete.
55747 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55749         Do most of the coding system setup earlier
55751         * src/process.c (Fmake_network_process): Set the read/write
55752         coding systems here, so that special bindings work.
55753         (Fmake_network_process): Complete the coding system setup here.
55755 2016-02-15  John Wiegley  <johnw@newartisans.com>
55757         Merge from origin/emacs-25
55759         d4b93e1 Minor fixes in global-auto-composition-mode
55760         02b037b Allow arithmetic operators inside C++ template constructs.
55761         44b16f6 Avoid crashes in semi-malformed 'condition-case'
55762         652e5b4 Allow arithmetic operators inside C++ template constructs.
55763         d9ea795 Fix regression with 'recent-keys' and keyboard macros
55764         903603f Fix wording in a doc-view.el comment
55765         cf79616 ; Spelling fixes
55766         f8bf1b3 CONTRIBUTE cleanups and updates
55767         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
55768         1834ac7 Port to x86 GCC 4.3.1 and earlier
55769         8482949 Fix point movement under 'scroll-conservatively'
55770         c1313b5 Replace colon in file name (not legal on Windows)
55771         f7af26c Fix a typo in edt.texi
55772         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
55773         856cd94 Grep alias `all' shall not match parent directory
55775 2016-02-15  John Wiegley  <johnw@newartisans.com>
55777         Merge from origin/emacs-25
55779         dacde7e * etc/AUTHORS: Update the AUTHORS file
55780         478ca5d ; fix changelog entries
55781         2b7d006 ; make change-history-commit
55782         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
55783         47896c8 ; Improve commentary in insdel.c
55784         53ca1e1 Index tilde characters in names of backup files
55785         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
55786         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
55787         28bb214 Announce that the `C-x w' bindings are deprecated
55788         1c98f98 Suppress GNUstep hardening
55789         d82f24b Fix redisplay after a large insertion
55790         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
55791                 closed server"
55792         e8e3db0 ; Improve merge documentation in CONTRIBUTE
55793         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
55794         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
55795                 limitations.
55797 2016-02-15  John Wiegley  <johnw@newartisans.com>
55799         Merge from origin/emacs-25
55801         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
55802         afe7d1f Revert "Document EXIF image rotation"
55803         c6f377c Document OS X LANG default
55804         eb4a18c Set locale when run from OS X GUI
55805         456c0a3 make-docfile cleanup for I/O, etc.
55806         25ec995 Memory-management cleanup in make-docfile
55807         02d925e Kevin Gallagher has new email address
55808         4ef153b Improve doc strings of 'forward/backward-word-strictly'
55809         3ad05a0 Describe Makefile test targets in test/README
55811 2016-02-15  John Wiegley  <johnw@newartisans.com>
55813         Merge from origin/emacs-25
55815         10b8ed2 Document EXIF image rotation
55816         0f60049 Support integer image rotation and respect EXIF rotations
55817         7dd45b6 Quote table names for postgres listings (sql-mode)
55818         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
55819                 `backward' optional.
55820         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
55821                 temporary-goal-column.
55822         0a289d3 Suppress ACL ops if configured with --disable-acl
55823         1a9dbf5 Mention web bugs
55824         fa55da2 Make mm-html-blocked-images default to "" again
55826 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
55828         Protect against initial handshake failures
55830         * src/process.c (connect_network_socket): Mark the connection
55831         as failed if the handshake didn't succeed yet.  This should be
55832         reworked later.
55834 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
55836         Call the network security manager after doing TLS negotiation
55838         * lisp/net/network-stream.el (network-stream-open-tls):
55839         Postpone NSM verification when running async.
55841         * src/process.c (Fset_process_filter): This function doesn't
55842         need to wait.
55843         (connect_network_socket): Set the process status to "run" only
55844         after TLS negotiation.
55845         (wait_for_socket_fds): Take a name parameter for more debugging.
55846         (wait_reading_process_output): Don't change status to "run"
55847         unless TLS negotiation has finished.
55848         (send_process): Wait for the process here instead of
55849         send_process_string.
55850         (connect_network_socket): Call the network security manager.
55852 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
55854         Remove some #ifdefs and update documentation
55856         * doc/lispref/processes.texi (Network Processes): Remove
55857         mention of `dns'.
55859         * lisp/net/network-stream.el (open-network-stream): Remove
55860         mention of `dns'.
55862         * src/process.c (Fset_process_filter)
55863         (Fset_process_window_size, Fprocess_contact)
55864         (Fprocess_datagram_address, Fset_process_datagram_address)
55865         (Fset_network_process_option, Fprocess_send_region)
55866         (Fprocess_send_string, Fset_process_coding_system)
55867         (Fset_process_filter_multibyte): Remove the #ifdef
55868         HAVE_GETADDRINFO_A checks.
55869         (Fprocess_send_string): Wait for TLS negotiation.
55870         (wait_for_tls_negotiation): New function.
55871         (send_process): Remove the TLS boot check.
55873         * src/process.c (Fmake_network_process): Ditto.
55875 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
55877         Use :nowait t in url-gw
55879         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
55880         since we're not differentiating.
55882 2016-02-14  Alain Schneble  <a.s@realize.ch>
55884         Add blockers to process functions
55886         * src/process.c (set-process-filter, set-process-window-size,
55887         process-contact, process-datagram-address, set-process-datagram-address,
55888         set-network-process-option): Make functions wait (block) on network
55889         process until pending DNS requests have been processed and associated
55890         socket initialized.
55892         * src/process.c (process-send-region, process-send-string,
55893         process-send-eof): Make functions wait (block) while network process is
55894         in connect state.
55896 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
55898         Add fragmentation module to CSS property list
55900         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
55901         CSS Fragmentation Module Level 3.
55903 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
55905         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
55907 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
55909         New function seq-map-indexed
55911         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
55912         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
55914 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55916         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
55918 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55920         Fix problem with wrong encoding of non-ASCII message bodies
55922         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
55923         multibyteness before encoding the data.
55925 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55927         Remove codepage setup code from mm-util
55929         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
55930         (mm-codepage-iso-8859-list): Remove.
55931         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
55932         (mm-setup-codepage-ibm): Remove.
55933         (mm-charset-eval-alist): Remove the code pages from the
55934         default value.
55936 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55938         Remove compat code for older Emacsen
55940         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
55941         XEmacs compat code.
55943         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
55944         unused compat function.
55945         (gnus-sync-json-plist-p): Ditto.
55947         * lisp/gnus/message.el (message-default-charset): Make obsolete.
55948         (message-info): Remove compat code.
55949         (message-setup-fill-variables): Remove kludge needed earlier
55950         to not overwrite `normal-auto-fill-function'.
55951         (message-split-line): Remove compat code.
55953         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
55954         compat code.
55956 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55958         Remove some compat functions from gmm-utils.el
55960         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
55961         compat code.
55962         (gmm-image-search-load-path): Remove.
55963         (gmm-image-load-path-for-library): Remove.
55965 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55967         Remove the gmm-lazy and nnmail-lazy compat widgets
55969         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
55971         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
55973 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55975         Clean up nnimap-request-move-article slightly
55977         * lisp/gnus/nnheader.el (subr-x): Require.
55979         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
55980         the code slightly.
55982 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55984         Use open-network-stream instead of open-protocol-stream
55986         * lisp/gnus/nnimap.el: Use open-network-stream instead of
55987         open-protocol-stream.
55989         * lisp/gnus/nntp.el: Ditto.
55991         * lisp/gnus/pop3.el: Ditto.
55993         * lisp/net/sieve-manage.el: Ditto.
55995         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
55997 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
55999         Remove compat code that relies on (featurep 'mule)
56001         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
56002         compat code.
56004         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
56005         Remove compat code.
56007         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
56008         Remove compat code.
56010         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
56011         Remove compat code.
56012         (mm-w3m-standalone-supports-m17n-p): Ditto.
56014 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56016         Remove compat functions from starttls.el
56018         * lisp/net/starttls.el
56019         (starttls-set-process-query-on-exit-flag): Remove.
56021 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56023         Remove compat functions from smime.el
56025         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
56026         (smime-make-temp-file): Remove.
56028 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56030         Remove compat code from smiley
56032         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
56034 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56036         Remove compat code from rfc2047
56038         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
56039         compat code.
56040         (rfc2047-decode-string): Ditto.
56042 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56044         Remove compat function from pop3
56046         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
56048 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56050         Remove compat code in Gnus backends
56052         * lisp/gnus/nndiary.el (nndiary-error): Remove.
56054         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
56056         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
56058         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
56060         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
56062 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56064         Remove compat code from some mml files
56066         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
56067         Remove compat code.
56069         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
56070         Always use `mail-extract-address-components', since this isn't
56071         time critical.
56072         (mml-smime-get-dns-cert): Ditto.
56074         * lisp/gnus/mml.el (mml-preview): Remove compat code.
56076 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56078         Remove compat code and compat functions from mm-util.el
56080         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
56081         compat code.
56082         (mm-coding-system-priorities)
56083         (mm-mule-charset-to-mime-charset, mm-charset-after)
56084         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
56085         (mm-detect-coding-region): Define unconditionally.
56086         (mm-detect-mime-charset-region): Ditto.
56087         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
56088         (coding-system-name)
56089         (find-file-coding-system-for-read-from-filename)
56090         (find-operation-coding-system): Remove aliases.
56092 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56094         Remove some compat code from mm-*.el
56096         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
56098         * lisp/gnus/mm-decode.el (mm-tmp-directory)
56099         (mm-valid-image-format-p): Remove compat code.
56101         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
56102         "Connection" "Close" workaround for older Emacsen.
56104 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56106         Remove compat code and functions from message.el
56108         * lisp/gnus/message.el (message-send-mail-function): Remove
56109         compat code.
56110         (message-dont-reply-to-names, message-mode)
56111         (message-setup-fill-variables, message-fill-paragraph)
56112         (message-remove-blank-cited-lines, message-make-from)
56113         (message-forward-rmail-make-body, message-tool-bar-gnome)
56114         (message-tab): Remove compat code.
56115         (message-completion-in-region): Remove.
56116         (message-read-from-minibuffer): Remove compat code.
56118 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56120         Declare rfc1843 instead of autoloading
56122         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
56123         instead of autoload.
56125 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
56127         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
56129         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
56130         autoloaded correctly.  (Bug#22613)
56132 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
56134         Fix network-stream-tests.el for MS-Windows
56136         * test/lisp/net/network-stream-tests.el
56137         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
56138         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
56140 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
56142         Remove some Message compat functions
56144         * lisp/gnus/message.el (message-kill-all-overlays): Define
56145         unconditionally.
56146         (message-window-inside-pixel-edges): Remove.
56147         (mail-dont-reply-to): Remove.
56149 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56151         Remove some Gnus compat code
56153         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
56154         (gnus-mm-display-part): Ditto.
56156         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
56157         compat code.
56159 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56161         Sort groups before inserting them into the group buffer
56163         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
56164         Sort groups before inserting them.
56166 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56168         Make "unseen" tracking work again in Gnus
56170         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
56171         tracking work again.
56173 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56175         Remove Gnus compat functions defined in gnus.el
56177         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
56178         (gnus-extent-start-open, gnus-character-to-event)
56179         (gnus-assq-delete-all, gnus-add-text-properties)
56180         (gnus-put-text-property, gnus-key-press-event-p):
56182 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56184         Remove compat code from gnus-uu and win
56186         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
56187         compat code.
56189         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
56191         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
56193 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56195         Remove several gnus-util compat functions
56197         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
56198         (gnus-read-shell-command): Remove.
56199         (gnus-match-substitute-replacement): Remove.
56200         (gnus-string-match-p): Remove.
56201         (gnus-string-prefix-p): Remove.
56203 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56205         Remove the gnus-merge alias
56207         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
56209 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56211         Remove the gnus-union alias
56213         * lisp/gnus/gnus-util.el (gnus-union): Remove.
56215 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56217         Remove the gnus-delete-alist alias
56219         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
56220         (gnus-delete-alist): Remove.
56222 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56224         Remove the gnus-float-time alias
56226         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
56227         compat code.
56228         (gnus-float-time): Remove.
56230 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56232         Remove compat code from gnus-srvr, start and sum
56234         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
56235         compat code.
56237         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
56238         Remove compat code.
56240         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
56241         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
56242         (gnus-recenter)
56243         (gnus-summary-limit-strange-charsets-predicate)
56244         (gnus-summary-show-thread): Remove compat code.
56246 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56248         Remove compat code from gnus-spec.el
56250         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
56251         (gnus-balloon-face-function): Remove compat code.
56253 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56255         Fix compat change in last check-in
56257         * lisp/gnus/gnus-group.el
56258         (gnus-group-name-charset-group-alist): `find-coding-system'
56259         doesn't exist in Emacs.
56261 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56263         Always use url-queue
56265         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
56266         Always use url-queue.
56268 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56270         Remove compat functions from gnus-html.el
56272         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
56274 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56276         Remove compat code from gnus-group.el
56278         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
56279         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
56281 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56283         Define gnus-diary-kill-entire-line unconditionally
56285         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
56286         Define unconditionally.
56288 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56290         Remove compat code from gnus-cache and gnus-bookmark
56292         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
56294         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
56295         Remove compat code.
56297 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56299         Remove compat code from gnus-art.el
56301         * lisp/gnus/gnus-art.el (gnus-article-prepare)
56302         (gnus-mime-copy-part, gnus-output-to-file)
56303         (gnus-article-reply-with-original)
56304         (gnus-button-handle-apropos-variable)
56305         (gnus-button-handle-apropos-documentation):
56307 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56309         Remove compat code from gnus-agent.el
56311         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
56312         Remove compat code.
56314 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56316         Rewrite gmm-labels usage to use cl-labels
56318         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
56319         (gmm-labels): Remove.
56321 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56323         Remove compat code from canlock.el
56325         * lisp/gnus/canlock.el (defmacro): Remove
56327 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56329         Remove compat code from auth-source
56331         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
56332         Remove compat code.
56334 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56336         Fix gnus-group.el compilation warnings about unprefixed variables
56338         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
56339         compilation warnings by passing in the dynamic variables as
56340         explicit lexical parameters to `eval'.
56342 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56344         Fix the :tracker slot name
56346         * lisp/gnus/registry.el (registry-lookup-secondary): The
56347         `tracker' slot is called `tracker', not `:tracker'.
56349 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56351         Fix compilation warnings in gnus-art.el
56353         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
56354         (gnus-article-hide): Avoid compilation warnings.
56356 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56358         Fix compilation warning in gnus-score.el
56360         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
56361         compiler.
56363 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
56365         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
56367         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
56369         This makes nnimap groups not be activated.
56371 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56373         Fix encoding problem introduced by previous patch series
56375         * lisp/mail/rfc2047.el: Ditto (bug#22648).
56377         * lisp/mail/rfc2231.el: Fix problem created by the
56378         mm-replace-in-string conversion.
56380 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
56382         Revert "Avoid defvarring prefix-less variables"
56384         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
56386         The defvars are needed if we're doing lexical-binding
56388 2016-02-12  Glenn Morris  <rgm@gnu.org>
56390         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
56391         Make it pass.
56393         * test/lisp/url/url-auth-tests.el
56394         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
56396 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56398         Finish up cl-defmethoding registry,el
56400         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
56402 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56404         Revert the gnus-replace-in-string change, fix arguments, reapply
56406 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56408         Silence more message.el compilation warnings
56410         * lisp/gnus/message.el (message-generate-headers): Don't use
56411         variable values directly to get the header values, because
56412         that breaks with lexical binding (without unprefixed defvars).
56414 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56416         Fix various compilation warnings in message.el
56418         * lisp/gnus/message.el (message-fix-before-sending): Use
56419         read-multiple-choice instead of gnus-multiple-choice.
56420         (mm-util): Require.
56421         (rfc2047): Require.
56422         (message-remove-blank-cited-lines): Use message instead of
56423         gnus-message.
56424         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
56426 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56428         Silence compilation warning in mm-view
56430         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
56431         compilation warning.
56433 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56435         Fix epg-related compilation warnings in mml-sec
56437         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
56438         library.
56440 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56442         rmail-dont-reply-to-names is obsolete
56444         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
56445         the obsolete `rmail-dont-reply-to-names' variable.
56447 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56449         Partially revert the defmethod->cl-defmethod change in registry.el
56451         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
56452         since cl-defmethod doesn't work with :after.
56453         (initialize-instance): Ditto, but with :before.
56455 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56457         Avoid obsolete function in plstore
56459         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
56460         instead of the obsolete epg-context-set-armor.
56462 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56464         Use cl-defmethod in registry.el
56466         * lisp/gnus/registry.el: Use cl-defmethod instead of the
56467         obsolete defmethod.
56469 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56471         Make sieve-manage require sasl
56473         * lisp/net/sieve-manage.el: Fix compilation warning by
56474         requiring sasl.
56476 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56478         Avoid defvarring prefix-less variable
56480         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
56482 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56484         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
56486 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56488         Don't use the obsolete char-valid-p function
56490         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
56491         obsolete char-valid-p function.
56493 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56495         Fix missed translation in a previous commit
56497         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
56498         translation of mailcap-delete-duplicates.
56500 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56502         Avoid using mm-make-temp-file
56504         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
56506         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
56508         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
56510 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56512         Fix compilation warning in gnus-start
56514         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
56515         mm-make-temp-file.
56517 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56519         Avoid the obsoleted defmethod
56521         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
56522         defmethod.
56524 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56526         Avoid defvarring prefix-less variables
56528         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
56529         don't need to `defvar' the short variables to allow `eval' to
56530         use them.
56532 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56534         nnweb doesn't need unibyte buffers
56536         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
56537         (nnweb-read-overview, nnweb-request-article)
56538         (nnweb-google-reference): Unibyte buffers are not needed here.
56540 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56542         Encode before sending from nnspool
56544         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
56545         before sending it to the news server.
56547 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56549         nnrss buffers don't have to be unibyte
56551         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
56552         to be unibyte just to receive data, I think.
56554 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56556         Don't use mm-with-unibyte-current-buffer in mml2015
56558         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
56559         mm-with-unibyte-current-buffer.
56561 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56563         Don't use mm-with-unibyte-current in mml1991
56565         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
56566         mm-with-unibyte-current.
56568 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56570         Don't use mm-with-unibyte-current in mml1991
56572         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
56573         mm-with-unibyte-current.
56575 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56577         Don't use mm-with-unibyte-buffer in utf7
56579         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
56580         mm-with-unibyte-buffer.
56582 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56584         Remove XEmacs compat code from Gnus helper libraries
56586         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
56588         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
56590         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
56592         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
56594 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56596         Remove XEmacs compat code from Gnus backends
56598         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
56599         (mm-inline-image): Rename from mm-inline-image-emacs.
56601         * lisp/gnus/mml.el: Remove XEmacs compat code.
56603         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
56605         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
56606         XEmacs compat code.
56608         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
56610         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
56611         XEmacs compat code.
56613         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
56615         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
56617         * lisp/gnus/nntp.el: Remove XEmacs compat code.
56619 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56621         Remove XEmacs compat functions from mm-util.el
56623         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
56624         (mm-decode-coding-string, mm-encode-coding-string)
56625         (mm-decode-coding-region, mm-encode-coding-region): Remove.
56626         (mm-string-to-multibyte): Remove.
56627         (mm-char-or-char-int-p): Remove.
56628         (mm-ucs-to-char): Remove compat versions of the function.
56629         (mm-read-coding-system): Remove.
56630         (mm-coding-system-p): Remove compat code.
56631         (mm-enrich-utf-8-by-mule-ucs): Remove.
56632         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
56633         (mm-delete-duplicates): Remove.
56634         (mm-multibyte-p): Remove compat versions.
56635         (mm-xemacs-find-mime-charset-1): Remove.
56636         (mm-xemacs-find-mime-charset): Remove.
56637         (mm-make-temp-file): Made obsolete.
56638         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
56640 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
56642         Remove Message and mm-decode XEmacs compat code
56644         * lisp/gnus/message.el: Remove XEmacs compat code.
56646         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
56648         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
56650 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56652         Remove som XEmacs compat code from message.el
56654         * lisp/gnus/message.el: Remove some XEmacs compat code.
56656 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56658         Remove XEmacs compat code from ietf-drums.el
56660         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
56661         XEmacs compat.
56663 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56665         Remove XEmacs compat code from gravatar.el
56667         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
56668         gravatar.el.
56670 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56672         Remove more XEmacs compat code from Gnus
56674         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
56675         (gnus-timer--function): Remove.
56677         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
56678         19.2 compat.
56680         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
56682 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56684         Remove more XEmacs compat functions from gnus-util.el
56686         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
56687         (gnus-get-display-table): Remove.
56688         (gnus-format-message): Remove.
56690 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56692         Remove more XEmacs compat functions from Gnus
56694         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
56695         (gnus-previous-char-property-change): Remove.
56696         (gnus-graphic-display-p): Remove.
56697         (gnus-select-frame-set-input-focus): Remove.
56699 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56701         Remove more XEmacs compat code from gnus-util
56703         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
56704         all its usages).
56705         (gnus-invisible-p): Remove.
56707 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56709         Remove gnus-make-local-hook
56711         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
56712         all its usages).
56714 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56716         gnus-replace-in-string -> replace-regexp-in-string
56718         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
56719         obsolete.  Transform all usages of it into
56720         replace-regexp-in-string.
56722         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
56724 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56726         Remove Gnus XEmacs compat
56728         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
56729         about code that doesn't work in XEmacs.
56731         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
56733         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
56735 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56737         Remove compat functions in gnus-spec.el
56739         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
56740         (gnus-substring-function): Remove.
56741         (gnus-use-correct-string-widths): Remove.
56742         (gnus-make-format-preserve-properties): Remove.
56743         (gnus-xmas-format): Remove.
56745         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
56747 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56749         Remove Gnus XEmacs compat functions
56751         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
56753         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
56755         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
56757 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56759         Remove Gnus XEmacs compatibility
56761         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
56762         XEmacs compat.
56764         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
56766         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
56768         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
56769         XEmacs compat.
56771         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
56773         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
56775         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
56777         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
56779 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56781         Don't use image-map if it isn't defined
56783         * lisp/net/shr.el (shr-image-map): Only use image-map as a
56784         parent if it's defined (bug#22614).
56786 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56788         Check for MagickAutoOrientImage
56790         * configure.ac: Check for MagickAutoOrientImage.
56792         * src/image.c (imagemagick_load_image): Don't use
56793         MagickAutoOrientImage unless it's available.
56795 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
56797         Document EXIF image rotation
56799         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
56801 2016-02-10  Dima Kogan  <dima@secretsauce.net>
56803         Support integer image rotation and respect EXIF rotations
56805         * src/image.c (imagemagick_load_image): Allow integer rotations in
56806         addition to floating point rotations (bug#22591).
56807         * src/image.c (imagemagick_load_image): Images that have an
56808         orientation given in EXIF and have no explicit :rotation tag are now
56809         pre-rotated.  All information such as width/height is reported for the
56810         rotated image.
56812 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
56814         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
56816 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56818         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
56820 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56822         Remove compat code from gnus-bookmark.el
56824         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
56825         (gnus-bookmark-remove-properties): Remove.
56827 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56829         Remove XEmacs compat code from gnus-a*.el
56831         * lisp/gnus/gnus-agent.el: Remove compat code.
56833         * lisp/gnus/gnus-art.el: Remove compat code.
56835         * lisp/gnus/gnus-async.el: Remove compat code.
56837 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56839         Remove gmm compat functions
56841         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
56842         (gmm-write-region): Remove.
56843         (gmm-called-interactively-p): Remove.
56845 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56847         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
56849 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56851         Remove compat code from compface.el
56853         * lisp/image/compface.el: Remove XEmacs compat code throughout.
56855 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56857         Remove the now empty gnus-ems.el and references to it
56859 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56861         Remove Gnus compat names for mouse bindings
56863         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
56864         (gnus-down-mouse-2): Remove.
56865         (gnus-down-mouse-3): Remove.
56867 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56869         Drop Gnus compat functions
56871         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
56873         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
56875         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
56877 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56879         Get rid of gnus-ems-redefine
56881         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
56883 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56885         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
56887 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56889         Remove Gnus compat code
56891         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
56892         transitional code from ten years ago.
56894 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56896         Allow interactively scaling past :max-width etc
56898         * lisp/image.el (image--current-scaling)
56899         (image--image-without-parameters): New functions.
56900         (image--change-size): Use them to allow changing the size of a
56901         image even if it has :width/:max-width (etc.) already set.
56903 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56905         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
56907 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56909         Allow accessing the image commands via shr
56911         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
56912         accessing the image commands.
56914         * lisp/net/shr.el (shr-image-map): New map used for images.
56915         (shr-urlify): Don't overwrite image maps when applying URL maps.
56917 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56919         Use a sparse image keymap
56921         * lisp/image.el (image-map): Use a sparse keymap.
56923 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56925         Put a keymap on images created with insert-image and friends
56927         * lisp/image.el (image-save): New command.
56928         (image-rotate): Ditto.
56929         (image-map): New keymap.
56930         (insert-image): Put the image-map on all images.
56931         (insert-sliced-image): Ditto.
56932         * doc/lispref/display.texi (Showing Images): Document the
56933         image map.
56935 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56937         Fix some folding issues in read-multiple-choice
56939         * lisp/subr.el (read-multiple-choice): Fix folding when you
56940         have many items.
56942 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56944         Fix typo in last checkin
56946 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56948         Remove Gnus compat functions
56950         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
56951         (gnus-region-active-p, gnus-select-lowest-window)
56952         (gnus-summary-display-table, gnus-max-width-function): Remove
56953         compat functions.
56955 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56957         Move non-compat Gnus functions to gnus-util.el
56959         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
56960         (gnus-create-image, gnus-image-type-available-p): Move here
56961         from gnus-ems.el, since these aren't compat functions.
56963 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
56965         Omit valloc decl if redundant
56967         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
56968         to pacify --enable-gcc-warnings.
56970 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
56972         Restore the calloc family.
56974         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
56975         They were lost in a4817d8 but calloc is still (marginally) used in
56976         code statically liked with emacs, so hybrid_calloc is needed.
56977         Also, in the non-hybrid case, we can't get rid of calloc anyway as
56978         other libraries liked with emacs may need it.
56979         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
56981 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
56983         Remove some Gnus compat functions
56985         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
56986         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
56987         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
56989 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
56991         -
56993         -
56995 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
56997         Merge from origin/emacs-25
56999         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
57000         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
57001         51c77a2 Display non-ASCII group names better in prompts
57002         f93d669 Default to gpg2 instead of gpg
57004 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
57006         Merge from origin/emacs-25
57008         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
57009         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
57010         3db6adb * lisp/isearch.el (search-default-mode)
57011         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
57012         c77ffc8 Use monitor's resolution for positioning tooltips
57013         49e5749 Fix file-notify-test on MS-Windows
57014         be1d874 Fix issues found by auditing w32notify code
57015         87ae218 Extend etags Ruby support for accessors
57016         aa35257 Update publicsuffix.txt.
57017         6816bff Ensure that Gnus dribble handling allows removing entries
57018         691feae Be consistent when using encoded strings in nnimap data
57019         3ed423b Display the decoded Gnus group name
57020         5428b5b Use completion-ignore-case instead of defining command
57022 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
57024         Merge from origin/emacs-25
57026         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
57027         d333716 ; * etc/NEWS: Expand news entry for scss-mode
57028         c32c16f ; Better document changes in ls-lisp default behavior
57029         dc6eed2 Fix doc string of tls-program
57031 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
57033         Merge from origin/emacs-25
57035         2c117fc * etc/NEWS: Document new mpc.el features
57036         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
57037         9dfece1 Correctly fontify C++ initializations which "look like" functions.
57038         4485222 Improve newsticker-treeview-selection-face
57039         4236944 Minor fix in tagging Ruby accessors by etags
57040         35fc77d Spelling fixes
57041         3dda110 Remove 'def X' from the example
57043 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
57045         Fix network-stream-tests on MS-Windows
57047         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
57048         Skip if local sockets are not supported.
57050 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
57052         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
57054 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
57056         Disable 'timer-list'
57058         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
57059         command.
57061 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
57063         Avoid aligned_alloc static/extern collision
57065         * src/alloc.c (aligned_alloc): Define to private name when a
57066         static function, to avoid collision with lisp.h extern decl.
57067         Reported by John Yates in:
57068         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
57070 2016-02-08  David Edmondson  <dme@dme.org>
57072         src/process.c Correctly convert AF_INET6 addresses
57074         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
57075         converted to a list of 16 bit quantities by
57076         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
57077         same scheme rather than expecting a (longer) list of 8 bit
57078         quantities.
57080 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
57082         Make `message-beginning-of-line' aware of folded headers
57084         * lisp/gnus/message.el (message-beginning-of-header): New function which
57085         moves point to the beginning of a mail header.  The function is aware of
57086         folded headers and with non-nil argument looks for the true beginning of
57087         a header while with nil argument moves to the indented text of header's
57088         value.
57089         (message-beginning-of-line): Function is now aware of folded headers and
57090         either moves point to the indention of a header or, in visual-line-mode,
57091         searches for the beginning of the header.
57093 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
57095         Optimize ‘point in message header’ check
57097         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
57098         regular expression matches with a single bound string match thus
57099         reducing amount of work the function is doing.
57101 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57103         Make the `R' command get the correct relative <img>s
57105         * lisp/net/eww.el (eww-readable): Preserve the base URL so
57106         that image expansions are fetched from the right place (bug#22605).
57108 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57110         Add a mode to list and cancel timers
57112         * doc/lispref/os.texi (Timers): Menton `timer-list'.
57114         * lisp/emacs-lisp/timer-list.el: New file.
57116 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57118         Add new commands to allow changing the size of images
57120         * lisp/image.el (image-increase-size, image-decrease-size):
57121         New commands.
57122         (image-change-size): New function.
57124 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57126         Allow the image scale to be a floating point number
57128         * src/image.c (compute_image_size): The scale can be a
57129         floating point number.
57131 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57133         Add an IPv6 test
57135         * test/lisp/net/network-stream-tests.el
57136         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
57138 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57140         Use gnutls-serv instead of openssh
57142         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
57143         gnutls-serv instead of openssh.
57145 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57147         Skip TLS tests if we don't have openssl
57149         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
57150         TLS tests if we don't have openssl and GnuTLS.
57152 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57154         Add an IPv6 test
57156         * test/lisp/net/network-stream-tests.el
57157         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
57159 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
57161         Use gnutls-serv instead of openssh
57163         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
57164         gnutls-serv instead of openssh.
57166 2016-02-08  Daniel Colascione  <dancol@dancol.org>
57168         Performance improvements for vc-hg
57170         Teach vc-hg how to read some Mercurial internal data structures,
57171         allowing us to avoid the need to run hg status -A, which is very slow
57172         for large repositories.  Fall back to running hg if anything looks
57173         funny.  vc-hg now puts the _working directory_ revision in the
57174         modeline instead of the file revision, which greatly improves
57175         performance and which allows us to again skip running hg in the case
57176         that we have an active bookmark.
57178         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
57179         (vc-hg-symbolic-revision-styles)
57180         (vc-hg-use-file-version-for-mode-line-version)
57181         (vc-hg-parse-hg-data-structures): New user preferences
57182         (vc-hg--active-bookmark-internal, vc-hg--run-log)
57183         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
57184         (vc-hg--read-u8, vc-hg--read-u32-be)
57185         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
57186         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
57187         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
57188         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
57189         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
57190         (vc-hg--ignore-patterns-valid-p)
57191         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
57192         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
57193         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
57194         (vc-hg-state-fast): New functions.
57195         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
57196         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
57197         (vc-hg--dirstate-scan-cache): New internal variables.
57198         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
57199         before updating modeline.
57201 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57203         Skip TLS tests if we don't have openssl
57205         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
57206         TLS tests if we don't have openssl and GnuTLS.
57208 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57210         Automatically scale images up on high-density screens
57212         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
57213         (Defining Images): Mention image-scaling-factor.
57215         * lisp/image.el (image-compute-scaling-factor): New function
57216         (bug#22172).
57217         (create-image): Use it.
57218         (image-scaling-factor): New variable.
57220         * src/image.c (compute_image_size): Take :scale into account.
57222 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57224         Ensure progress when fetching from the queue
57226         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
57227         that we have progress when fetching queued requests (bug#22576).
57229 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57231         Make mail-extract-address-components return the user name more
57233         * lisp/mail/mail-extr.el (mail-extract-address-components):
57234         Return the name even if it's the same as the mailbox name (if
57235         `mail-extr-ignore-single-names' isn't set) (bug#22594).
57237 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57239         Message no longer warns about unknown top level domains
57241 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
57243         Add tests for url-auth
57245         * test/lisp/url/url-auth-tests.el: New file.
57247 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57249         Add a TLS connection test
57251         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
57252         a TLS connection test.
57254 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57256         Add more network tests
57258         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
57259         New test.
57261 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57263         Add network tests
57265         * test/lisp/net/network-stream-tests.el: New suite of network tests.
57267 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57269         Add a TLS connection test
57271         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
57272         a TLS connection test.
57274 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57276         Add more network tests
57278         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
57279         New test.
57281 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57283         Add network tests
57285         * test/lisp/net/network-stream-tests.el: New suite of network tests.
57287 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
57289         Allow various Gnus and Message address variables to be functions
57291         * doc/misc/gnus.texi (To From Newsgroups):
57292         gnus-ignored-from-addresses can be a function.
57294         * doc/misc/message.texi (Wide Reply):
57295         message-dont-reply-to-names can be a function.
57297         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
57298         message-alternative-emails can be a function.
57300         * lisp/gnus/gnus-notifications.el (gnus-notifications):
57301         message-alternative-emails can be a function (bug#22315).
57303         * lisp/gnus/gnus-sum.el
57304         (gnus-summary-from-or-to-or-newsgroups):
57305         gnus-ignored-from-addresses can be a function (bug#22315).
57307 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
57309         Fix typo in Gnus regexp
57311         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
57312         typo in last change to this regexp (bug#22592).
57314 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
57316         Port to FreeBSD x86
57318         Reported by Herbert J. Skuhra in:
57319         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
57320         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
57321         since malloc always returns a multiple of 8 in FreeBSD.
57323 2016-02-07  Alan Mackenzie  <acm@muc.de>
57325         On leaving CC Mode, clean up by removing character properties.
57327         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
57328         all instances of the text properties/extents category, syntax-table,
57329         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
57331 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
57333         message-valid-fqdn-regexp no longer exists
57335         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
57336         the no-longer-existing message-valid-fqdn-regexp variable.
57338 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
57340         Remove message-valid-fqdn-regexp, since it changes too much now
57342         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
57343         (message-bogus-recipient-p): Don't use it any more.
57344         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
57346 2016-02-06  Paul van der Walt  <paul@denknerd.org>
57348         Match "Re :" as a "Re:" prefix
57350         * lisp/gnus/message.el (message-subject-re-regexp): Also match
57351         "Re :" as a "Re:" prefix (commonly used in France).
57353 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
57355         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
57357         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
57359 2016-02-06  David Edmondson  <dme@dme.org>
57361         src/process.c Correctly convert AF_INET6 addresses
57363         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
57364         converted to a list of 16 bit quantities by
57365         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
57366         same scheme rather than expecting a (longer) list of 8 bit
57367         quantities.
57369 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
57371         Search for host/port combinations in auth-source on OS X
57373         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
57374         Search for all host/port (or protocol) combinations for a match in
57375         the OS X keychain.
57377 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
57379         Remove nonsensical setting of gnus-newsgroup-unseen
57381         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
57382         setting of gnus-newsgroup-unseen.
57384 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
57386         Use underline on all terminals that support it
57388         * lisp/subr.el (read-multiple-choice): Use
57389         display-supports-face-attributes-p instead of
57390         display-graphic-p to determine whether we can use underlining.
57392 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
57394         Make the nsm query say what it did after the user interaction
57396         * lisp/net/nsm.el (nsm-query): Issue a message about
57397         aborting/accepting messages (suggested by N. Jackson)
57398         (bug#22531).
57400 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
57402         Omit XLI (init) == 0 optimization in make-vector
57404         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
57405         == 0) case, as this optimization is probably not worth the hassle.
57406         Just for the record, the test for that case could have been
57407         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
57408         assuming the typical platform with no padding bits and where
57409         conversion to int omits the most significant bits.
57411 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
57413         * autogen.sh: Port to dash (Bug#22556).
57415 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
57417         Minor cleanup for Tramp "doas".
57419         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
57421         * etc/NEWS: Add Tramp connection method "doas".
57423         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
57424         Add `tramp-remote-shell-args'.
57426 2016-02-05  Xi Lu  <lx@shellcodes.org>
57428         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
57430         (tramp-default-user-alist): Add rule for "doas".
57431         (top): Completion function for "doas" is
57432         `tramp-completion-function-alist-su'.
57434 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57436         Restore the window configuration
57438         * lisp/net/nsm.el (nsm-query-user): Restore the window
57439         configuration (bug#22532).
57441 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57443         Use an X popup in read-multiple-choice if running from a mouse command
57445         * lisp/subr.el (read-multiple-choice): Use an X popup if
57446         called from a mouse action (bug#19368).
57448 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57450         Display cursor in echo area when prompting
57452         * lisp/subr.el (read-multiple-choice): Display the cursor in
57453         the echo area when prompting (bug#19368).
57455 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57457         Make NSM prompting clearer
57459         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
57460         to prompt in a nicer way (bug#19368).
57462 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57464         Underline read-multiple-choice-face
57466         * lisp/faces.el (read-multiple-choice-face): Also underline
57467         the choice.
57469 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57471         Make url.el use async DNS
57473         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
57475         * src/process.c (syms_of_process): Add a `dns' subfeature for
57476         make-network-process.
57478 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57480         Only do async DNS if requested with :nowait 'dns
57482         * doc/lispref/processes.texi (Network Processes): Mention the
57483         dns value of :nowait.
57485         * src/process.c (Fmake_network_process): Only do async DNS if
57486         :nowait is `dns'.
57488 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57490         Add sanity check for checking async DNS
57492         * src/process.c (check_for_dns): Disregard processes that have
57493         already been killed.
57495 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57497         Make the read-multiple-choice prompt a bit prettier
57499         * doc/lispref/commands.texi (Reading One Event): Mention
57500         read-multiple-choice-face.
57502         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
57503         prettier.
57505 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
57507         Prefer memcpy and memset to doing it by hand
57509         * src/alloc.c (Fmake_vector):
57510         * src/ccl.c (setup_ccl_program):
57511         Use memset to clear array.
57512         * src/alloc.c (Fvector, Fmake_byte_code):
57513         * src/charset.c (Fdefine_charset_internal):
57514         Use memcpy to copy array.
57516 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
57518         Do not ignore redirections of 301, 302 and 307 status codes
57520         The current version of HTTP/1.1 (RFC 7231) no longer requires
57521         confirmation on 301, 302 or 307 status codes, therefore we do not have
57522         to ignore redirects for other requests than GET and HEAD.
57524         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
57525         and 307 redirects for other requests than GET and HEAD.
57527 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
57529         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
57531 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
57533         Simplify USE_ALIGNED_ALLOC
57535         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
57536         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
57538 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
57540         Honor docstring of gnus-group-get-new-news
57542         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
57543         is t, but non-numeric, unconditionally consider all groups to need
57544         updating.
57546 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
57548         New function read-multiple-choice
57550         * doc/lispref/commands.texi (Reading One Event): Document
57551         read-multiple-choice.
57553         * lisp/faces.el (read-multiple-choice-face): New face.
57555         * lisp/subr.el (read-multiple-choice): New function.
57557 2016-02-03  John Wiegley  <johnw@newartisans.com>
57559         Merge from origin/emacs-25
57561         ee73997 Make erc work better when encountering unknown prefix chars
57562         b99141d Make erc completion case-insensitive again
57563         66c4620 Make complection in erc use consistent casing
57564         8c562b2 Make /QUIT in erc more robust
57565         d93d2c5 Make tracking faces in Emacs work more reliably
57566         af6ab7e Make shr not bug out on images on non-graphical displays
57567         3311f40 Fix bookmark display widths
57568         d90ab1e Fix typo in eww-make-unique-file-name
57569         7f81825 Make it possible to TAB to input fields
57570         a43a1dc Insert complete alt texts when images are disabled
57571         56ed4e1 Allow eww text fields to grow
57572         66b315c Make erc work when subword-mode is switched on
57573         255b68f Fix IMAP doc example
57574         91557f5 Quoting fixes in doc strings and diagnostics
57575         2c0dc9f Fix warning message in hack-local-variables
57576         504696d Etags: yet another improvement in Ruby tags
57577         8784ebf Fix x-popup-menu on TTYs without a mouse
57578         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
57579                 pcase macro
57580         6191003 Use pop-to-buffer-same-window in eww
57581         fe321fd * autogen.sh: Revert all recent changes.
57582         74ebd4a * make-dist: Updates related to nt/.
57583         737193a * make-dist: Add modules/.
57584         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
57585         a4278e2 Fix failure to compile ns-win.el in parallel builds
57586         860da4d Fix names of tags generated for Ruby accessors
57587         f6213ce Fix file-name recognition in 'etags'
57588         e42e662 Change Ruby file names and extensions recognized by 'etags'
57589         58bfb6a More improvements for Ruby support in 'etags'
57590         c04e911 Add --git-config option to autogen.sh
57591         5713466 Fix editing undo changes in eww fields
57592         51362d6 Allow the user more control of popping up the eww window
57593         ee0fbd8 Make eww-browse-url with new-window parameter work again
57594         9c3142d Clean up eww code slightly
57595         cb035f3 Don't insert nil faces in shr
57596         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
57597         93f2153 Improve the custom type of some user options.
57598         9f60d7e Mark some risky calendar variables.
57599         1d07dcd Highlight two additional SCSS keywords
57600         ee8b466 Recommend enabling integrity-checking in git
57601         e639e10 Some corrections in Elisp manual
57602         d766ca8 Chatter when autogen.sh changes Git configuration
57603         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
57604         43cb9f8 Omit unnecessary history from Lisp intro
57605         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
57606         c90e1b4 Improve elisp “Security Considerations” doc
57607         cedd7ca autogen.sh now arranges for git to check hashes
57608         86ce76b ; Fix ChangeLog.2 commit ID.
57609         7b1d2b1 Fix (c & 040) typo in emergency escapes
57610         a8273da Fix display of overlay strings with 'display' and 'box' property
57611         fc48106 Fix imap-starttls-open
57612         cdecbed Fix return value of imap-starttls-open
57613         20c7e34 ; * etc/NEWS: Fix renamed command name
57614         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
57615         b250d29 Spelling fix
57616         b920a0e Spelling fixes
57617         93b144b Pacify GCC on C library without glibc API
57619 2016-02-03  John Wiegley  <johnw@newartisans.com>
57621         Merge from origin/emacs-25
57623         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
57624                 priority of non-free Chrome.
57625         0fac75f Improve the custom type of some user options.
57626         2df0e04 Highlight CSS variables with variable name face
57627         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
57628                 user-serviceable.
57629         2a5233c Mark some user options that can get evalled as risky.
57630         39b166f Disable DebPrint in sys_read on MS-Windows
57631         9fd0189 ;Fix ChangeLog entry
57632         4bb7233 Fix typos in Introduction to Emacs Lisp manual
57634 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
57636         Add a new command to switch between erc buffers
57638         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
57639         * etc/NEWS: Mention new command
57640         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
57641         (eww-mode-map): Add menu item
57642         (eww-switch-to-buffer): New command
57644 2016-02-03  David Edmondson  <dme@dme.org>
57646         Make erc work better when encountering unknown prefix chars
57648         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
57649         instead of erroring out on unknown prefix chars (bug#22380).
57651 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
57653         Allow sending empty hidden values in eww
57655         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
57656         values (bug#22388).
57658 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
57660         Remove packages obsoleted before Emacs 24.
57662         In accordance with the policy discussed in the emacs-devel list,
57663         packages that have been obsoleted for a full major release cycle are up
57664         for deletion.
57666         This removes almost all packages that are now eligible for deletion,
57667         with the exception of "cl-compat", which seems it is likely to still be
57668         used, and "optional", which offers some functionality that doesn't have
57669         a replacement yet.
57671 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57673         Mention context when resume from emergency escape
57675         That way, if the user has been doing something else for a while,
57676         they are reminded of the situation when restarting Emacs,
57677         and are more likely to understand the two questions.
57678         * doc/emacs/trouble.texi (Emergency Escape): Document this.
57679         * src/keyboard.c (handle_interrupt): Implement this.
57681 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57683         Port aligned_alloc decl to Cygwin.
57685         Problem reported by Ken Brown (Bug#22522#38).
57686         * configure.ac (aligned_alloc): Check for decl too.
57687         * src/lisp.h (aligned_alloc): Declare if not already declared.
57689 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
57691         autogen.sh now configures git only on request
57693         * autogen.sh (do_autoconf, do_git): New vars.
57694         Support new arguments --help, all, autoconf, git.
57695         By default, just do autoconf-related configuration, not git.
57696         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
57697         If GNU cp is available, use it to backup .git/config before
57698         changing it.  When configuring git, chatter about what is being
57699         done, and configure git to check hashes.  Avoid some duplicate
57700         file name specification when creating git hooks.
57702         * GNUmakefile (ALL_IF_GIT): New macro.
57703         (configure): Use it.
57704         * INSTALL.REPO: Suggest './autogen.sh all'.
57706 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
57708         Doc fixes and refactorings based on comments from Eli Zaretskii
57710         * doc/lispref/processes.texi (Network Processes): Clarify the
57711         meaning of :tls-parameters.
57713         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
57715         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
57716         own function.
57717         (gnutls-negotiate): Use it.
57718         (open-gnutls-stream): Ditto.
57720         * src/eval.c (vformat_string): Refactor out the printing bits
57721         from verror.
57722         (verror): Use it.
57724         * src/gnutls.c (boot_error): Mark failed processes with the
57725         real error message.
57727         * src/lisp.h: Declare vformat_string.
57729 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
57731         Build with C11 if available
57733         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
57734         * m4/std-gnu11.m4: New file, from gnulib.
57735         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
57737 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
57739         Update gnulib copy
57741         * doc/misc/texinfo.tex: Copy from gnulib.
57743 2016-02-02  Glenn Morris  <rgm@gnu.org>
57745         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
57746         Doc tweaks.
57748 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
57750         Port better to platforms lacking aligned_alloc
57752         Problem reported by Ken Brown (Bug#22522).
57753         * src/lisp.h (hybrid_aligned_alloc)
57754         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
57756 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
57758         Port malloc.h hygiene fix to LTO
57760         * src/alloc.c (__malloc_initialize_hook):
57761         Make it externally visible (Bug#22522).
57763 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
57765         Build fix for --enable-check-lisp-object-type
57767         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
57768         Mitsuharu.
57770 2016-02-01  Glenn Morris  <rgm@gnu.org>
57772         Make find-change-log prefer a VCS root, if no ChangeLog exists.
57774         * lisp/vc/add-log.el (change-log-directory-files): New option.
57775         (find-change-log): Respect change-log-directory-files.
57776         * doc/emacs/maintaining.texi (Change Log Commands):
57777         Mention change-log-directory-files.
57779 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
57781         Boot parameter check fix
57783         * src/process.c (send_process): Fix test for boot parameters noted
57784         by Andy Moreton.
57786 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
57788         Double static heap size.
57790         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
57791         small on FreeBSD (Bug#22086).
57793 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
57795         Fix Bug#20821
57797         * lisp/net/tramp.el (tramp-file-name-handler):
57798         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
57799         Use `tramp-drop-volume-letter'.  (Bug#20821)
57801 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57803         Style fix
57805 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57807         Return the correct server port number
57809         * src/process.c (connect_network_socket): Return the correct
57810         server port number.
57812 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57814         Fix autoconf test for getaddrinfo_a
57816         * configure.ac: Make the test for getaddrinfo_a work.
57818 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57820         Better async error reporting
57822         * src/process.c (connect_network_socket): Mark failed processes
57823         with a better error message.
57824         (check_for_dns): Ditto.
57826 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57828         Clarify :tls-parameters.
57830 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57832         Always boot TLS if given parameters
57834         * src/process.c (connect_network_socket): If we have the TLS
57835         parameters, then boot the socket.
57837 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57839         Add documentation for :tls-parameters
57841         * doc/lispref/processes.texi (Network Processes): Mention
57842         :tls-parameters.
57844         * src/process.c (Fmake_network_process): Document the
57845         :tls-parameters parameter.
57847 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57849         Build fix for glibc systems.
57851 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57853         Make network connections work again on non-glibc systems
57855         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
57856         keywords in directly so that they can be used when doing
57857         synchronous DNS on non-synchronous connections.
57859         * lisp/net/network-stream.el (open-network-stream): Allow
57860         passing in the TLS parameters directly.
57862         * src/process.c (conv_numerical_to_lisp): New function to convert
57863         numerical addresses to Lisp.
57864         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
57865         paths so that they work again.
57866         (syms_of_process): Build fix for non-glibc systems.
57868 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57870         Windows build fix
57872         * src/process.c (Fmake_network_process): Build fix for systems
57873         without local sockets.
57875 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57877         Use XCAR/XCDR instead of Fcar etc
57879 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57881         Fix GC problem in async TLS connection
57883         * src/process.h: All Lisp_Object slots have to come first,
57884         otherwise they won't be protected from gc.
57886 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57888         Further TLS async work
57890         * src/gnutls.c (boot_error): New function to either signal an
57891         error or return an error code.
57892         (Fgnutls_boot): Don't signal errors when running asynchronously.
57894         * src/process.h (pset_status): Move here from process.c to be
57895         able to use from gnutls.c.
57897         * src/process.c (connect_network_socket): Do the TLS boot here
57898         when running asynchronously.
57899         (wait_reading_process_output): Rework the dns_processes
57900         handling for more safety.
57902 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
57904         Clean up dead code
57906         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
57908 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
57910         Add ability to give rcirc servers an alias name
57912         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
57913         customization option.
57914         (rcirc, rcirc-connect): Take server alias into account.
57916 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
57918         Port new hybrid malloc to FreeBSD
57920         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
57921         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
57922         (__morecore) [HYBRID_MALLOC]: Define in this case too.
57924 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
57926         * configure.ac: Stop using mmap for buffers for FreeBSD.
57928 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
57930         Merge changes from Tramp repository
57932         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
57933         No EXTRA_OPTS needed.
57935         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
57936         branch, especially for @trampfn{}.
57937         (Top): Move @ifnottex down.
57938         (History): XEmacs support has been removed.
57939         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
57940         (Auto-save and Backup): Use both syntax versions.
57941         (File name Syntax): Remark on IPv6 adresses is valid for
57942         unified syntax only.
57944         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
57946 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
57948         Spelling fixes
57950 2016-01-30  Glenn Morris  <rgm@gnu.org>
57952         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
57954 2016-01-30  Matthew Carter  <m@ahungry.com>
57956         Quote table names for postgres listings (sql-mode)
57958         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
57959           unquoted table names to the completion list.
57961 2016-01-30  Glenn Morris  <rgm@gnu.org>
57963         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
57965         * lisp/vc/smerge-mode.el (smerge-diff-switches)
57966         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
57967         (smerge-upper, smerge-upper-face, smerge-keep-upper)
57968         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
57969         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
57970         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
57971         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
57972         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
57973         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
57974         Update all uses.
57975         (smerge-basic-map): Add "l" and "u" bindings.
57976         (smerge-mode-menu): Update menu bindings for renaming.
57977         (smerge-font-lock-keywords): Update face names.
57978         (smerge-match-names): Update names.
57979         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
57980         (smerge-match-conflict, smerge-ediff): Rename local variables.
57981         (smerge-makeup-conflict): Relabel markers.
57982         (smerge-parsep-re): Use renamed variables.
57984 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
57986         Port recent my_edata change to MS-Windows
57988         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
57990 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
57992         Rework the mechanisms for async GnuTLS connections
57994         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
57995         gnutls-boot parameters and pass them to the process object.
57996         (gnutls-negotiate): New parameter :return-keywords that won't
57997         connect to anything, just compute the keywords.
57999         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
58000         hack, which is no longer necessary.
58002         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
58003         gnutls-mark-process.
58005         * src/process.c (connect_network_socket): If we're connecting to
58006         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
58008         * src/process.h: New parameter gnutls_async_parameters.
58010 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
58012         Fix segfault from double free
58014         * src/process.c (check_for_dns): Protect against double free
58015         issues.
58017 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
58019         Remove debugging
58021 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
58023         Implement asynchronous GnuTLS connections
58025         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
58026         the nowait parameter.
58028         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
58029         connections with the new nowait parameter.
58031         * lisp/net/network-stream.el (network-stream-open-tls): Pass
58032         on :nowait to open-gnutls-stream.
58034         * lisp/url/url-http.el (url-http): Don't overwrite the
58035         sentinel created by open-gnutls-stream.
58037         * src/gnutls.c (Fgnutls_mark_process): New function.
58039         * src/process.c (send_process): Don't write to GnuTLS sockets that
58040         haven't been initialized yed.
58042         * src/process.h: New slot gnutls_wait_p.
58044 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58046         Tell Automake the new lib/Makefile.am is OK
58048         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
58050 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58052         Make it easy to override preferred-branch test
58054         * Makefile.in (preferred-branch-is-current):
58055         Rename from emacs-25-branch-is-current.  All uses changed.
58056         (PREFERRED_BRANCH): New macro.
58058 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58060         Shrink static heap a bit
58062         * src/sheap.h: Include lisp.h, for Lisp_Object.
58063         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
58064         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
58065         conservative than the old value.
58066         (Bug#22086)
58068 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58070         Fix extern symbols defined and not used
58072         * src/alloc.c: Always include <signal.h>.
58073         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
58074         Do not define; unused.
58075         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
58076         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
58077         to avoid collision with glibc.  Now static.  All uses changed.
58078         * src/lastfile.c (my_edata): Define only if
58079         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
58080         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
58081         (Bug#22086)
58083 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58085         Build lib/e-*.o only on platforms that need it
58087         * configure.ac (hybrid malloc): Simplify configuration.
58088         (SHEAP_OBJ): Remove; no longer needed.
58089         (HYBRID_MALLOC): New var. Subst it.
58090         (HYBRID_MALLOC_LIB): New Automake conditional.
58091         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
58092         HYBRID_MALLOC_LIB.
58093         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
58094         (MOSTLYCLEANFILES): Add libegnu.a.
58095         * src/Makefile.in (SHEAP_OBJ): Remove.
58096         (HYBRID_MALLOC): New macro.
58097         (base_obj): Use it to conditionally add sheap.o.
58098         (LIBEGNU_ARCHIVE): New macro.
58099         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
58100         All uses of the latter replaced by the former.
58101         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
58102         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
58103         * src/gmalloc.c: Update comment.
58104         * src/lisp.h (aligned_alloc)
58105         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
58106         New decl.
58107         (Bug#22086)
58109 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58111         Include <malloc.h> when advisable
58113         This should help insulate us better from future glibc changes.
58114         It is good hygiene to include .h files for APIs that Emacs uses.
58115         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
58116         * configure.ac: Check for malloc.h.
58117         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
58118         not on DOUG_LEA_MALLOC.
58119         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
58120         Remove decl (now in lisp.h).
58121         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
58122         [emacs]: Include lisp.h.
58123         [HAVE_MALLOC_H]: Include <malloc.h>.
58124         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
58125         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
58126         (__default_morecore):
58127         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
58128         (calloc): Make it clear that the macro should not be used.
58129         Remove unused decl.
58130         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
58131         (__morecore, __default_morecore, __after_morecore_hook)
58132         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
58133         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
58134         Remove later decls.
58135         (gmalloc_hook, gfree_hook, grealloc_hook):
58136         Rename from __malloc_hook, __free_hook, __realloc_hook to
58137         avoid type collision with glibc <malloc.h>.  All uses changed.
58138         (gmalloc_hook):
58139         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
58140         Now static.
58141         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
58142         (__malloc_initialize_hook, __after_morecore_hook):
58143         Declare with types compatible with glibc.
58144         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
58145         Remove.  All uses removed.
58146         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
58147         * src/ralloc.c, src/vm-limit.c:
58148         Simplify includes and include <malloc.h> if available.
58150 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58152         * src/alloc.c: Include "sheap.h".
58154         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
58155         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
58156         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
58157         Declare unconditionally.
58158         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
58159         (unexec): Don’t set or clear bss_sbrk_did_unexec;
58160         the caller now does this.
58161         (Bug#22086)
58163 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58165         Pacify --enable-gcc-warnings when HYBRID_MALLOC
58167         * src/buffer.c (init_buffer):
58168         * src/emacs.c (main):
58169         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
58170         Use emacs_get_current_dir_name, not get_current_dir_name.
58171         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
58172         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
58173         * src/emacs.c: Include "sheap.h".
58174         (report_sheap_usage): Remove decl.
58175         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
58176         Don't assume ptrdiff_t can be printed as int.
58177         * src/gmalloc.c [HYBRID_MALLOC]:
58178         Include "sheap.h" rather than declaring its contents by hand.
58179         (get_current_dir_name, gget_current_dir_name)
58180         (hybrid_get_current_dir_name): Remove.
58181         (emacs_abort): Remove duplicate decl.
58182         (aligned_alloc): Undef, like malloc etc.
58183         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
58184         Make it a bit more efficient.
58185         (malloc_find_object_address): Remove unused decl.
58186         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
58187         (mstats, memory_warnings): Declare only if GC_MCHECK.
58188         * src/lisp.h (emacs_get_current_dir_name):
58189         New decl, replacing get_current_dir_name.
58190         * src/sheap.c: Include sheap.h first.
58191         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
58192         (debug_sheap): Now static.
58193         (bss_sbrk_buffer_end): Remove; no longer used.
58194         (bss_sbrk_ptr): Now static and private.
58195         (bss_sbrk_did_unexec): Now bool.
58196         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
58197         (bss_sbrk): Don't treat request_size 0 as special, since the code
58198         works without this being a special case.
58199         Avoid overflow if request size exceeds INT_MAX.
58200         (report_sheap_usage): Remove; now done in emacs.c.
58201         * src/sheap.h: New file.
58202         * src/sysdep.c (get_current_dir_name): Remove macro.
58203         Include "sheap.h".
58204         (emacs_get_current_dir_name): Rename function from
58205         get_current_dir_name.  Handle HYBRID_MALLOC here;
58206         this is simpler.
58207         (Bug#22086)
58209 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58211         Report static heap usage on non-Cygwin, too
58213         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
58214         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
58215         on platforms other than Cygwin (Bug#22086).
58217 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58219         Pacify GCC on extern decls
58221         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
58222         to pacify recent GCC (Bug#22086).
58224 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
58226         Add musl patch to support HYBRID_MALLOC on elf systems
58228         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
58229         (__default_morecore): Here, in particular.
58230         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
58231         New variable SHEAP_OBJ.
58232         * src/Makefile.in: Use it.
58233         (Bug#22086)
58235 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
58237         unexelf.c hook to support HYBRID_MALLOC on ELF
58239         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
58240         Define bss_sbrk_did_unexec (Bug#22086).
58242 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
58244         Link temacs with gnulib compiled with -Demacs
58246         This is done to support HYBRID_MALLOC, since some static variables
58247         (e.g., last_environ in putenv.c) hold pointers to memory malloced
58248         before dumping (Bug#22086).
58249         * lib/Makefile.am: Add incantation to install libegnu.a.
58250         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
58251         (temacs$(EXEEXT)): Use it.
58253 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
58255         Internal linkage for gmalloc etc. if HYBRID_MALLOC
58257         This avoids clashes with symbols if the after-dump malloc is
58258         derived from Doug Lea's implementation (Bug#22086).
58260         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
58261         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
58262         declarations below to `static' ones.
58263         (aligned_alloc): Declare for !MSDOS as well.
58264         (heapsize, _fraghead): Move resp. copy declaration downwards.
58265         For HYBRID_MALLOC, conditionalize out the other definitions,
58266         since the previous `static' declarations double as tentative
58267         definitions, anyway.
58268         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
58269         (__realloc_hook, __memalign_hook): Conditionalize out.
58270         (cfree, memalign, valloc): Ditto.
58272 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58274         -
58276         -
58278         -
58280 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58282         Merge from origin/emacs-25
58284         3f481ad Rename xref-query-replace to xref-query-replace-in-results
58285         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
58286         2111e0e Comment out next-error-function integration in xref
58287         4e11ad3 Correct a use of "which" in intro.texi
58288         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
58289         76045f7 Don't operate on menu bar of nonexistent frame
58290         c32f3bc Unbreak the GNUstep build.
58292 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58294         -
58296         -
58298 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
58300         Re-enable checks in member, memql, delete to complain about non-lists
58302         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
58304 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
58306         Clean up compilation warnings
58308 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
58310         Make async resolution more efficient
58312         * src/process.c (wait_reading_process_output): Use a list of
58313         process objects instead of looping through an array to check
58314         for name resolution.  This should be much faster.
58316 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58318         More async memory leaks
58320         * src/process.c (check_for_dns): Free even more allocated async stuff.
58322 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58324         Compilation for for systems with getaddrinfo_a
58326         * src/process.c (Fmake_network_process): Make stuff work again on
58327         systems with getaddrinfo_a.
58329 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58331         Save correct server data
58333         * src/process.c (connect_network_socket): Save the correct contact
58334         info for servers.
58336 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58338         Compilation for for non-GNU systems
58340         * src/process.c (Fmake_network_process): Make compilation work
58341         again on hosts that don't have getaddrinfo_a.
58343 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58345         Avoid memory leaks in async DNS
58347         * src/process.c (check_for_dns): Free async DNS resources after
58348         they've been used.
58350 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58352         * src/process.c (check_for_dns): Free the result data.
58354 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58356         Fix server connections
58358         * src/process.c (Fmake_network_process): Make creating server
58359         listening ports work again.
58361 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58363         Further make_network_process clean up
58365         * src/process.c (Fmake_network_process): Remove setting of unused
58366         family variable.
58368 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58370         Clean up GETADDRINFO usage in make-network-process
58372         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
58373         handling.
58375 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
58377         Implement asynchronous name resolution
58379         * src/process.c (Fmake_network_process): Do asynchronous DNS
58380         lookups if we have getaddrinfo_a and the user requests :nowait.
58381         (check_for_dns): New function.
58382         (wait_reading_process_output): Check for pending name
58383         resolution in the idle loop.
58385         * src/process.h: Add structure for async DNS.
58387 2016-01-28  Glenn Morris  <rgm@gnu.org>
58389         Remove some useless-use-of eval.
58391         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
58392         * lisp/gnus/nnrss.el (xml): Simply require it.
58393         (xml-rpc-method-call): Use declare-function.
58395 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
58397         Fix memory leak
58399         * src/process.c (connect_network_socket): Free previous sockaddr
58400         before allocating a new one.
58402 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
58404         Return IP addresses in the correct order
58406         * src/process.c (Fmake_network_process): Return the IP addresses
58407         in the same order as getaddrinfo does.
58408         (set_network_socket_coding_system): Clean up the code slightly.
58410 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
58412         Add checks for getaddrinfo_a
58414         * configure.ac: Detect getaddrinfo_a.
58416 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
58418         Refactor make_network_process
58420         * src/process.c (set_network_socket_coding_system)
58421         (connect_network_socket): Refactor out of
58422         make_network_process to allow calling connect_network_socket
58423         asynchronously.
58424         (Fmake_network_process): Do nothing but parsing the parameters
58425         and name resolution, leaving the connection to
58426         connect_network_socket.
58428 2016-01-28  Glenn Morris  <rgm@gnu.org>
58430         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
58431         Warn if defcustom has no type.  (Bug#16276)
58433 2016-01-27  Glenn Morris  <rgm@gnu.org>
58435         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
58437 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58439         (rng-c-fix-escaped-newlines): Use subst-char-in-string
58441         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
58442         Use subst-char-in-string.
58444 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58446         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
58448         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
58449         (sgml-calculate-indent): Use it.
58451 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58453         * lisp/org: Fix some compiler warnings
58455         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
58456         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
58457         (*this*): Declare as dyn-bound.
58458         (org-babel-expand-src-block, org-babel-load-in-session)
58459         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
58460         Mark unused args.
58461         (org-babel-combine-header-arg-lists): Remove unused var `args'.
58462         (org-babel-find-named-block): Remove unused var `msg'.
58464         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
58465         Declare as dyn-bound.
58466         (org-edit-src-code): Remove unused var `lfmt'.
58467         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
58469 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
58471         * lisp/font-lock.el: Use #' to quote function symbols
58473 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
58475         Improve user name completion in Tramp
58477         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
58478         Call also "getent passwd" or "getent group", if possible.
58479         (tramp-parse-putty): Cache the result.
58481 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
58483         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
58485 2016-01-20  Glenn Morris  <rgm@gnu.org>
58487         Remove handling of non-string time-stamp formats, obsolete for 20 years.
58489         * lisp/time-stamp.el (time-stamp-format): Doc fix.
58490         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
58491         (time-stamp-string): Ignore non-string formats.
58493 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
58495         Anoter fix for problematic merge from emacs-25
58497         * src/w32fns.c (globals_of_w32fns): Move initialization of
58498         resetstkoflw to a non-Cygwin part.
58500 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
58502         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
58504 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
58506         Fix MS-Windows build broken by a botched merge from emacs-25
58508         * src/w32.c (w32_crypto_hprov): New static variable.
58509         (globals_of_w32): Initialize w32_crypto_hprov.
58510         (w32_init_crypt_random, w32_init_random): New functions.
58511         Include wincrypt.h.
58512         * src/w32.h (w32_init_random): Add prototype.
58514 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
58516         Correct a whole bunch of bugs coming with renamed cell relocation.
58518         * lisp/ses.el (ses-localvars): rename variable
58519         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
58520         and adjust the comment about it.
58521         (ses-plist-delq): new defun.
58522         (ses--ses-buffer-list): new defvar.
58523         (ses--unbind-cell-name): new defun.
58524         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
58525         (ses-relocate-formula): Undo change of
58526         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
58527         preventing relocation for named cell --- now doing this is delegated
58528         to function `ses-relocate-symbol'.
58529         (ses-relocate-range): In docstring, undo change of
58530         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
58531         lower case as it is not a variable.
58532         (ses-relocate-all): Cell name relocation : 1) check that cell is a
58533         renamed cell by testing `ses-cell' property to :ses-named, rather than
58534         comparing name to corresponding standard name. Set rowcol of renamed
58535         cell into the hashmap --- `ses-cell' property must not be used for
58536         that as the same name can be used for different locations in different
58537         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
58538         `local-variable-p' to check if cell name is already in use in this
58539         sheet or needs initialization.
58540         (ses-relocate-all): Cell value relocation : 1) like for name
58541         relocation use the `ses-cell' property rather than comparing actual
58542         name to corresponding standard name. 2) Correct bug introduced in
58543         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
58544         made the other way round than the intention --- ie value relocation
58545         was disabled for standard cell, not for renamed cell as was the
58546         intention.
58547         (ses-relocate-all): Add loop for unbinding deleted renamed cells
58548         names.
58549         (ses-killbuffer-hook): new defun.
58550         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
58551         kill buffer hook, plus pushing current buffer if new in list.
58552         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
58553         into `ses--in-killing-named-cell-list'.
58554         (ses-rename-cell): Remove update of variable
58555         `ses--renamed-cell-symb-list', this variable is renamed to
58556         `ses--in-killing-named-cell-list', and its setting is done in
58557         functions `ses-delete-row' and , `ses-delete-column' now.
58558         (ses-rename-cell): Change correction of
58559         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
58560         computation of the range over which `cursor-intangible' property was
58561         to be updated. This correction was ok for non spilling cells, but not
58562         for cells spilling over following blank cells. Simply use
58563         `next-single-property-change' rather than computing the end column
58564         from column widths.
58566 2016-01-18  John Wiegley  <johnw@newartisans.com>
58568         -
58570 2016-01-18  John Wiegley  <johnw@newartisans.com>
58572         Merge from origin/emacs-25
58574         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
58575         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
58576         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
58577         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
58578         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
58579         86e4513 Fix incompatbilities with MS-Windows 2000 and older
58580         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
58581         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
58582         39afa42 Fix tests for active region in hideif.el
58583         05df666 Fix interactive specs in some hideif.el commands
58585 2016-01-18  John Wiegley  <johnw@newartisans.com>
58587         -
58589 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
58591         Avoid stdio in SIGINT handler
58593         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
58594         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
58595         * lib/ignore-value.h: New file, from gnulib.
58596         * src/keyboard.c: Include it.
58597         (write_stdout, read_stdin): New functions.
58598         (handle_interrupt): Use them instead of printf and getchar,
58599         and avoid fflush when handling signals.
58601 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
58603         Refactor mml-smime.el, mml1991.el, mml2015.el
58605         (Maybe this is the last merge from Gnus git to Emacs git)
58607         Cf. discussion on ding mailing list, messages in
58608         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
58609         Common code from the three files mml-smime.el, mml1991.el, and
58610         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
58611         to gnus-util.el.
58613         The code is supported by test cases with necessary test keys.
58615         Documentation in message.texi is updated.
58617         * doc/misc/message.texi (Security, Using S/MIME):
58618         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
58619         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
58620         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
58622         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
58623         New functions.
58625         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
58626         (epa--select-keys): Autoload.
58627         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
58628         (mml-secure-openpgp-signers): New user option;
58629         make mml1991-signers and mml2015-signers obsolete aliases to it.
58630         (mml-secure-smime-signers): New user option;
58631         make mml-smime-signers an obsolete alias to it.
58632         (mml-secure-openpgp-encrypt-to-self): New user option;
58633         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
58634         aliases to it.
58635         (mml-secure-smime-encrypt-to-self): New user option;
58636         make mml-smime-encrypt-to-self an obsolete alias to it.
58637         (mml-secure-openpgp-sign-with-sender): New user option;
58638         make mml2015-sign-with-sender an obsolete alias to it.
58639         (mml-secure-smime-sign-with-sender): New user option;
58640         make mml-smime-sign-with-sender an obsolete alias to it.
58641         (mml-secure-openpgp-always-trust): New user option;
58642         make mml2015-always-trust an obsolete alias to it.
58643         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
58644         New user options.
58645         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
58646         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
58647         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
58648         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
58649         (mml-secure-passphrase-callback, mml-secure-check-user-id)
58650         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
58651         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
58652         (mml-secure-fingerprint, mml-secure-filter-keys)
58653         (mml-secure-normalize-cust-name, mml-secure-select-keys)
58654         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
58655         (mml-secure-self-recipients, mml-secure-recipients)
58656         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
58658         * lisp/gnus/mml-smime.el: Require epg;
58659         refactor declaration and autoloading of epg functions.
58660         (mml-smime-use): Doc fix.
58661         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
58662         Obsolete.
58663         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
58664         Use format instead of gnus-format-message.
58665         (mml-smime-epg-secret-key-id-list): Remove variable.
58666         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
58667         (mml-smime-epg-find-usable-secret-key): Remove functions.
58668         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
58670         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
58671         (mml1991-passphrase-cache-expiry): Obsolete.
58672         (mml1991-epg-secret-key-id-list): Remove variable.
58673         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
58674         (mml1991-epg-find-usable-secret-key): Remove functions.
58675         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
58677         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
58678         (mml2015-passphrase-cache-expiry): Obsolete.
58679         (mml2015-epg-secret-key-id-list): Remove variable.
58680         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
58681         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
58682         (mml2015-epg-find-usable-secret-key): Remove functions.
58683         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
58684         (mml2015-epg-encrypt): Refactor.
58686 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
58688         Merge from gnulib
58690         This mostly just updates copyright dates of gnulib files.
58691         It also updates to the latest version of texinfo.tex.
58693 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
58695         Move variables to inner loop, preparing for Mac port merge
58697         * src/keyboard.c (command_loop_1): Move variables `cmd',
58698         `keybuf', and `i' to inner loop.
58700 2016-01-17  Bill Wohler  <wohler@newt.com>
58702         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
58704 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
58706         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
58708         (syntax-ppss):
58709         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
58711 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
58713         lisp/nxml: Use syntax-tables for comments
58715         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
58716         (nxml-mode): Set syntax-ppss-table.
58717         Use sgml-syntax-propertize-function for syntax-propertize-function.
58718         Let font-lock highlight strings and comments.
58719         (nxml-degrade): Don't touch "nxml-inside" property any more.
58720         (nxml-after-change, nxml-after-change1): Remove functions.
58721         (comment): Don't set fontify rule any more.
58722         (nxml-fontify-attribute): Don't highlight the value any more.
58723         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
58724         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
58726         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
58727         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
58728         (nxml-clear-inside, nxml-set-inside): Remove.
58729         (nxml-scan-after-change): Remove function.
58730         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
58731         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
58732         (nxml-move-outside-backwards):
58733         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
58734         nxml-inside-start behavior.
58736         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
58737         (nxml-debug-clear-inside): Remove macros.
58739         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
58740         (xmltok-scan-after-comment-open): Simplify.
58742 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
58744         * lisp/progmodes/elisp-mode.el
58745         (elisp--font-lock-flush-elisp-buffers): Fix comment
58747 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
58749         * lisp/nxml: Use standard completion; it also works for company-mode
58751         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
58752         (nxml-completion-at-point-function): Remove.
58753         (nxml-mode): Don't set completion-at-point-functions.
58754         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
58755         (rng-completion-at-point): Rename from rng-complete and mark it
58756         non-interactive.  It is now to be used as completion-at-point-function.
58757         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
58758         (rng-complete-attribute-value): Don't perform completion, but return
58759         completion data instead.
58760         (rng-complete-qname-function, rng-generate-qname-list): Add a few
58761         arguments, previously passed via dynamic coping.
58762         (rng-strings-to-completion-table): Rename from
58763         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
58764         sorting and uniquifying.
58766         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
58767         (rng-completion-exact-p, rng-quote-string): Delete functions.
58769         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
58770         (rng-missing-attributes-message, rng-missing-element-message)
58771         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
58772         calling rng-quote-string everywhere.
58774 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
58776         Use sgml-electric-tag-pair-mode also in nxml-mode
58778         * lisp/nxml/rng-nxml.el: Require sgml-mode.
58779         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
58780         (rng-complete-qname-function): Use complete-with-action.
58782         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
58783         Let-bind forward-sexp-function, since nxml-mode binds it to
58784         something incompatible.
58786         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
58788 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
58790         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
58791         opener.
58793         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
58794         marker on the "sole --" rather than on the comment opener.
58796 2016-01-15  Sam Steingold  <sds@gnu.org>
58798         replace `tramp-compat-split-string' (removed) with `split-string'
58800         (python-shell-tramp-refresh-process-environment)
58801         (python-shell-calculate-pythonpath): use `split-string'
58802         instead of defunct `tramp-compat-split-string'
58804 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
58806         Update nXML to use Emacs's Unicode support, and lexical-binding
58808         * etc/nxml/*.el: Remove obsolete char-name files.
58809         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
58810         var `next'.
58811         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
58812         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
58813         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
58814         (nxml-target-section-pos, nxml-depth-in-target-section)
58815         (nxml-outline-state-transform-alist)
58816         (nxml-outline-display-section-tag-function): Move decl before first use.
58817         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
58818         (nxml-char-name-alist, nxml-char-name-table)
58819         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
58820         (nxml-enable-char-name-set, nxml-disable-char-name-set)
58821         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
58822         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
58823         (nxml-insert-named-char): Use read-char-by-name instead.
58824         (nxml-char-ref-display-extra): Use get-char-code-property.
58825         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
58826         Remove function.
58827         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
58829 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
58831         Add "sg" method to Tramp
58833         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
58834         (Customizing Completion): Add function `tramp-parse-etc-group'.
58836         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
58837         (tramp-completion-function-alist-sg): New defconst.
58838         (top): Completion function for "sg" is
58839         `tramp-completion-function-alist-sg'.
58841         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
58842         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
58844 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
58846         Remove XEmacs compatibility in Tramp
58848         * doc/misc/tramp.texi: Replace flags by their hard coded name.
58849         Remove unused flags and the enclosed alternative text for XEmacs.
58851         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
58852         and "xemacs" flags to "unified" and "separate".  Remove flags
58853         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
58854         "emacsothername", "emacsotherdir" and "emacsotherfilename".
58855         (trampver):
58856         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
58858         * lisp/net/tramp.el (bkup-backup-directory-info)
58859         (directory-sep-char, ls-lisp-use-insert-directory-program)
58860         (outline-regexp, tramp-backup-directory-alist)
58861         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
58862         (tramp-file-name-regexp-unified)
58863         (tramp-file-name-regexp-separate)
58864         (tramp-completion-file-name-regexp-unified)
58865         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
58866         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
58867         (tramp-debug-message, tramp-progress-reporter-update)
58868         (with-tramp-progress-reporter)
58869         (tramp-rfn-eshadow-setup-minibuffer)
58870         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
58871         (tramp-rfn-eshadow-update-overlay)
58872         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
58873         (tramp-file-name-for-operation)
58874         (tramp-completion-file-name-handler)
58875         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
58876         (tramp-handle-directory-files)
58877         (tramp-handle-directory-files-and-attributes)
58878         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
58879         (tramp-handle-insert-file-contents, tramp-handle-load)
58880         (tramp-handle-shell-command)
58881         (tramp-handle-verify-visited-file-modtime)
58882         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
58883         (tramp-check-for-regexp, tramp-wait-for-regexp)
58884         (tramp-send-string, tramp-mode-string-to-int)
58885         (tramp-get-local-gid, tramp-check-cached-permissions)
58886         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
58887         (auto-save-file-name-transforms)
58888         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
58889         (tramp-clear-passwd, tramp-time-diff):
58890         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
58891         (directory-sep-char, tramp-adb-file-name-handler-alist)
58892         (tramp-adb-parse-device-names)
58893         (tramp-adb-handle-expand-file-name)
58894         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
58895         (tramp-adb-handle-file-local-copy)
58896         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
58897         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
58898         (tramp-adb-handle-shell-command)
58899         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
58900         (tramp-adb-maybe-open-connection):
58901         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
58902         (tramp-cache-print):
58903         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
58904         (tramp-bug, tramp-reporter-dump-variable)
58905         (tramp-load-report-modules, tramp-append-tramp-buffers):
58906         * lisp/net/tramp-compat.el (tramp-compat-funcall)
58907         (tramp-advice-file-expand-wildcards)
58908         (tramp-compat-temporary-file-directory)
58909         (tramp-compat-make-temp-file, tramp-compat-copy-file)
58910         (tramp-compat-delete-directory, )
58911         (tramp-compat-process-running-p):
58912         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
58913         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
58914         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
58915         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
58916         (tramp-gvfs-handle-file-local-copy)
58917         (tramp-gvfs-handle-file-name-all-completions)
58918         (tramp-gvfs-handle-file-notify-add-watch)
58919         (tramp-gvfs-monitor-file-process-filter)
58920         (tramp-gvfs-handle-file-readable-p)
58921         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
58922         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
58923         (tramp-gvfs-maybe-open-connection)
58924         (tramp-gvfs-parse-device-names):
58925         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
58926         (tramp-gw-open-connection, tramp-gw-open-network-stream):
58927         * lisp/net/tramp-sh.el (directory-sep-char)
58928         (tramp-sh-file-name-handler-alist)
58929         (tramp-sh-handle-file-truename)
58930         (tramp-sh-handle-set-visited-file-modtime)
58931         (tramp-sh-handle-verify-visited-file-modtime)
58932         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
58933         (tramp-sh-handle-file-acl)
58934         (tramp-sh-handle-file-name-all-completions)
58935         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
58936         (tramp-do-copy-or-rename-file-directly)
58937         (tramp-do-copy-or-rename-file-out-of-band)
58938         (dired-compress-file-suffixes, dired-remove-file)
58939         (tramp-sh-handle-dired-compress-file)
58940         (tramp-sh-handle-insert-directory)
58941         (tramp-sh-handle-expand-file-name)
58942         (tramp-sh-handle-start-file-process)
58943         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
58944         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
58945         (tramp-sh-handle-file-notify-add-watch)
58946         (tramp-sh-gvfs-monitor-dir-process-filter)
58947         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
58948         (tramp-find-executable)
58949         (tramp-open-connection-setup-interactive-shell)
58950         (tramp-find-inline-encoding, tramp-compute-multi-hops)
58951         (tramp-maybe-open-connection, tramp-convert-file-attributes)
58952         (tramp-get-remote-path, tramp-get-remote-touch):
58953         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
58954         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
58955         (tramp-smb-handle-delete-directory)
58956         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
58957         (tramp-smb-handle-make-directory-internal)
58958         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
58959         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
58960         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
58961         (tramp-smb-get-cifs-capabilities)
58962         (tramp-smb-maybe-open-connection):
58963         * lisp/net/trampver.el (tramp-repository-get-version):
58964         Remove XEmacs compat code.
58966         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
58967         (reporter-dump-variable): Declare functions.
58969         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
58970         (tramp-advice-minibuffer-electric-separator)
58971         (tramp-advice-minibuffer-electric-tilde)
58972         (tramp-handle-unhandled-file-name-directory):
58973         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
58974         (tramp-compat-font-lock-add-keywords)
58975         (tramp-compat-load, tramp-compat-number-sequence)
58976         (tramp-compat-split-string, tramp-compat-delete-dups):
58977         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
58978         Remove.
58980         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
58981         recursively.
58983 2016-01-14  K. Handa  <handa@gnu.org>
58985         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
58987         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
58988         second glyph only when there are enough glyphs.
58990 2016-01-13  Glenn Morris  <rgm@gnu.org>
58992         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
58994         or its hook, to move point.  (Bug#22348)
58996 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
58998         Merge missing commit from emacs-25 branch
59000         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
59001         New variables.
59002         (check-expensive, check-doit): New targets.
59004         * Makefile.in (check-expensive): New target.
59006         * test/lisp/autorevert-tests.el
59007         (auto-revert-test01-auto-revert-several-files):
59008         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
59009         (file-notify-test06-many-events):
59010         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
59011         (tramp-test27-start-file-process, tramp-test28-shell-command)
59012         (tramp-test29-vc-registered)
59013         (tramp-test31-special-characters-with-stat)
59014         (tramp-test31-special-characters-with-perl)
59015         (tramp-test31-special-characters-with-ls)
59016         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
59017         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
59018         (tramp-test35-unload): Tag the tests as :expensive-test.
59020 2016-01-11  John Wiegley  <johnw@newartisans.com>
59022         Merge from origin/emacs-25
59024         1f6898d test/automated/vc-hg.el: Support out-of-tree build
59025         3adb56e Minor change in tramp-tests.el
59026         2b535ba ; * etc/NEWS: Update the js.el entry.
59027         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
59028         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
59029         36b9539 Avoid an infloop when we run out of memory
59030         2006752 Avoid unnecessary failures of auto-saving after fatal error
59031         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
59032         552694a Revert attempt to use 'noexcept' in typedef
59033         6ad0d39 Update documentation of 'indirect-function'
59034         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
59035         303141a Update documentation for obsoleting 'syntax-begin-function'
59036         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
59037         e667bbb Document new features if Eshell
59038         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
59039         1089dc9 Handle too long commands in Tramp
59040         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
59041         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
59042         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
59043         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
59044         cca0f93 ; Account for spaces before the filename
59045         c71e1e8 Use short date for 'hg annotate', and output the author
59046         f50027b Spelling fix
59047         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
59048         cc140bc Document user-level functions in project.el
59049         f8208b6 Document the user-level features of the Xref package
59050         b131fb8 * loading.texi: Add `define-type' entry for load-history
59051         db3c2a8 Improve doc strings and prompts in xref.el
59052         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
59053         90fd798 Fix coding system for Tramp on OS X.
59054         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
59055         9dfcbf0 Update 'load-history' docs
59056         207e191 Fix (error ...) error
59057         457738f Correctly analyze brace arguments in templated C++ function declarations.
59058         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
59059         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
59060         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
59061         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
59062         4b37cba Improve documentation of Delete Selection mode
59063         a034dd3 Fix two project-find-file issues
59064         30abf29 Clarify doc string of 'dired-current-directory'
59065         e990bb2 Use the face of preceding text for displaying the ellipsis
59066         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
59067         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
59068         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
59069         648de81 ; Add NEWS entry for project.el
59070         671862f apropos-library: Skip obvious duplicates; don't error on generics
59071         51668a5 ; Grammar fix
59072         ed41d11 Add project-find-file and project-or-external-find-file
59073         056da45 ; Improve commentary in 'setup_for_ellipsis'
59074         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
59076 2016-01-11  John Wiegley  <johnw@newartisans.com>
59078         Merge from origin/emacs-25
59080         ce4a052 Add defvar-local to lisp-imenu-generic-expression
59081         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
59082         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
59083         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
59084         b6b47af Properly encode/decode base64Binary data in SOAP
59085         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
59086         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
59087                 Update the URI of MELPA and marmalade-repo.
59088                 Reported by CHENG Goa <chenggao@royau.me> in
59089                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
59090         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
59091         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
59092         7380990 Remove function wrongly on AWK Mode value of context
59093         fontification hook.
59094         d400753 * src/buffer.c: Stick with ASCII in doc string.
59095         221240c Reword transient-mark-mode doc string
59096         977d3ea Update doc string of 'selective-display'
59097         229c3fa Make C++ buffers writeable when writing their initial text
59098                 properties.
59099         f5c762c Additional changes for "make check-expensive"
59100         1729cf3 ; * admin/MAINTAINERS: Remove myself.
59101         33219d3 Apply text properties for <, > in new after-change function
59102                 (C++ Java Modes).
59104 2016-01-11  John Wiegley  <johnw@newartisans.com>
59106         Merge from origin/emacs-25
59108         9fb185a shr-tag-video bug fix
59109         6300655 Minor fixes in tramp-tests.el
59110         50575b1 Ensure redisplay when 'truncate-lines' is set
59111         0d9e80d Fix a doc string of 'transient-mark-mode'
59112         0000ae5 MS-Windows followup to latest gnulib update
59113         4bc5e02 Spelling fix
59114         f1093f7 Do secure signed Bcc handling
59116 2016-01-11  John Wiegley  <johnw@newartisans.com>
59118         Merge from origin/emacs-25
59120         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
59121         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
59122         71ea138 * lisp/align.el (align): Simplify a lambda
59123         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
59124         1f680db Fix compilation next-error in buffers with selective-display
59125         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
59126         1da116f Add SHA1 warnings for high network security settings
59127         e48bacd ; * etc/NEWS: Typo fix.
59129 2016-01-11  John Wiegley  <johnw@newartisans.com>
59131         Merge from origin/emacs-25
59133         43662a2 ; Clarify that xref is still experimental
59134         0a6e6ca ; * admin/release-process: Remove some obsolete records.
59135         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
59136         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
59137         0a7ad07 ; Re-arrange xref-related entries in NEWS.
59138         fe903ef Fix xref-find-references on MS-Windows
59139         55a28d8 ; Fixed visual bell artifact problem on NextStep.
59140         d064034 Document new features of tildify-mode
59141         964bea7 Document new features of Whitespace mode
59142         cd68f47 Improve documentation of new Hide-IfDef features
59143         723b8bf Fix regression in font-locking cl-assert and cl-check-type
59145 2016-01-11  John Wiegley  <johnw@newartisans.com>
59147         Merge from origin/emacs-25
59149         ef33bc7 Spelling and grammar fixes
59150         9c3dbab Fix copyright years by hand
59151         0e96320 Update copyright year to 2016
59153 2016-01-11  John Wiegley  <johnw@newartisans.com>
59155         Merge from origin/emacs-25
59157         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
59158         526d80c Port chart.el methods to cl-generic.
59159         410bb69 Add nt/INSTALL.W64 build instructions
59160         8f5b524 Add new input method 'programmer-dvorak'
59161         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
59162         bb83bb1 Fix EWW rendering of long RTL lines
59163         b1a8509 fix  bug#21054
59164         ce5ad12 Clean up cairo printing code
59166 2016-01-11  John Wiegley  <johnw@newartisans.com>
59168         Merge from origin/emacs-25
59170         6ee327d Add handle_user_signal_hook
59171         47580e0 Avoid writing to purespace
59172         0588be7 Remove unused variable
59173         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
59174         3b95e9c Use posix_openpt instead of openpty on Darwin
59175         86312ff Document support for ':documentation' in Lisp mode
59176         c930e75b Document new features of TeX mode
59177         7c83d84 Clarify docs of hscroll in RTL text
59178         4c8f8db Fix rendering of HTML pages that use character composition
59179         a8d37ca Avoid some compiler warnings in w32.c
59180         ce106f3de Undo ill-advised change
59181         be0bba4 Unbreak completion in python-mode buffers
59183 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
59185         Adding example replies to bug-triage.
59187         * admin/notes/bug-triage: Added example replies. Also, as requested,
59188           making the process notes into more of a checklist.
59190 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
59192         Rename the notes/admin/triage file to bug-triage.
59194         * CONTRIBUTE: Change reference to the triage file name.
59195         * admin/notes/triage: Rename file to admin/notes/bug-triage.
59197 2016-01-08  K. Handa  <handa@gnu.org>
59199         Fix outdated comments.
59201 2016-01-06  Glenn Morris  <rgm@gnu.org>
59203         Allow creation of loaddefs files without timestamps.
59205         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
59206         (autoload-generate-file-autoloads, update-directory-autoloads):
59207         If autoload-timestamps is nil, write "t" instead of file timestamp.
59208         (autoload-find-destination, update-directory-autoloads):
59209         If timestamp is "t", use the modtime of the output file instead.
59211 2016-01-06  Glenn Morris  <rgm@gnu.org>
59213         Doc tweaks.
59215         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
59216         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
59217         (calendar-iso-from-absolute):
59218         * lisp/calendar/cal-tex.el (cal-tex-comment):
59219         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
59221 2016-01-06  Glenn Morris  <rgm@gnu.org>
59223         Build tweaks related to tags files.
59225         * lib-src/Makefile.in (tagsfiles): New variable.
59226         (TAGS): Also depend on the source files.  Use our own etags program.
59227         * lisp/Makefile.in (ETAGS): Add EXEEXT.
59228         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
59229         Remove.
59230         (tagsfiles): New, replacing lisptagsfiles1 etc.
59231         Remove irrelevant source files here rather than in the TAGS rule.
59232         (${ETAGS}): New rule.
59233         (TAGS): Also depend on the etags executable.
59234         * lwlib/Makefile.in (EXEEXT): New, set by configure.
59235         (ETAGS): Add EXEEXT.
59236         (${ETAGS}): New rule.
59237         (ctagsfiles): Use "wildcard".
59238         (TAGS): Also depend on the etags executable.
59239         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
59240         (${ETAGS}): New rule.
59241         (TAGS): Fix dependencies.
59242         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
59243         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
59244         Remove "-t" argument.
59245         (${ETAGS}): New rule.
59246         (tagsfiles): New variable.
59247         (TAGS): New rule, with proper dependencies.
59248         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
59249         (ctagsfiles1, ctagsfiles2): Use "wildcard".
59250         (ctagsfiles3): Remove.
59251         (TAGS): Depend on etags.
59252         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
59253         directories decide if updates are needed.
59255 2016-01-06  Glenn Morris  <rgm@gnu.org>
59257         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
59259 2016-01-06  Glenn Morris  <rgm@gnu.org>
59261         * test/lisp/emacs-lisp/package-tests.el
59263         (package-test-macro-compilation): Fixup branch merge.
59265 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
59267         Fix fallout from merging emacs-25 branch in test/
59269         * .gitignore: Update for the new place of biditest.txt.
59270         * test/automated/: Directory removed.  All files moved to their
59271         proper places.
59272         * test/etags/: Directory removed.  All files moved to their proper
59273         places.
59274         * test/automated/url-parse-tests.el: File removed; it was an exact
59275         copy of the same file in test/lisp/url/.
59276         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
59278 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59280         Spelling fixes
59282 2016-01-04  Daniel Colascione  <dancol@dancol.org>
59284         Let users disable unsafe signal handling code
59286         * src/keyboard.c (syms_of_keyboard): New user variables
59287         `attempt-stack-overflow-recovery' and
59288         `attempt-orderly-shutdown-on-fatal-signal'.
59289         * src/sysdep.c (stack_overflow): Check
59290         `attempt-stack-overflow-recovery'.
59291         * src/emacs.c (terminate_due_to_signal): Check
59292         `attempt-orderly-shutdown-on-fatal-signal'.
59294 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
59296         * configure.ac: Add error message for gfile on Nextstep.
59298 2016-01-02  John Wiegley  <johnw@newartisans.com>
59300         Merge branch 'emacs-25-merge'
59302 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
59304         Align textually on fix done for emacs-25 branch for bug#21054
59306         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
59307         and useless `(if t ...)' in order to align textually on fix done for
59308         emacs-25 branch for bug#21054.
59310 2016-01-01  K. Handa  <handa@gnu.org>
59312         support rendering of wider range of combinging characters by ftfont backend
59314         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
59315         supports rendering of combining characters, call
59316         font-shape-gstring.
59318         * src/font.c (Ffont_get): Handle `combining-capability' property.
59319         (syms_of_font): New symbol ":combining-capability'.
59321         * src/font.h (struct font_driver): New member combining_capability.
59323         * src/ftfont.c: Include "category.h".
59324         (ftfont_driver): Initialize combining_capability to
59325         ftfont_combining_capability.
59326         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
59327         FLT in advance.
59328         (ftfont_combining_capability): New function.
59330 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
59332         Add notes on bug triage procedure
59334         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
59335         * admin/notes/triage: New file explaining triage procedure.
59337 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
59339         Correct ses-rename-cell cursor-intangible text prop updating.
59341         There were two problems:
59343         - First ses-rename-cell has to work when called non interactively
59344           (with non-nil CELL argument), so in this case the start pos of
59345           put-text-property cannot be plainly (point), you need a
59346           ses-goto-print call before
59348         - Second, the range itself was computed erronously, only the first
59349           char was affected instead of the full cell width. This was not
59350           noticeable prior to changes (Deprecate `intangible' and
59351           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
59353         * lisp/ses.el (ses-rename-cell): Correct computation of position range
59354         to which the 'cursor-intangible text property has to be set to cell
59355         new name.
59357 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
59359         Don't fake empty cells value by "" when printing with a lambda.
59361         When using a lambda expression printer function the user should be
59362         free to format differently a really empty cell, ie. containing nil,
59363         from a cell containing an empty string "".
59365         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
59366         `value' in the case of a lambda expression printer function.
59368         * doc/misc/ses.texi (Printer functions): Add example and
59369         description about lambda expression printer function handling all
59370         the possible values, including unexpected ones.
59372 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
59374         Quick temporary hack to fix curcell refreshing.
59376         The problem was caused by change: 2015-04-13 Deprecate `intangible'
59377         and `point-entered' properties. The problem is that this change has
59378         removed the (setq ses--curcell t) setting in the ses-command-hook
59379         function.
59381         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
59382         a condition to call function `ses-set-curcell'. Comment this as a quick
59383         temporary hack to make it work, as I don't know yet whether a definite
59384         correction would be to make the ses-set-curcell at every ses-check-curcell,
59385         or to revert to the previous approach, ie marking ses--curcell as out-of-date
59386         at every potentially cursor motion command.
59388 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
59390         Restrictive URL checking tweaks
59392         * lisp/net/eww.el (eww): Check whether the domain is
59393         restrictive instead of the string
59394         (http://македонија.icom.museum is restrictive even if each
59395         part is from a different script).
59397 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
59399         New function `puny-highly-restrictive-domain-p'
59401         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
59402         (puny-highly-restrictive-domain-p): New function.
59404 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
59406         eww build fix (require puny)
59408 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
59410         Transform non-restrictive domains to punycode for display
59412         * lisp/net/eww.el (eww): Check whether the domain is Highly
59413         Restrictive in the Unicode IDNA sense.
59415 2015-12-29  John Wiegley  <johnw@newartisans.com>
59417         Merge emacs-25 into master (using imerge)
59419 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
59421         Further Unicode restrictive fixups
59423         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
59424         identifier characters from table 3.
59426 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
59428         Add a new function to say whether a string is restrictive
59430         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
59432 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59434         Mention the new puny.el library
59436 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59438         IDNA-related fixes for the URL library
59440         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
59441         the Host: header.
59443         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
59444         domain names, but leave them as UTF-8, so that they can be
59445         IDNA-encoded later when contacting the host.
59447 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59449         IDNA-encode all domain names in `open-network-stream'
59451         * lisp/net/network-stream.el (open-network-stream)
59452         (network-stream-open-plain, network-stream-open-starttls):
59453         IDNA-encode all domain names, if needed.
59455 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59457         Fix puny-encoding all-non-ASCII domains
59459         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
59460         encoding case.
59462 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59464         shr link traversal fixup
59466         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
59468 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59470         Reconnect erc even on server errors
59472         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
59473         reconnect even if a server error has occurred (bug#18527).
59475 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59477         Fix punycode short circuit logic
59479         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
59481 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59483         IDNA speed up
59485         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
59487 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59489         Add IDNA domain encode/decode functions
59491         * lisp/net/puny.el (puny-decode-domain): New function.
59492         (puny-encode-domain): Ditto.
59493         (puny-decode-digit): Fix digit decoding error.
59495 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
59497         Rename idna.el to puny.el
59499         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
59500         the external idna.el library.
59502 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
59504         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
59506         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
59507         Don't use split-string with 4th arg for old Emacsen compatibility.
59509 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
59511         * lisp/net/idna.el (idna-decode-string-internal): Implement
59512         decoding.
59514 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
59516         Further IDNA tweaks
59518         (idna-encode-string): Make idna-encode-string safe for
59519         non-ASCII use.
59521 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
59523         Clean up the code slightly
59525 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
59527         Added basic idna encoding support
59529         * lisp/net/idna.el: New file.
59531 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
59533         Disconnection fixes for erc
59535         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
59536         reconnect if the user has disconnected explicitly (bug#4589).
59538 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
59540         Further erc asynch fixes
59542         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
59543         erc-server-connect to return even if the connection is not
59544         ready.  Then erc-open and erc-server-reconnect do the
59545         same. (bug#5650).
59547 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
59549         Make erc connect asynchronously
59551         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
59552         reconnect asynchronously.
59554         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
59556 2015-12-27  David Edmondson  <dme@dme.org>
59558         Proxy error in erc with multiple clients
59560         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
59561         generated when multiple IRC clients talk to a single IRC proxy
59562         (bug#19034).
59564 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
59566         Fix mml-sec build warnings
59568         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
59569         (bug#18718).
59571 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
59573         (eww-setup-buffer): Restore left-to-right defaults
59575         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
59577 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
59579         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
59581 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
59583         Identify unsafe combinations of Bcc and encryption
59585         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
59586         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
59587         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
59589 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
59591         * shr.el (shr-descend): Allow using lambdas in external functions.
59593 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
59595         * admin/gitmerge.el: Tweaks that seemed necessary
59597         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
59598         (gitmerge-maybe-resume): Provide explicit empty commit message.
59600 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
59602         Use a different port for TLS erc
59604         * lisp/erc/erc.el (erc-default-port-tls): New variable
59605         (bug#19497).
59606         * lisp/erc/erc.el (erc-tls): Use it.
59608 2015-12-25  Alain Schneble  <a.s@realize.ch>
59610         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
59612         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
59613         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
59614         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
59615         information in URL-struct.
59616         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
59617         path and query into nil path and query, respectively.
59618         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
59619         empty path into an absolute ("/") path.
59620         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
59621         fragment-only URIs. Do not just return them unchanged.
59622         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
59623         reference URI should not drop the last segment.
59625 2015-12-25  Alain Schneble  <a.s@realize.ch>
59627         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
59629         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
59630         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
59631         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
59632         information in URL-struct.
59633         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
59634         path and query into nil path and query, respectively.
59635         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
59636         empty path into an absolute ("/") path.
59637         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
59638         fragment-only URIs. Do not just return them unchanged.
59639         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
59640         reference URI should not drop the last segment.
59642 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59644         Let url use default file modes when copying files
59646         * lisp/url/url-handlers.el (url-copy-file): Use default file
59647         modes when copying files (bug#11400).
59649 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
59651         Doc fix for url-http
59653         * lisp/url/url-http.el (url-http): Document better return values
59654           (bug#13187) (tiny change)
59656 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59658         * eww.el (eww-display-html): Support <button> tags (bug#20485).
59660 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59662         Made ffap-url-p a defun instead of a defsubst
59664         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
59665         since there doesn't seem to be much of a reason for it to be a
59666         defsubst (bug#18203).
59668 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59670         Add a command to view files in the browser to dired
59672         * lisp/dired.el (dired-mode-map): Add the `W' command
59673         (bug#18810).
59675 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59677         Allow http://user:pass@foo/ URLs again
59679         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
59680         user/passwords in URLs (bug#19046).
59682 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59684         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
59686 2015-12-25  Samer Masterson  <samer@samertm.com>
59688         Autoload url-insert-buffer-contents
59690         * lisp/url/url-handlers.el: Add autoload cookie so that
59691         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
59693 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59695         Allow toggling colors in eww
59697         * doc/misc/eww.texi (Basics): Mention "C".
59699         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
59701         * lisp/net/shr.el (shr-use-colors): New variable.
59702         (shr-colorize-region): Use it.
59704 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
59706         Follow meta refresh tags in eww
59708         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
59710 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59712         More eww file name coding fixes
59714         * eww.el (eww-decode-url-file-name): Use the base coding
59715         system to check for encodability.
59717 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59719         Always save eww history
59721         * eww.el (eww-setup-buffer): Always save history, even when
59722         called from outside the eww buffer (bug#19638).
59724 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59726         Default web pages to right-to-left
59728         * eww.el (eww-mode): Most web pages are left-to-right, so make
59729         that the default (bug#19801).
59731         * shr.el (shr-tag-html): Respect "dir" attributes
59732         (left-to-right, right-to-left).
59734 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59736         Make toggling checkboxes work again
59738         * eww.el (eww-update-field): Make toggling checkboxes work
59739         again (bug#21881).
59741 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59743         Don't store cookies with empty names
59745         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
59746         cookies with empty names (bug#21936).
59748 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59750         Stop rendering HTML before specdlr exhaustion
59752         Fixes: 22117
59754         * shr.el (shr-descend): Stop rendering before we run out of
59755         specpdl room (bug#22117).
59757 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59759         Use cl-reduce, not reduce.
59761 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59763         Allow several <tbody> tags in shr
59765         * shr.el (shr-table-body): New function to find the real body
59766         of a table.
59767         (shr-tag-table): Use it to render several <tbody> tags in a
59768         table (bug#22170).
59770 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59772         Make prettier unique file names in eww
59774         (eww-make-unique-file-name): Make unique file names by making
59775         files like foo(2).jpg instead of foo(1)(2).jpg.
59777 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59779         Decode hex-encoded URLs before using them as file names
59781         * eww.el (eww-decode-url-file-name): New function.
59782         (eww-download-callback): Use it to decode file names before
59783         saving them.
59785 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
59787         Add FreeBSD cert bundle
59789         * doc/misc/emacs-gnutls.texi (Help For Users): Document
59790         FreeBSD bundle.
59792         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
59794 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59796         Allow overriding shr functions from eww
59798         * eww.el (eww-display-html): Allow overriding elements in
59799         `shr-external-rendering-functions'.
59801 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59803         Ignore invalid SVG images
59805         * shr.el (shr-tag-svg): Ignore SVG images that have no width
59806         or height, because these can't be displayed by ImageMagick,
59807         anyway.
59809 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
59811         shr table rendering fix
59813         * shr.el (shr-tag-table): Allow rendering body-less tables
59814         that have headers.
59816 2015-12-22  Sam Steingold  <sds@gnu.org>
59818         clipboard should still work even if interprogram-* is disabled
59820         (clipboard-yank): When `interprogram-cut-function' is nil,
59821         bind it to `gui-selection-value' - the default value.
59822         (clipboard-kill-region, clipboard-kill-ring-save): When
59823         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
59824         the default value.
59826 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
59828         Fix bootstrap issue with dired-loaddefs
59830         * lisp/dired.el: Autoloads for secondary files loaded optionally.
59832 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59834         dired generate autoloads to non-versioned file.
59836         * lisp/dired.el: Remove autoloads.
59837         * lisp/Makefile.in: Add dired to autogenel.
59838         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
59839         * test/lisp/dired-tests.el: Add new test.
59841 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59843         eieio generate autoloads to non-versioned file.
59845         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
59846         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
59847           Remove autoloads.
59848         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
59849           lisp/emacs-lisp/eieio-opt.el: Update file local.
59850         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
59852 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59854         htmlfontify generate autoload to non-versioned file.
59856         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
59857         * lisp/hfy-cmap.el: Update file local.
59858         * lisp/htmlfontify.el: Remove autoloads, add require.
59859         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
59861 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59863         ibuffer generate autoloads to non-versioned file.
59865         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
59866         * lisp/ibuf-ext.el: Update file local.
59867         * lisp/ibuffer.el: Remove autoloads and add a require.
59868         * test/lisp/ibuffer-tests.el: Test that autoload is working.
59870 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59872         rmail generate autoloads to non-versioned file.
59874         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
59875         * lisp/mail/rmail.el: Remove autoloads, add require.
59876         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
59877         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
59878         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
59879         * lisp/mail/undigest.el: Update file-local.
59880         * test/lisp/mail/rmail-tests.el:
59882 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59884         Add autoload-force target.
59886         * lisp/Makefile.in (autoload-force): New target.
59888 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59890         ps-print generate autoloads to non versioned file.
59892         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
59893         * lisp/ps-print.el: Remove autoloads.
59894         * lisp/ps-mule.el: Update file-local.
59895         * test/lisp/ps-print-tests.el: Test autoload functionality.
59897 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
59899         reftex generate autoloads to non versioned file.
59901         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
59902         * lisp/textmodes/reftex.el: Remove autoloads.
59903         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
59904         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
59905         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
59906         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
59907         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
59908         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
59909           function.
59911 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
59913         * lisp/calculator.el (calculator-define-key): Undo last change
59915         Make map argument mandatory instead (bug#22106).
59916         (calculator-add-operators): Pass the argument that's not optional any more.
59918 2015-12-03  Glenn Morris  <rgm@gnu.org>
59920         * Makefile.in: Avoid duplication.
59922         (have-tests): New rule.
59923         (check, check-maybe): Use it.
59925 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
59927         make check unconditional, check-maybe top-level.
59929          * Makefile.in: Add check-maybe target.
59930          * test/Makefile.in: Restore unconditional behavior to make check.
59932 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
59934         Tests now support out-of-source-build.
59936          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
59937            about current working directory.
59939 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
59941         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
59943 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
59945         Improve documentation and clean up.
59947          * test/Makefile.in: Improve documentation, use EMACS variable
59948            correctly, and clean up makefile rules.
59950 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
59952         Update file headers for name change.
59954          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
59956 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
59958         Test files renamed to new scheme.
59960          * (finalizer-tests.el): Now renamed alloc-tests.el
59961          * (zlib-tests.el): Now renamed decompress-tests.el.
59963 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
59965         Tests now depend on source files
59967          * test/Makefile.in: Include dependences from tests to source files.
59968          * test/make-test-deps.emacs-lisp: New file
59969          * .gitignore: Ignore generated make include file
59971 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
59973         * lisp/progmodes/which-func.el: Improve disabling the mode
59975         Use lexical-binding.
59976         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
59977         (which-func, which-func-format): Remove redundant :group arg.
59978         (which-func-try-to-enable): New function.
59979         (which-func-ff-hook, which-function-mode): Use it.
59980         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
59981         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
59983 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
59985         * lisp/calculator.el (calculator-define-key): Silence warning
59987         ...about unknown calculator-mode-map.
59989 2015-11-29  Eli Barzilay  <eli@barzilay.org>
59991         * lisp/calculator.el: more improvements and bugfixes.
59993         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
59994           effect anyway.)
59996         - Simplify `calculator-number-to-string' by throwing most of the work
59997           onto `number-to-string', leaving just some tweaks for decimal inputs.
59998           This leads to some minor changes, for example, pasting "1x1" in hex
59999           mode would warn that "x" is ignored and result in "11" (and it wasn't
60000           done in decimal mode), whereas now it just ignores everything from the
60001           "x" and on and result in a "1" just like in decimal input mode.  Also,
60002           overflows are left for `number-to-string' to deal with.
60004         - `calculator-paste' is very simple as a result.
60006         - Extend the simplified `calculator-paste': with a prefix argument it
60007           pastes a string as if the characters were entered.  This can be used
60008           to reduce expressions, but note that it's a simple literal operation,
60009           so precedence can be messed, a number can be paster while entering a
60010           number, spaces and newlines matter, etc.
60012         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
60013           operator.
60015         - Fix a bug in `calculator-put-value': avoid grouping in the display
60016           that is used to construct `calculator-curnum'.  This would trigger
60017           when pasting or getting a value from a register in some radix mode
60018           with a large enough value.  Another fix: make the output radix equal
60019           the input one, otherwise numbers could be converted twice.
60021 2015-11-29  Eli Barzilay  <eli@barzilay.org>
60023         * lisp/calculator.el: Re-do key bindings.
60025         Use a helper function that arranges a parent keymap that binds alternate
60026         case keys so if some letter key is unbound and it's un/shifted version
60027         is, it will get used.  This makes the global-map trickery unnecessary.
60029         Also switch to passing strings that name keys through `kbd'.
60031 2015-11-29  Eli Barzilay  <eli@barzilay.org>
60033         * lisp/calculator.el: improve radix modes
60035         Fix prompt for some input radix with decimal output (eg, "BD" instead of
60036         the incorrect "B="); also, some minor docstring tweaks for these.
60038 2015-11-29  Eli Barzilay  <eli@barzilay.org>
60040         * lisp/calculator.el: better reading of register names
60042         Use `register-read-with-preview' with a dynamically bound
60043         `register-alist' and a proper preview function to read register names.
60045 2015-11-29  Eli Barzilay  <eli@barzilay.org>
60047         * lisp/calculator.el: General improvements
60049         Use things like `when', `unless', and `push'.
60051         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
60052         non-electric mode.
60054 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
60056         Fix a problem with gfilenotify in filenotify-tests.el
60058         * test/lisp/filenotify-tests.el
60059         (file-notify--test-expected-events): Remove.
60060         (file-notify--test-cleanup): Do not set that variable.
60061         (file-notify--test-with-events): EVENTS can also be a list of lists.
60062         (file-notify-test02-events, file-notify-test04-file-validity):
60063         Adapt expected result.
60065 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
60067         * .gitignore: Adjust to changes in 'test' directory structure.
60069 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
60071         Fix test/manual/etags/Makefile
60073         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
60074         changes in 'test' directory structure.
60076 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
60078         Exclude resource dirs from search for tests.
60080         * test/Makefile.in: Test file locations are now found with find
60081           rather than using finds native functions.
60083 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
60085         Add test targets without directory names.
60087          * (test/Makefile.in): Extend test_template to add two targets for each
60088            file.
60090 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
60092         * lisp/emacs-lisp/package.el: Require url-handlers
60094 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
60096         Move elisp-mode-tests to new function names.
60098          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
60099          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
60101 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
60103         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
60105 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
60107         Merge branch 'feature/standard-test-location'
60109 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
60111         * lisp/emacs-lisp/eieio.el: Add some default implementations
60113         (standard-class): Mark it obsolete.
60114         (slot-missing): Give it a default implementation.
60115         (destructor): Simplify and mark it obsolete.
60116         (object-print): Give it a default implementation.
60117         (eieio-change-class): Rename from change-class.
60118         (change-class): Redefine as obsolete alias.
60120 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60122         Mention kqueue in NEWS
60124 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60126         Merge from scratch/kqueue
60128         bec57a4 Some final fixes in file notification before merging with master
60129         0247489 Rework file notifications, kqueue has problems with directory monitors
60130         5154781 Continie with pending events
60131         6b490c0 Improve loops in file-notify-test06-many-events
60132         c8e266f Handle more complex rename operation in kqueue
60133         5044bdf New test with a larger number of events.
60134         65ba5a9 Further fixes for kqueue.
60135         13f3508 Code cleanup of kqueue.c
60136         99aa855 Doc changes for kqueue
60137         8deebe1 Finish implementation in kqueue.c
60138         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
60139         e95b309 More work on kqueue
60140         41d9bd0 Implement directory events
60141         c571fc1 Build fixes for kqueue support.
60142         e0a68f2 Continue kqueue implementation
60143         7543d1c Work on kqueue
60144         e3354e2 Add kqueue support
60145         c6457ce Minor fix to comment indentation and typo in last commit
60146         b92307f linum-mode plays more nicely with other margin-setting extensions
60147         58e6235 * lisp/image-mode.el: Support encrypted file
60148         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
60149         47f83b6 ; ChangeLog.2 fixes
60150         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
60151         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
60152         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
60153         70f1fda ; Auto-commit of ChangeLog files.
60154         ae0653b * CONTRIBUTE: Remove information about feature freeze.
60155         9459456 Merge branch 'release-process-lowercase'
60156         9a4aa0f Document the release process
60157         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
60158         dcd5877 gitmerge: Fix git log command
60159         2ac79ae gitmerge: Try to detect cherry-picks
60160         5f7a2a9 Increment Emacs version on master branch
60161         ed2e7e2 Mention CONTRIBUTE in README
60162         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
60163         138ad3d ; Fix warnings
60164         7126e9a ; Update xref-etags-mode for the latest change
60165         246d660 Use generic dispatch for xref backends
60166         31f6e93 Support rectangular regions for more commands
60167         f103a27 Handle multiple matches on the same line; add highlighting
60168         fe973fc Replace xref-match-bounds with xref-match-length
60169         92a5010 Merge from gnulib
60170         04ac097 Spruce up ftfont.c memory allocation
60171         4c4b520 Port recent XCB changes to 64-bit ‘long int’
60172         4f0ce9c * src/undo.c (run_undoable_change): Now static.
60173         695a6f9 Remove support for ':timeout' from w32 tray notifications
60174         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
60175         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
60176         66b9f7b * src/undo.c: Small fixes for previous change
60177         2fac30e Add a few more variables to redisplay--variables
60178         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
60179         e221d32 Fix point positioning after transposing with negative arg
60180         35f5afb Fix last change in shr.el
60181         508e77b Fix last change
60182         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
60183         805a39b Remove intern calls and XXX comments from Fx_export_frames
60184         9463abf shr: don't invoke unbound function (Bug#21895)
60185         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
60186         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
60187         39dbd1c : Tests for undo-auto functionality.
60188         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
60189         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'.
60190         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
60191         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
60192         1e363a8 Enable sorting of JSON object keys when encoding
60193         9dd7da9 * test/automated/keymap-tests.el: New test file
60194         aa17de9 Speed up x_real_pos_and_offsets using XCB
60195         a838c83 Enable use of XCB for checking window manager state
60196         c7f2b6a Detect XCB and save a connection handle
60197         e1c27db Reduce some data dependencies between X calls
60198         25e32bd Use color cache for creating bitmap
60199         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
60200         055ca3a Sync with soap-client repository, version 3.0.2
60201         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
60202         952395d * lisp/obarray.el: Fix shadowed variables
60203         436d330 Avoid error in submitting a form with EWW
60204         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
60205         51d840a Rename seq-p and map-p to seqp and mapp
60206         23036ba Rename obarray-p to obarrayp
60207         20aea42 Rename obarray-foreach to obarray-map
60208         a3b2101 New file with obarray functions.
60209         9d43941 Implement tray notifications for MS-Windows
60211 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60213         Some final fixes in file notification before merging with master
60215         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
60216         (file-notify-callback): Improve check for `stopped' event.  Call
60217         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
60218         (file-notify-add-watch): In case FILE is not a directory, call the
60219         file monitor for the kqueue backend.  Otherwise, call the
60220         directory monitor for the upper directory.
60222         * src/inotify.c (inotifyevent_to_event): Extract file name from
60223         watch_object if the event doesn't provide it.
60224         (Finotify_add_watch): Add file name to watch_object.
60226         * test/automated/file-notify-tests.el (file-notify--test-timeout):
60227         Use different timeouts for different libraries.
60228         (file-notify--test-with-events): Suppress lock files.  Flush
60229         outstanding events before running the body.
60230         (file-notify-test02-events, file-notify-test04-file-validity): Do
60231         not skip cygwin tests.  Add additional test for file creation.
60232         Adapt expected result for different backends.
60233         (file-notify-test03-autorevert): Some of the tests don't work for
60234         w32notify.
60235         (file-notify-test06-many-events): Rename into both directions.
60237 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60239         Rework file notifications, kqueue has problems with directory monitors
60241         * lisp/filenotify.el (file-notify-add-watch): Call the native
60242         add-watch function on the file, not on the dir.
60244         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
60245         about already deleted entries.
60247         * test/automated/auto-revert-tests.el
60248         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
60249         since this deletes the target file first.
60251         * test/automated/file-notify-tests.el (file-notify--test-event-test):
60252         Make stronger checks.
60253         (file-notify-test01-add-watch, file-notify-test02-events)
60254         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
60255         Rewrite in order to call file monitors but directory monitors.
60256         (file-notify-test06-many-events): Ler rename work in both directions.
60258 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60260         Continie with pending events
60262         * src/kqueue.c (pending_events): Remove global variable.
60263         (kqueue_compare_dir_list): Create `write' event for not used
60264         pending events.
60265         (globals_of_kqueue): Remove initialization of pending_events.
60267 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60269         Improve loops in file-notify-test06-many-events
60271         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
60272         Use `read-event' pauses for the `write-file' loops; otherwise
60273         events are lost in inotify and gfilenotify cases.
60275 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60277         Handle more complex rename operation in kqueue
60279         * src/kqueue.c (pending_events): New variable.
60280         (kqueue_compare_dir_list): Handle more complex rename operation.
60281         (globals_of_kqueue): Initialize pending_events.
60283         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
60284         Adapt expected events in the `rename-file' case.
60285         (file-notify-test06-many-events-remote): Declare.
60287 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
60289         New test with a larger number of events.
60291         * test/automated/file-notify-tests.el (file-notify--test-with-events):
60292         Make timeout heuristically depend on the number of events.
60294         (file-notify-test06-many-events): Use it for new test.
60296 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60298         Further fixes for kqueue.
60300         * lisp/filenotify.el (file-notify-callback): Raise also event if
60301         directory name matches.
60302         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
60304         * src/kqueue.c (kqueue_generate_event): Use watch_object as
60305         argument instead of ident.  Remove callback argument.  Adapt
60306         callees.  Check actions whether they are monitored flags.
60308         * test/automated/file-notify-tests.el (file-notify--test-library):
60309         New defun.
60310         (file-notify-test00-availability, file-notify-test02-events)
60311         (file-notify-test04-file-validity)
60312         (file-notify-test05-dir-validity): Use it.
60313         (file-notify-test02-events, file-notify-test04-file-validity): Add
60314         `read-event' calls between different file actions, in order to
60315         give the backends a chance to rais an event.  Needed especially
60316         for kqueue.  In case of deleting a directory, there are two
60317         `deleted' events.
60319 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60321         Code cleanup of kqueue.c
60323         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
60324         (kqueue_compare_dir_list): Do not loop when calling
60325         directory_files_internal.  Remove checks for "." and "..", this is
60326         done in kqueue_directory_listing now.
60327         (Fkqueue_add_watch): Check for proper emacs_open flags.
60329 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60331         Doc changes for kqueue
60333         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
60334         Fix some glitches in the example.
60336 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60338         Finish implementation in kqueue.c
60340         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
60341         Simplify access to list.
60342         (kqueue_compare_dir_list): Simplify access to list.  Raise
60343         `delete' event if directory does not exist any longer.  Otherwise,
60344         wait until directory contents has changed.  Fix error in check.
60346 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60348         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
60350 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60352         More work on kqueue
60354         * lisp/filenotify.el (file-notify-callback): Handle also the
60355         `rename' event from kqueue.
60356         (file-notify-add-watch): Do not register an entry twice.
60358         * src/kqueue.c (kqueue_directory_listing): New function.
60359         (kqueue_generate_event): New argument FILE1.  Adapt callees.
60360         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
60362 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60364         Implement directory events
60366         * lisp/filenotify.el (file-notify-handle-event)
60367         (file-notify-callback): Remove traces.
60369         * src/kqueue.c: Include <sys/time.h>.
60370         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
60371         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
60372         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
60373         Compute initial directory listing.  Close file descriptor in case
60374         of errors.
60375         (syms_of_kqueue): Declare Qcreate.
60377 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
60379         Build fixes for kqueue support.
60381         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
60382         flag.
60384         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
60385         kqueue on *BSD.
60387 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60389         Continue kqueue implementation
60391         * lisp/filenotify.el (file-notify-handle-event)
60392         (file-notify-callback): Enable trace messages.
60394         * src/kqueue.c: Include also <sys/types.h>.
60395         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
60396         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
60397         (syms_of_kqueue): Add them.
60399 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60401         Work on kqueue
60403         * lisp/filenotify.el (file-notify--library)
60404         (file-notify-descriptors, file-notify-callback)
60405         (file-notify-add-watch, file-notify-rm-watch)
60406         (file-notify-valid-p): Add kqueue support.
60408         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
60410 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60412         Add kqueue support
60414         * configure.ac (--with-file-notification): Add kqueue.
60415         (top): Remove special test for "${HAVE_NS}" and
60416         ${with_file_notification}, this is handled inside gfilenotify
60417         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
60418         instead of library specific variables.
60420         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
60422         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
60424         * src/kqueue.c: New file.
60426         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
60428 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
60430         Some final fixes in file notification before merging with master
60432         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
60433         (file-notify-callback): Improve check for `stopped' event.  Call
60434         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
60435         (file-notify-add-watch): In case FILE is not a directory, call the
60436         file monitor for the kqueue backend.  Otherwise, call the
60437         directory monitor for the upper directory.
60439         * src/inotify.c (inotifyevent_to_event): Extract file name from
60440         watch_object if the event doesn't provide it.
60441         (Finotify_add_watch): Add file name to watch_object.
60443         * test/automated/file-notify-tests.el (file-notify--test-timeout):
60444         Use different timeouts for different libraries.
60445         (file-notify--test-with-events): Suppress lock files.  Flush
60446         outstanding events before running the body.
60447         (file-notify-test02-events, file-notify-test04-file-validity): Do
60448         not skip cygwin tests.  Add additional test for file creation.
60449         Adapt expected result for different backends.
60450         (file-notify-test03-autorevert): Some of the tests don't work for
60451         w32notify.
60452         (file-notify-test06-many-events): Rename into both directions.
60454 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
60456         Update elisp-mode-tests for changed file location.
60458          * test/lisp/progmodes/elisp-mode-tests.el:
60460 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
60462         Exclude manual tests from Makefile
60464          * test/Makefile.in:
60466 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
60468         Move package test files to new directory.
60470          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
60471          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
60473 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
60475         Restore delete Makefiles and fix .gitignore.
60477          * .gitignore: Update Makefiles to changed locations
60478          * test/lisp/progmodes/flymake-resources/Makefile,
60479            test/manual/etags/Makefile,
60480            test/manual/etags/make-src/Makefile,
60481            test/manual/indent/Makefile: Restored and moved to new location.
60483 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
60485         Test infrastructure: updates after directory move
60487          * (test/Makefile.in): Support directories several levels deep.
60488          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
60489          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
60491 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
60493         Rename all test files to reflect source layout.
60495         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
60496         test directory moves.
60497         * test/file-organisation.org: New file.
60498         * test/automated/Makefile.in:
60499         * test/automated/data/decompress/foo.gz:
60500         * test/automated/data/epg/pubkey.asc:
60501         * test/automated/data/epg/seckey.asc:
60502         * test/automated/data/files-bug18141.el.gz:
60503         * test/automated/data/flymake/test.c:
60504         * test/automated/data/flymake/test.pl:
60505         * test/automated/data/package/archive-contents:
60506         * test/automated/data/package/key.pub:
60507         * test/automated/data/package/key.sec:
60508         * test/automated/data/package/multi-file-0.2.3.tar:
60509         * test/automated/data/package/multi-file-readme.txt:
60510         * test/automated/data/package/newer-versions/archive-contents:
60511         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
60512         * test/automated/data/package/newer-versions/simple-single-1.4.el:
60513         * test/automated/data/package/package-test-server.py:
60514         * test/automated/data/package/signed/archive-contents:
60515         * test/automated/data/package/signed/archive-contents.sig:
60516         * test/automated/data/package/signed/signed-bad-1.0.el:
60517         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
60518         * test/automated/data/package/signed/signed-good-1.0.el:
60519         * test/automated/data/package/signed/signed-good-1.0.el.sig:
60520         * test/automated/data/package/simple-depend-1.0.el:
60521         * test/automated/data/package/simple-single-1.3.el:
60522         * test/automated/data/package/simple-single-readme.txt:
60523         * test/automated/data/package/simple-two-depend-1.1.el:
60524         * test/automated/abbrev-tests.el:
60525         * test/automated/auto-revert-tests.el:
60526         * test/automated/calc-tests.el:
60527         * test/automated/icalendar-tests.el:
60528         * test/automated/character-fold-tests.el:
60529         * test/automated/comint-testsuite.el:
60530         * test/automated/descr-text-test.el:
60531         * test/automated/electric-tests.el:
60532         * test/automated/cl-generic-tests.el:
60533         * test/automated/cl-lib-tests.el:
60534         * test/automated/eieio-test-methodinvoke.el:
60535         * test/automated/eieio-test-persist.el:
60536         * test/automated/eieio-tests.el:
60537         * test/automated/ert-tests.el:
60538         * test/automated/ert-x-tests.el:
60539         * test/automated/generator-tests.el:
60540         * test/automated/let-alist.el:
60541         * test/automated/map-tests.el:
60542         * test/automated/advice-tests.el:
60543         * test/automated/package-test.el:
60544         * test/automated/pcase-tests.el:
60545         * test/automated/regexp-tests.el:
60546         * test/automated/seq-tests.el:
60547         * test/automated/subr-x-tests.el:
60548         * test/automated/tabulated-list-test.el:
60549         * test/automated/thunk-tests.el:
60550         * test/automated/timer-tests.el:
60551         * test/automated/epg-tests.el:
60552         * test/automated/eshell.el:
60553         * test/automated/faces-tests.el:
60554         * test/automated/file-notify-tests.el:
60555         * test/automated/auth-source-tests.el:
60556         * test/automated/gnus-tests.el:
60557         * test/automated/message-mode-tests.el:
60558         * test/automated/help-fns.el:
60559         * test/automated/imenu-test.el:
60560         * test/automated/info-xref.el:
60561         * test/automated/mule-util.el:
60562         * test/automated/isearch-tests.el:
60563         * test/automated/json-tests.el:
60564         * test/automated/bytecomp-tests.el:
60565         * test/automated/coding-tests.el:
60566         * test/automated/core-elisp-tests.el:
60567         * test/automated/decoder-tests.el:
60568         * test/automated/files.el:
60569         * test/automated/font-parse-tests.el:
60570         * test/automated/lexbind-tests.el:
60571         * test/automated/occur-tests.el:
60572         * test/automated/process-tests.el:
60573         * test/automated/syntax-tests.el:
60574         * test/automated/textprop-tests.el:
60575         * test/automated/undo-tests.el:
60576         * test/automated/man-tests.el:
60577         * test/automated/completion-tests.el:
60578         * test/automated/dbus-tests.el:
60579         * test/automated/newsticker-tests.el:
60580         * test/automated/sasl-scram-rfc-tests.el:
60581         * test/automated/tramp-tests.el:
60582         * test/automated/obarray-tests.el:
60583         * test/automated/compile-tests.el:
60584         * test/automated/elisp-mode-tests.el:
60585         * test/automated/f90.el:
60586         * test/automated/flymake-tests.el:
60587         * test/automated/python-tests.el:
60588         * test/automated/ruby-mode-tests.el:
60589         * test/automated/subword-tests.el:
60590         * test/automated/replace-tests.el:
60591         * test/automated/simple-test.el:
60592         * test/automated/sort-tests.el:
60593         * test/automated/subr-tests.el:
60594         * test/automated/reftex-tests.el:
60595         * test/automated/sgml-mode-tests.el:
60596         * test/automated/tildify-tests.el:
60597         * test/automated/thingatpt.el:
60598         * test/automated/url-future-tests.el:
60599         * test/automated/url-util-tests.el:
60600         * test/automated/add-log-tests.el:
60601         * test/automated/vc-bzr.el:
60602         * test/automated/vc-tests.el:
60603         * test/automated/xml-parse-tests.el:
60604         * test/BidiCharacterTest.txt:
60605         * test/biditest.el:
60606         * test/cedet/cedet-utests.el:
60607         * test/cedet/ede-tests.el:
60608         * test/cedet/semantic-ia-utest.el:
60609         * test/cedet/semantic-tests.el:
60610         * test/cedet/semantic-utest-c.el:
60611         * test/cedet/semantic-utest.el:
60612         * test/cedet/srecode-tests.el:
60613         * test/cedet/tests/test.c:
60614         * test/cedet/tests/test.el:
60615         * test/cedet/tests/test.make:
60616         * test/cedet/tests/testdoublens.cpp:
60617         * test/cedet/tests/testdoublens.hpp:
60618         * test/cedet/tests/testfriends.cpp:
60619         * test/cedet/tests/testjavacomp.java:
60620         * test/cedet/tests/testnsp.cpp:
60621         * test/cedet/tests/testpolymorph.cpp:
60622         * test/cedet/tests/testspp.c:
60623         * test/cedet/tests/testsppcomplete.c:
60624         * test/cedet/tests/testsppreplace.c:
60625         * test/cedet/tests/testsppreplaced.c:
60626         * test/cedet/tests/testsubclass.cpp:
60627         * test/cedet/tests/testsubclass.hh:
60628         * test/cedet/tests/testtypedefs.cpp:
60629         * test/cedet/tests/testvarnames.c:
60630         * test/etags/CTAGS.good:
60631         * test/etags/ETAGS.good_1:
60632         * test/etags/ETAGS.good_2:
60633         * test/etags/ETAGS.good_3:
60634         * test/etags/ETAGS.good_4:
60635         * test/etags/ETAGS.good_5:
60636         * test/etags/ETAGS.good_6:
60637         * test/etags/a-src/empty.zz:
60638         * test/etags/a-src/empty.zz.gz:
60639         * test/etags/ada-src/2ataspri.adb:
60640         * test/etags/ada-src/2ataspri.ads:
60641         * test/etags/ada-src/etags-test-for.ada:
60642         * test/etags/ada-src/waroquiers.ada:
60643         * test/etags/c-src/a/b/b.c:
60644         * test/etags/c-src/abbrev.c:
60645         * test/etags/c-src/c.c:
60646         * test/etags/c-src/dostorture.c:
60647         * test/etags/c-src/emacs/src/gmalloc.c:
60648         * test/etags/c-src/emacs/src/keyboard.c:
60649         * test/etags/c-src/emacs/src/lisp.h:
60650         * test/etags/c-src/emacs/src/regex.h:
60651         * test/etags/c-src/etags.c:
60652         * test/etags/c-src/exit.c:
60653         * test/etags/c-src/exit.strange_suffix:
60654         * test/etags/c-src/fail.c:
60655         * test/etags/c-src/getopt.h:
60656         * test/etags/c-src/h.h:
60657         * test/etags/c-src/machsyscalls.c:
60658         * test/etags/c-src/machsyscalls.h:
60659         * test/etags/c-src/sysdep.h:
60660         * test/etags/c-src/tab.c:
60661         * test/etags/c-src/torture.c:
60662         * test/etags/cp-src/MDiagArray2.h:
60663         * test/etags/cp-src/Range.h:
60664         * test/etags/cp-src/burton.cpp:
60665         * test/etags/cp-src/c.C:
60666         * test/etags/cp-src/clheir.cpp.gz:
60667         * test/etags/cp-src/clheir.hpp:
60668         * test/etags/cp-src/conway.cpp:
60669         * test/etags/cp-src/conway.hpp:
60670         * test/etags/cp-src/fail.C:
60671         * test/etags/cp-src/functions.cpp:
60672         * test/etags/cp-src/screen.cpp:
60673         * test/etags/cp-src/screen.hpp:
60674         * test/etags/cp-src/x.cc:
60675         * test/etags/el-src/TAGTEST.EL:
60676         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
60677         * test/etags/erl-src/gs_dialog.erl:
60678         * test/etags/f-src/entry.for:
60679         * test/etags/f-src/entry.strange.gz:
60680         * test/etags/f-src/entry.strange_suffix:
60681         * test/etags/forth-src/test-forth.fth:
60682         * test/etags/html-src/algrthms.html:
60683         * test/etags/html-src/index.shtml:
60684         * test/etags/html-src/software.html:
60685         * test/etags/html-src/softwarelibero.html:
60686         * test/etags/lua-src/allegro.lua:
60687         * test/etags/objc-src/PackInsp.h:
60688         * test/etags/objc-src/PackInsp.m:
60689         * test/etags/objc-src/Subprocess.h:
60690         * test/etags/objc-src/Subprocess.m:
60691         * test/etags/objcpp-src/SimpleCalc.H:
60692         * test/etags/objcpp-src/SimpleCalc.M:
60693         * test/etags/pas-src/common.pas:
60694         * test/etags/perl-src/htlmify-cystic:
60695         * test/etags/perl-src/kai-test.pl:
60696         * test/etags/perl-src/yagrip.pl:
60697         * test/etags/php-src/lce_functions.php:
60698         * test/etags/php-src/ptest.php:
60699         * test/etags/php-src/sendmail.php:
60700         * test/etags/prol-src/natded.prolog:
60701         * test/etags/prol-src/ordsets.prolog:
60702         * test/etags/ps-src/rfc1245.ps:
60703         * test/etags/pyt-src/server.py:
60704         * test/etags/tex-src/gzip.texi:
60705         * test/etags/tex-src/nonewline.tex:
60706         * test/etags/tex-src/testenv.tex:
60707         * test/etags/tex-src/texinfo.tex:
60708         * test/etags/y-src/atest.y:
60709         * test/etags/y-src/cccp.c:
60710         * test/etags/y-src/cccp.y:
60711         * test/etags/y-src/parse.c:
60712         * test/etags/y-src/parse.y:
60713         * test/indent/css-mode.css:
60714         * test/indent/js-indent-init-dynamic.js:
60715         * test/indent/js-indent-init-t.js:
60716         * test/indent/js-jsx.js:
60717         * test/indent/js.js:
60718         * test/indent/latex-mode.tex:
60719         * test/indent/modula2.mod:
60720         * test/indent/nxml.xml:
60721         * test/indent/octave.m:
60722         * test/indent/pascal.pas:
60723         * test/indent/perl.perl:
60724         * test/indent/prolog.prolog:
60725         * test/indent/ps-mode.ps:
60726         * test/indent/ruby.rb:
60727         * test/indent/scheme.scm:
60728         * test/indent/scss-mode.scss:
60729         * test/indent/sgml-mode-attribute.html:
60730         * test/indent/shell.rc:
60731         * test/indent/shell.sh:
60732         * test/redisplay-testsuite.el:
60733         * test/rmailmm.el:
60734         * test/automated/buffer-tests.el:
60735         * test/automated/cmds-tests.el:
60736         * test/automated/data-tests.el:
60737         * test/automated/finalizer-tests.el:
60738         * test/automated/fns-tests.el:
60739         * test/automated/inotify-test.el:
60740         * test/automated/keymap-tests.el:
60741         * test/automated/print-tests.el:
60742         * test/automated/libxml-tests.el:
60743         * test/automated/zlib-tests.el: Files Moved.
60745 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
60747         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
60749         * lisp/progmodes/verilog-mode.el
60750         (verilog-save-font-no-change-functions): Commentary and fix
60751         pre-Emacs 21 behavior.
60753 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
60755         Rework file notifications, kqueue has problems with directory monitors
60757         * lisp/filenotify.el (file-notify-add-watch): Call the native
60758         add-watch function on the file, not on the dir.
60760         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
60761         about already deleted entries.
60763         * test/automated/auto-revert-tests.el
60764         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
60765         since this deletes the target file first.
60767         * test/automated/file-notify-tests.el (file-notify--test-event-test):
60768         Make stronger checks.
60769         (file-notify-test01-add-watch, file-notify-test02-events)
60770         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
60771         Rewrite in order to call file monitors but directory monitors.
60772         (file-notify-test06-many-events): Ler rename work in both directions.
60774 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
60776         Use obarray functions from obarray.
60778         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
60779           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
60780           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
60781           delegate to obarray.el functions.
60782         * lisp/loadup.el: load obarray before abbrev
60783         * test/automated/abbrev-tests.el: new tests
60785 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
60787         Continie with pending events
60789         * src/kqueue.c (pending_events): Remove global variable.
60790         (kqueue_compare_dir_list): Create `write' event for not used
60791         pending events.
60792         (globals_of_kqueue): Remove initialization of pending_events.
60794 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
60796         Improve loops in file-notify-test06-many-events
60798         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
60799         Use `read-event' pauses for the `write-file' loops; otherwise
60800         events are lost in inotify and gfilenotify cases.
60802 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
60804         Handle more complex rename operation in kqueue
60806         * src/kqueue.c (pending_events): New variable.
60807         (kqueue_compare_dir_list): Handle more complex rename operation.
60808         (globals_of_kqueue): Initialize pending_events.
60810         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
60811         Adapt expected events in the `rename-file' case.
60812         (file-notify-test06-many-events-remote): Declare.
60814 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
60816         epa.el: Add option to replace original text
60818         * lisp/epa.el (epa-replace-original-text): New user option.
60819         (Bug#21947)
60821 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
60823         Add interactive seek command.
60825         * lisp/mpc.el (mpc-cmd-seekcur): New function.
60826         (mpc-seek-current): New command.
60827         (mpc-mode-menu): Add entry for mpc-seek-current
60828         (mpc-mode-map): Bind mpc-seek-current to "g"
60830 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
60832         Fix issue where a new tempfile was created every refresh
60834         * lisp/mpc.el (mpc-format): Leave dir as relative path
60836 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
60838         New test with a larger number of events.
60840         * test/automated/file-notify-tests.el (file-notify--test-with-events):
60841         Make timeout heuristically depend on the number of events.
60843         (file-notify-test06-many-events): Use it for new test.
60845 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
60847         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
60849         (c-save-buffer-state): Use with-silent-modifications when available.
60850         (c--macroexpand-all): Check macroexpand-all directly rather than
60851         c--mapcan-status.
60853 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
60855         * lisp/loadup.el: Set max-lisp-eval-depth here
60857         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
60858         (BYTE_COMPILE_FLAGS): Adjust accordingly.
60860 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
60862         Further fixes for kqueue.
60864         * lisp/filenotify.el (file-notify-callback): Raise also event if
60865         directory name matches.
60866         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
60868         * src/kqueue.c (kqueue_generate_event): Use watch_object as
60869         argument instead of ident.  Remove callback argument.  Adapt
60870         callees.  Check actions whether they are monitored flags.
60872         * test/automated/file-notify-tests.el (file-notify--test-library):
60873         New defun.
60874         (file-notify-test00-availability, file-notify-test02-events)
60875         (file-notify-test04-file-validity)
60876         (file-notify-test05-dir-validity): Use it.
60877         (file-notify-test02-events, file-notify-test04-file-validity): Add
60878         `read-event' calls between different file actions, in order to
60879         give the backends a chance to rais an event.  Needed especially
60880         for kqueue.  In case of deleting a directory, there are two
60881         `deleted' events.
60883 2015-11-17  João Távora  <joaotavora@gmail.com>
60885         Minor fix to comment indentation and typo in last commit
60887         * lisp/linum.el (linum-update-window): Fix comment indentation and
60888         a typo.
60890 2015-11-17  João Távora  <joaotavora@gmail.com>
60892         linum-mode plays more nicely with other margin-setting extensions
60894         linum.el will only modify the left margin if it needs to, and will
60895         only reset the it back to 0 if it guesses that no-one has touched that
60896         margin in the meantime.
60898         As such, this is a more of a workaround than an actual fix, but fixes
60899         the problems described in bug#20674 regarding the interaction with
60900         modes such as darkroom-mode and olivetti-mode.
60902         A similar fix was commited to nlinum.el in ELPA.git's
60903         e7f5f549fbfb740b911fb7f33b42381ecece56d8
60905         * lisp/linum.el (linum-delete-overlays): Restore margins more
60906         criteriously.
60907         (linum-update-window): Set margins more criteriously.
60909 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
60911         Code cleanup of kqueue.c
60913         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
60914         (kqueue_compare_dir_list): Do not loop when calling
60915         directory_files_internal.  Remove checks for "." and "..", this is
60916         done in kqueue_directory_listing now.
60917         (Fkqueue_add_watch): Check for proper emacs_open flags.
60919 2015-11-16  Daiki Ueno  <ueno@gnu.org>
60921         * lisp/image-mode.el: Support encrypted file
60923         (image-toggle-display-image): Read content from the buffer instead
60924         of the file, if the buffer holds a decrypted data.  (Bug#21870)
60926 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
60928         Doc changes for kqueue
60930         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
60931         Fix some glitches in the example.
60933 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
60935         Finish implementation in kqueue.c
60937         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
60938         Simplify access to list.
60939         (kqueue_compare_dir_list): Simplify access to list.  Raise
60940         `delete' event if directory does not exist any longer.  Otherwise,
60941         wait until directory contents has changed.  Fix error in check.
60943 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
60945         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
60947 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
60949         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
60951 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
60953         * lisp/emacs-lisp/package.el: Fix a decoding issue
60955         (package--with-response-buffer): Use `url-insert-buffer-contents'.
60956         The previous code had some issues with decoding. Refactoring that
60957         function allows us to use the decoding from url-handlers while still
60958         treating both sync and async requests the same.
60960         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
60961         `url-insert-buffer-contents'.
60962         (url-insert-buffer-contents): New function
60964 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
60966         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
60968         (package--with-work-buffer-async): Reimplement as
60969         `package--with-response-buffer'.
60970         (package--with-work-buffer): Mark obsolete.
60971         (package--with-response-buffer): New macro. This is a more self
60972         contained and less contrived version of
60973         `package--with-work-buffer-async'.  It uses keyword arguments,
60974         doesn't have async on the name, doesn't fallback on
60975         `package--with-work-buffer', and has _much_ simpler error
60976         handling.
60978         (package--check-signature, package--download-one-archive)
60979         (package-install-from-archive, describe-package-1): Use it.
60981         (package--download-and-read-archives): Let
60982         `package--download-one-archive' take care of calling
60983         `package--update-downloads-in-progress'.
60985 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
60987         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
60989         (verilog-save-buffer-state): Use with-silent-modifications when available.
60990         (verilog-save-font-no-change-functions): Don't bind
60991         before/after-change-functions if it's not needed.
60993 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
60995         More work on kqueue
60997         * lisp/filenotify.el (file-notify-callback): Handle also the
60998         `rename' event from kqueue.
60999         (file-notify-add-watch): Do not register an entry twice.
61001         * src/kqueue.c (kqueue_directory_listing): New function.
61002         (kqueue_generate_event): New argument FILE1.  Adapt callees.
61003         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
61005 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
61007         * CONTRIBUTE: Remove information about feature freeze.
61009         Merge branch 'release-process-lowercase'
61011 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
61013         Document the release process
61015         * admin/notes/versioning: Add information about RC releases.
61016         * admin/release-process: Document the release process.
61017         * admin/authors.el (authors-ignored-files):
61018         * admin/README: Change FOR-RELEASE to release-process.
61019         * CONTRIBUTE:
61020         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
61022 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
61024         * admin/release-process: Rename from admin/FOR-RELEASE.
61026 2015-11-14  David Engster  <deng@randomsample.de>
61028         gitmerge: Fix git log command
61030         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
61031         only want commits from the branch that is to be merged.
61032         (gitmerge-setup-log-buffer): Use the same symmetric range as in
61033         `gitmerge-missing'.
61035 2015-11-14  David Engster  <deng@randomsample.de>
61037         gitmerge: Try to detect cherry-picks
61039         * admin/gitmerge.el (gitmerge-default-branch): Change to
61040         origin/emacs-25.
61041         (gitmerge-missing): Use symmetric difference ('...') between
61042         branch and master so that cherry-picks can be detected.
61044 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
61046         Implement directory events
61048         * lisp/filenotify.el (file-notify-handle-event)
61049         (file-notify-callback): Remove traces.
61051         * src/kqueue.c: Include <sys/time.h>.
61052         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
61053         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
61054         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
61055         Compute initial directory listing.  Close file descriptor in case
61056         of errors.
61057         (syms_of_kqueue): Declare Qcreate.
61059 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
61061         Increment Emacs version on master branch
61063         * lisp/cus-edit.el (customize-changed-options-previous-release):
61064         Increase previous version to 24.5.
61066         * configure.ac:
61067         * msdos/sed2v2.inp: Bump version to 25.1.50.
61069 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
61071         Mention CONTRIBUTE in README
61073         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
61074         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
61075         * README: Mention CONTRIBUTE.
61077 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
61079         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
61081         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
61082         (verilog-modi-cache-results, verilog-save-buffer-state)
61083         (verilog-save-font-no-change-functions): When internally suppressing change
61084         functions, use `inhibit-modification-hooks' and call
61085         `after-change-funtions' to more nicely work with user hooks.  Reported by
61086         Stefan Monnier.
61088         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
61089         Create `verilog-delete-auto-buffer' to avoid double-calling
61090         fontification hooks.
61092         (verilog-restore-buffer-modified-p, verilog-auto)
61093         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
61094         set-buffer-modified-p. Reported by Stefan Monnier.
61096         (verilog-diff-auto, verilog-diff-buffers-p)
61097         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
61099         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
61100         AUTOINST with unpacked dimensional parameters, bug981. Reported by
61101         by Amol Nagapurkar.
61103         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
61104         properties inside internal structures. No functional change
61105         intended.
61107 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
61109         Build fixes for kqueue support.
61111         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
61112         flag.
61114         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
61115         kqueue on *BSD.
61117 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
61119         Continue kqueue implementation
61121         * lisp/filenotify.el (file-notify-handle-event)
61122         (file-notify-callback): Enable trace messages.
61124         * src/kqueue.c: Include also <sys/types.h>.
61125         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
61126         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
61127         (syms_of_kqueue): Add them.
61129 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
61131         Work on kqueue
61133         * lisp/filenotify.el (file-notify--library)
61134         (file-notify-descriptors, file-notify-callback)
61135         (file-notify-add-watch, file-notify-rm-watch)
61136         (file-notify-valid-p): Add kqueue support.
61138         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
61140 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
61142         Add kqueue support
61144         * configure.ac (--with-file-notification): Add kqueue.
61145         (top): Remove special test for "${HAVE_NS}" and
61146         ${with_file_notification}, this is handled inside gfilenotify
61147         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
61148         instead of library specific variables.
61150         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
61152         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
61154         * src/kqueue.c: New file.
61156         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
61158 This file records repository revisions from
61159 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
61160 commit f205928d1f93f4373d755ca91805a88e022ac414 (inclusive).
61161 See ChangeLog.1 for earlier changes.
61163 ;; Local Variables:
61164 ;; coding: utf-8
61165 ;; End:
61167   Copyright (C) 2015-2018 Free Software Foundation, Inc.
61169   This file is part of GNU Emacs.
61171   GNU Emacs is free software: you can redistribute it and/or modify
61172   it under the terms of the GNU General Public License as published by
61173   the Free Software Foundation, either version 3 of the License, or
61174   (at your option) any later version.
61176   GNU Emacs is distributed in the hope that it will be useful,
61177   but WITHOUT ANY WARRANTY; without even the implied warranty of
61178   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
61179   GNU General Public License for more details.
61181   You should have received a copy of the GNU General Public License
61182   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.