Reuse rgrep mechanics in xref-find-regexp
[emacs.git] / ChangeLog.2
blob115ccda07b2f400a14eb313849c12ac7b6e08d8c
1 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3         Make sure there's no explicit tag name
4         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
5         there's no explicit tag name (bug#20629).
7 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
9         Remove format2
10         * src/editfns.c, src/lisp.h (format2): Remove.
11         It is more trouble than it's worth, now that we have CALLN.
12         This is just a minor refactoring.
13         * src/buffer.c (Fkill_buffer):
14         * src/dbusbind.c (XD_OBJECT_TO_STRING):
15         * src/fileio.c (barf_or_query_if_file_exists):
16         Adjust to format2 going away.
18         Don't misencode C-generated messages
19         Also, be more consistent about calls to 'Fmessage' vs 'message'.
20         * src/alloc.c (Fgc_status):
21         Prefer AUTO_STRING to build_string for Fmessage call.
22         * src/data.c (Fmake_variable_buffer_local)
23         (Fmake_local_variable, Fmake_variable_frame_local):
24         * src/doc.c (store_function_docstring):
25         Use Fmessage, not message, since the argument can contain
26         non-ASCII characters, and this can cause the resulting message
27         to be incorrectly encoded for the current environment.
28         * src/fns.c (maybe_resize_hash_table):
29         * src/xselect.c (x_clipboard_manager_save_all):
30         Use message, not Fmessage, since Fmessage's power isn't needed here.
31         * src/process.c (Fmake_network_process): Reword message to avoid %s.
32         * src/xdisp.c (vmessage): Document restrictions on message contents.
33         (message_nolog) [false]: Remove unused code.
35         Use \r rather than ^M in string literals
36         This is less likely to cause problems on platforms that
37         use CRLF (or CR!) termination for lines.
39         Update .gitattributes to match current sources
40         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
41         * .gitattributes: Accommodate tests that insist on DOS format.
42         Remove test/automated/data/decompress/foo-gzipped.
43         Add etc/e/eterm-color.
45 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
47         Document 'face-ignored-fonts'
48         * doc/emacs/mule.texi (Modifying Fontsets): Document
49         face-ignored-fonts.  (Bug#20628)
51         Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
53         Add etags test for the new -Q option
54         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
55         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
56         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
57         test-case changes below.
58         * test/etags/ETAGS.good_6: New file.
59         * test/etags/cp-src/x.cc: New file.
60         * test/etags/Makefile (CPSRC): Add x.cc.
61         (check): Add one more test, for -Q.
63 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
65         Use list for the tags completion table, not obarray
66         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
67         list instead of an obarray
68         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
69         (tags-completion-table): Combine those lists.
70         (tags-completion-table): Update the docstring.
72 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
74         Restore EOL format testing in etags
75         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
76         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
77         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
78         test-case changes below.
79         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
80         * test/etags/cp-src/c.C (B): Add back stray CR character.
81         * test/etags/c-src/dostorture.c: Add back.
82         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
84 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
86         Declare Emacs on MS-Windows to be DPI-aware
87         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
88         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
89         This avoids Windows entering compatibility mode for Emacs,
90         which causes fonts to look less nice.
92 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
94         Improve Tramp traces.
95         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
96         * lisp/net/tramp.el (tramp-debug-message): Use it.
98 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
100         backup-buffer minor reworking of internals
101         * lisp/files.el (backup-buffer): Rework to avoid a couple of
102         unused locals inadvertently introduced in the previous change.
104         backup-buffer now reports .emacs.d/%backup% ills
105         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
106         fails due to disk space exhaustion or whatever, do not pretend
107         that it succeeded.  More generally, do a better job of checking
108         for I/O failures, and limit the scope of the condition-case to
109         just the operations where file errors should be caught and ignored
110         (Bug#20595).  Also, don't bother trying to delete later backups if
111         an earlier deletion fails, as this is a sign of trouble and it's
112         better to stop when there's trouble.
114         copy-file now truncates output after writing
115         * src/fileio.c (Fcopy_file): Truncate output after writing rather
116         than before.  This is more likely to work than truncation before
117         writing, if the file system is out of space or the user is over
118         disk quota (Bug#20595).  Also, check for read errors.
120 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
122         * lisp/emacs-lisp/package.el: Don't load from parent dir
123         (package-load-all-descriptors): Don't load descriptors from
124         directories above the package directories.
126 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
128         Merge from gnulib
129         This incorporates the following (Bug#20681):
130         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
131         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
132         * lib/set-permissions.c: Copy from gnulib.
134 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
136         Improve Tramp traces.
137         * lisp/net/tramp.el (tramp-call-process-region): New defun.
138         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
140 2015-05-29  Glenn Morris  <rgm@gnu.org>
142         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
144 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
146         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
147         The signature was changed in the cairo branch, merged on 2015-05-23.
148         This oversight broke compiling only the non-toolkit X version.
150 2015-05-29  Samer Masterson  <samer@samertm.com>
152         * doc/lispref/os.texi: Update initial-buffer-choice docs.
154 2015-05-29  Glenn Morris  <rgm@gnu.org>
156         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
157         Mark as an expected failure.
159 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
161         Change package test to look for curved quotes
162         * test/automated/package-test.el (package-test-describe-package)
163         (package-test-signed): Search for curved single quotes as well as
164         for grave accent and apostrophe.
166 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
168         gnus-art.el: Re-revert last change
169         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
170         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
172 2015-05-28  Samer Masterson  <samer@samertm.com>
174         Show files when `initial-buffer-choice' is non-nil
175         * startup.el (command-line-1): When Emacs is given a file as an
176         argument and `initial-buffer-choice' is non-nil, display both the file
177         and `initial-buffer-choice'.  For more than one file, show
178         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
179         commands out of the command line arg parser.
180         (initial-buffer-choice): Clarify docstring.
182 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
184         Fix last commit
185         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
186         (gnulib module qcopy-acl): Add back, as it is harmless.  This
187         minimizes differences wrt lib/gnulib.mk.
189         Fix the MS-Windows build as followup to gnulib update
190         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
191         set-permissions.c, as they don't compile on MinGW.
192         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
194 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
196         Revert my change to gnus-art.el
197         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
198         It wasn't that important, and it caused a Gnus build to fail.  See:
199         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
201         New minor mode Electric Quote
202         This lets you easily insert quotes ‘like this’ by typing
203         quotes `like this', and similarly you can easily insert
204         quotes “like this” by typing quotes ``like this'' (Bug#20545).
205         * doc/emacs/basic.texi (Inserting Text):
206         * doc/emacs/modes.texi (Minor Modes):
207         * etc/NEWS: Document it.
208         * doc/emacs/text.texi (Quotation Marks): New section.
209         * lisp/electric.el (electric-quote-comment)
210         (electric-quote-string, electric-quote-paragraph):
211         New custom vars.
212         (electric--insertable-p)
213         (electric-quote-post-self-insert-function): New functions.
214         (electric-quote-mode, electric-quote-local-mode): New minor modes.
215         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
216         Add curved single quotes to electric-pair-text-pairs.
217         Set electric-quote-string in this buffer.
219         A few more doc string fixes (Bug#20385)
221         Accept curved quotes in doc strings
222         * lisp/info-look.el (info-lookup-guess-custom-symbol):
223         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
225         Generate curved quotes in pseudo-info nodes
226         * lisp/info.el (Info-virtual-index-find-node)
227         (Info-virtual-index, Info-apropos-find-node, info-apropos):
228         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
230         Fix minor quoting problems in doc strings
231         Most of these fixes involve escaping grave accents that are
232         actually intended to be grave accents, not left quotes.
233         (Bug#20385)
235         Support curved quotes in doc strings
236         Emacs's traditional doc string style has been to quote symbols
237         `like this'.  This worked well on now-obsolete terminals where
238         ` and ' were symmetric quotes, but nowadays curved quotes
239         ‘like this’ look better.  Support quoting the new way too.
240         (Bug#20385)
241         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
242         ‘like-this’ as well as `like-this'.
243         * etc/NEWS: Mention this.
244         * lisp/cedet/mode-local.el (overload-docstring-extension)
245         (mode-local-print-binding, mode-local-describe-bindings-2):
246         * lisp/cus-theme.el (describe-theme-1):
247         * lisp/descr-text.el (describe-text-properties-1, describe-char):
248         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
249         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
250         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
251         (eieio-help-constructor):
252         * lisp/emacs-lisp/package.el (describe-package-1):
253         * lisp/faces.el (describe-face):
254         * lisp/help-fns.el (help-fns--key-bindings)
255         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
256         (help-fns--interactive-only, describe-function-1):
257         (describe-variable):
258         * lisp/help.el (describe-mode):
259         * lisp/international/mule-cmds.el (describe-input-method)
260         (describe-language-environment):
261         * lisp/international/mule-diag.el (describe-character-set)
262         (print-coding-system-briefly, list-input-methods)
263         (list-input-methods-1):
264         Insert curved quotes rather than grave accent and apostrophe.
265         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
266         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
267         (checkdoc-proper-noun-region-engine):
268         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
269         (lisp-cl-font-lock-keywords-2):
270         * lisp/finder.el (finder-font-lock-keywords):
271         * lisp/gnus/gnus-art.el (gnus-button-alist):
272         * lisp/help-fns.el (help-do-arg-highlight)
273         (describe-function-1, describe-variable):
274         * lisp/help-mode.el (help-xref-symbol-regexp)
275         (help-xref-info-regexp, help-xref-url-regexp):
276         * lisp/help.el (describe-mode):
277         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
278         * lisp/wid-edit.el (widget-documentation-link-regexp):
279         Parse symbols quoted ‘like-this’ as well as `like-this'.
280         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
281         Add "‘" and "’" to electric-pair-text-pairs.
282         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
283         (elisp-completion-at-point, elisp--preceding-sexp):
284         Also treat "‘" and "’" as quoting chars.
286         substitute-command-keys now curves quotes
287         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
288         * doc/lispref/help.texi (Keys in Documentation):
289         * etc/NEWS: Document this.
290         * src/doc.c (Fsubstitute_command_keys): Implement it.
292 2015-05-28  Glenn Morris  <rgm@gnu.org>
294         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
295         (rmail-summary-by-topic, rmail-summary-by-senders):
296         No longer strip leading/trailing whitespace.
298         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
299         (f90-no-block-limit): Add "enum".  (Bug#20680)
300         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
301         New tests.
303 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
305         * lisp/isearch.el (isearch--current-buffer): Give a default value.
307         Un-revert changes mistakenly dropped by f9fabb2b
309 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
311         Merge from gnulib
312         This incorporates:
313         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
314         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
315         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
316         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
317         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
318         2015-05-26 stdio: fix probe on mingw under gcc 5.1
319         * admin/merge-gnulib (GNULIB_MODULES):
320         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
321         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
322         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
323         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
324         Get latest versions from gnulib.
325         * lib/get-permissions.c, lib/set-permissions.c: New files.
326         * lib/gnulib.mk, m4/gnulib-comp.m4:
327         Regenerate.
328         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
330 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
332         Delete the old process in vc-setup-buffer
333         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
334         process here.
335         (vc-do-command): Rather than here (bug#20608).
337 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
339         Avoid gratuitous delete-dups in face-at-point.
340         * lisp/faces.el (face-at-point): Do not compute the properly
341         ordered, duplicate-free list if only a single value is
342         requested anyway.  (Bug#20519)
344         Show the exact C-x 8 RET invocation in describe-char.
345         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
346         invocation instead of a template.  (Bug#20522)
348 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
350         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
351         (package-menu--post-refresh): Call `tabulated-list-print' with the
352         UPDATE argument.  This only affects the refresh action, the revert
353         action still erases tags.
354         (package-menu-get-status): Change `assq' to `assoc'.
355         (package-menu--mark-upgrades-1): New function.
356         (package-menu--mark-upgrades-pending): New variable.
357         (package-menu-mark-upgrades): Use them to delay marking until
358         after refresh is done.
359         (package-menu--post-refresh): Call mark-upgrades-1 if
360         mark-upgrades-pending is non-nil.
362 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
364         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
365         Conflicts:
366                 lisp/net/tramp.el
368         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
370 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
372         Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
374 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
376         * lisp/isearch.el (isearch--current-buffer): New var
377         (isearch-update): Set cursor-sensor-inhibit here.
378         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
380         Change inhibit-point-motion-hooks to t
381         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
382         to t and document it as obsolete.
384 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
386         Support ZIP files that use Zip64 extensions
387         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
388         format of central directory offsets used by Zip64 extensions.
389         (Bug#20665)
391 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
393         New test tramp-test30-make-auto-save-file-name
394         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
395         (tramp-test31-special-characters)
396         (tramp-test31-special-characters-with-stat)
397         (tramp-test31-special-characters-with-perl)
398         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
399         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
400         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
401         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
403         Improve tramp-handle-make-auto-save-file-name
404         * tramp.el (tramp-auto-save-directory): Add :tags.
405         (tramp-handle-make-auto-save-file-name): Let native
406         `make-auto-save-file-name' use `auto-save-file-name-transforms',
407         if `tramp-auto-save-directory' is not set.
409 2015-05-27  Glenn Morris  <rgm@gnu.org>
411         No longer set dired-directory in eshell.  (Bug#16477)
412         * lisp/eshell/esh-mode.el (eshell-mode):
413         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
415         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
417         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
418         * lisp/progmodes/cc-mode.el (c-mode-help-address):
419         Change to submit@debbugs.
420         (c-mode-bug-package): New constant.
421         (mail-position-on-field): Declare.
422         (c-submit-bug-report): Insert X-Debbugs-Package header.
423         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
424         Mention debbugs.gnu.org.
426 2015-05-26  Glenn Morris  <rgm@gnu.org>
428         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
429         (rmail-summary-by-recipients, rmail-summary-by-topic)
430         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
431         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
433 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
435         Handle curved quotes in info files
436         * lisp/calc/calc-help.el (calc-describe-thing):
437         * lisp/info.el (Info-find-index-name)
438         (Info-try-follow-nearest-node, Info-fontify-node):
439         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
440         In info files, process quotes ‘like this’ the same way we process
441         quotes `like this'.  This catches a few places we missed earlier.
443 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
445         xref-prompt-for-identifier: Use a list value
446         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
447         value, to be interpreted as a list of commands.
448         (xref--prompt-p): New function.
449         (xref--read-identifier): Use it.
451 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
453         Teach MS-Windows font back-end return per-glyph ascent/descent
454         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
455         values.
456         * src/w32font.c (w32font_text_extents): Compute, cache, and
457         accumulate per-glyph ascent and descent values, instead of copying
458         global values from the font.  If the values are not available from
459         the font data, i.e., non-TTF fonts, fall back on font-global values.
460         (compute_metrics): Compute and return per-glyph ascent and descent
461         values, if returned by GetGlyphOutlineW, falling back on
462         font-global values.  (Bug#20628)
463         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
464         height of rectangle to be drawn, to be compatible with
465         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
466         box, when per-glyph ascent/descent values are used.
468 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
470         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
471         (tabulated-list-print): Don't sort if sorter is nil
473 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
475         Fix Bug#20621
476         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
477         are major modes which set `auto-save-mode' on their own rules;
478         Tramp shall not overwrite such settings.
479         (Bug#20621)
481 2015-05-26  Glenn Morris  <rgm@gnu.org>
483         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
484         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
485         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
486         Doc updates.
487         (vc-dir-mode): Remove unnecessary autoload.
489 2015-05-25  Philipp Stephani  <phst@google.com>
491         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
492         (xterm--extra-capabilities-type): Add `getSelection'.
493         (xterm--query): Add `no-async' argument.
494         (xterm--init-activate-get-selection): New function.
495         (terminal-init-xterm): Use it.
496         (xterm--init-modify-other-keys): Rename from
497         terminal-init-xterm-modify-other-keys.
498         (xterm--init-bracketed-paste-mode): Rename from
499         terminal-init-xterm-bracketed-paste-mode.
500         (xterm--init-activate-set-selection): Rename from
501         terminal-init-xterm-activate-set-selection.
502         (xterm--selection-char): New function.
503         (gui-backend-set-selection): Use it.  Use the &context to only apply
504         this method in terminals where we enabled the feature.
505         (gui-backend-get-selection): New method.
507 2015-05-25  Daniel Colascione  <dancol@dancol.org>
509         Add C-language keyword constants to C++
510         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
511         keyword constants to C++.
513 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
515         Make TAGS files more portable to MS-Windows
516         * etc/NEWS: Document this.
517         * lib-src/etags.c (readline_internal) [DOS_NT]:
518         Don't treat CRs differently from GNUish hosts.
519         * lisp/progmodes/etags.el (etags-goto-tag-location):
520         Adjust STARTPOS to account for the skipped CRs in dos-style files.
522 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
524         Improve fix of debbugs:20634 in tramp-sh.el
526 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
528         Fix a typo in last commit
529         * lib-src/etags.c (C_entries): Fix a typo.
530         * test/etags/ETAGS.good_1:
531         * test/etags/ETAGS.good_2:
532         * test/etags/ETAGS.good_3:
533         * test/etags/ETAGS.good_4:
534         * test/etags/ETAGS.good_5:
535         * test/etags/CTAGS.good: Update due to the change in etags.c.
537         Fix tagging of class members in C-like OO languages
538         * lib-src/etags.c (longopts): Add new option --class-qualify and
539         its shorthand -Q.
540         (print_help): Add help text for --class-qualify.
541         (main): Add handling of -Q.
542         (consider_token, C_entries) <omethodparm>: Append argument types
543         to Objective C methods only if --class-qualify was specified.
544         Qualify C++, Objective C, and Java class members with their class
545         names only if --class-qualify was specified.
546         (C_entries): If --class-qualify was not specified, remove the
547         namespace and class qualifiers from tag names of C++ methods.
548         This allows to use etags.el as xref back-end without the
549         tag-symbol-match-p method, which greatly increases the number of
550         potentially false positives.  (Bug#20629)
551         * doc/man/etags.1: Update to document the new --class-qualify
552         option.
553         * test/etags/ETAGS.good_1:
554         * test/etags/ETAGS.good_2:
555         * test/etags/ETAGS.good_3:
556         * test/etags/ETAGS.good_4:
557         * test/etags/ETAGS.good_5:
558         * test/etags/CTAGS.good: Update due to changes in etags.c.
560 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
562         (cl-generic-define-method): Side effects are evil (bug#20644)
563         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
564         cons-cells that might be used as keys in an `equal' hash-table.
566 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
568         Make erc timestamps visible again
569         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
570         timestamps visible again (if requested).
572 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
574         Fix last change in etags.c that broke tagging compresed files
575         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
576         quoting of decompression shell command for MS-Windows/MS-DOS.
578 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
580         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
581         (Bug#20639)
583 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
585         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
587 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
589         Fix IPv6 addresses in Tramp
590         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
591         Add sqare brackets around host name.
593 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
595         Inhibit `epa-file-handler' in Tramp
596         (Bug#20634)
597         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
598         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
599         `epa-file-handler'.
601 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
603         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
604         (pcase-let): Document the behavior in case the pattern doesn't match.
606 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
608         * lisp/emacs-lisp/tabulated-list.el: New optional print method
609         (tabulated-list-print): New optional argument, UPDATE.  If
610         non-nil, the list is printed by only adding and deleting the
611         changed entries, instead of erasing the whole buffer.  This method
612         is much faster when few or no entries have changed.
613         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
614         * etc/NEWS: Document it.
616         * lisp/emacs-lisp/tabulated-list.el: Improve printing
617         (tabulated-list--get-sorter): New function.
618         (tabulated-list-print): Restore window-line when remember-pos is
619         passed and optimize away the `nreverse'.
621 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
623         Simpilify etags TEX mode scanning
624         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
625         Remove static vars.
626         (TeX_commands): Deduce escapes here instead.
627         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
628         This removes the need for a reset_input call.
630         Improve etags I/O error reporting
631         * lib-src/etags.c:
632         Don't include sys/types.h and sys/stat.h; no longer needed.
633         (infilename): New static var.
634         (process_file_name): Don't call 'stat'.  Instead, just open the
635         file for reading and report any errors.  Don't bother making
636         a copy of the file argument; it's not needed.  Be more careful to
637         use the failing errno when reporting an error.
638         Quote the real name better (though no perfectly)
639         when passing it to the shell.
640         (reset_input): New function, which reports I/O errors.
641         All uses of 'rewind' changed to use this function.
642         (perhaps_more_input): New function, which also checks for
643         I/O errors.  All uses of 'feof' changed to use this function.
644         (analyze_regex): Report an error if fclose fails.
645         (readline_internal): Report an error if getc fails.
646         (etags_mktmp): Return an error if close fails.
648         etags.c: avoid side effects in 'if'
649         * lib-src/etags.c (process_file_name, Perl_functions)
650         (TEX_decode_env): Hoist side effects into previous statement.
652         .gitignore tweaks
653         * .gitignore: Ignore all *.stamp files.  Sort.
654         Ignore [0-9]*.txt (commonly used name for git patches)
655         and /vc-dwim-log-* (vc-dwim temporary).
657 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
659         Fix last change in etags.c, which failed the test suite
660         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
661         before the last change.
663 2015-05-23  Glenn Morris  <rgm@gnu.org>
665         Remove charset map files from repository, generate in first bootstrap
666         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
667         (all): Create the stamp file.
668         (extraclean): Delete the stamp file.
669         * src/Makefile.in (lispintdir, charsets): New variables.
670         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
671         New rules.
672         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
673         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
674         * etc/charsets/*.map: Remove from repository.
676 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
678         Cleanup etags.c to use locale-independent code
679         Although this doesn't alter behavior (as etags doesn't use
680         setlocale), the new version is more clearly locale-independent and
681         the executable is a bit smaller on my platform.
682         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
683         Include <c-ctype.h> instead of <ctype.h>.
684         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
685         (begtk, midtk):
686         Remove; no longer needed.
687         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
688         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
689         c_islower, c_tolower, respectively.
690         (notinname, begtoken, intoken, endtoken): Rewrite as functions
691         instead of macros, and initialize the tables at compile-time
692         rather than at run-time.
694         Put default action first in src/Makefile
695         * src/Makefile.in (all): Put this rule before lisp.mk.
696         That way, plain 'make' works in the src directory again.
698 2015-05-23  Glenn Morris  <rgm@gnu.org>
700         * Makefile.in: Fix extraclean rule.
701         (extraclean_dirs): New.
702         (extraclean): Use it.
704 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
706         Avoid compiler warning in image.c on MS-Windows
707         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
708         warning in image.c.
710 2015-05-23  Glenn Morris  <rgm@gnu.org>
712         Fix --without-toolkit-scroll-bars builds.
713         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
714         Add new argument to x_clear_area1.
715         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
716         Update x_clear_area arguments.
718         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
719         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
720         Change to included version.
721         (LOCAL, local, totalclean): Remove.
722         (extraclean): Delete all generated files.
724 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
726         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
728         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
730         tags-completion-at-point-function: Don't trust the find-tag function
731         * lisp/progmodes/etags.el (tags-completion-at-point-function):
732         Don't trust the find-tag function.
734 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
736         Pacify --enable-gcc-warnings
737         * src/frame.h (x_query_color): Remove redundant extern decl.
738         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
739         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
740         (ftcrfont_text_extents, ftcrfont_draw):
741         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
742         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
743         (x_ins_del_lines, frame_highlight, frame_unhighlight)
744         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
745         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
746         (x_update_window_begin, x_connection_closed)
747         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
748         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
749         (*x_gc_get_ext_data, x_extension_initialize)
750         (x_cr_accumulate_data):
751         Remove redundant static decl.  Many of these GCC doesn't complain
752         about, but we might as well clean out the duplication while we're
753         in the neighborhood.
754         * src/xterm.c (x_fill_trapezoid_for_relief):
755         Remove decl of nonexistent function.
757 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
759         Replace gui-method macros with cl-generic with &context
760         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
761         (gui-method-declare, gui-call): Remove.
762         (frame-creation-function): Use cl-defgeneric.
763         (make-frame): Adjust callers.
764         * lisp/menu-bar.el (menu-bar-edit-menu):
765         Use gui-backend-selection-exists-p.
766         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
767         (gui-backend-get-selection): New cl-generic to replace
768         gui-get-selection method.
769         (gui-backend-set-selection): New cl-generic to replace
770         gui-set-selection method.
771         (gui-selection-owner-p): New cl-generic to replace
772         gui-selection-owner-p method.
773         (gui-backend-selection-exists-p): New cl-generic to replace
774         gui-selection-exists-p method.  Adjust all callers.
775         * lisp/server.el (server-create-window-system-frame): Don't ignore
776         window-system spec even when unsupported.
777         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
778         * lisp/startup.el (handle-args-function, window-system-initialization):
779         Use cl-defgeneric.
780         (command-line): Adjust calls accordingly.
781         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
782         a window-system-initialization method.
783         (handle-args-function, frame-creation-function): Use cl-defmethod.
784         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
785         (gui-get-selection): Use cl-defmethod on the new functions instead.
786         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
787         a gui-backend-get-selection method.
788         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
789         Use cl-defmethod on the new functions instead.
790         (msdos-window-system-initialization): Turn into
791         a window-system-initialization method.
792         (frame-creation-function, handle-args-function): Use cl-defmethod.
793         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
794         a window-system-initialization method.
795         (handle-args-function, frame-creation-function): Use cl-defmethod.
796         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
797         (gui-get-selection): Use cl-defmethod on the new functions instead.
798         * lisp/term/x-win.el (x-window-system-initialization): Turn into
799         a window-system-initialization method.
800         (handle-args-function, frame-creation-function): Use cl-defmethod.
801         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
802         (gui-get-selection): Use cl-defmethod on the new functions instead.
803         * lisp/term/xterm.el (xterm--set-selection): Turn into
804         a gui-backend-set-selection method.
805         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
806         (Fns_selection_owner_p): Remove unused arg `terminal'.
807         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
809 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
811         Revert "Fix etags Bug#20629 that broke C++ support."
812         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
814 2015-05-23  Jan D  <jan.h.d@swipnet.se>
816         Fix etags Bug#20629 that broke C++ support.
817         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
818         from Sun May 10 (Bug#20629).
820         Merge branch 'cairo'.
821         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
822         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
824         Merge branch 'master' into cairo
826         Fixes to compile cairo branch without cairo.
827         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
828         first argument.
829         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
830         USE_CAIRO.
832 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
834         * lisp/emacs-lisp/package.el: Always update selected-packages
835         (package--update-selected-packages): New function.
836         (package-menu-execute): Use it before starting the transaction,
837         this way the list of selected packages is updated even when the
838         transaction fails.
839         (package-menu--perform-transaction): Don't edit selected-packages.
841 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
843         Fix etags reading of compressed files
844         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
845         Include fcntl.h, for O_CLOEXEC.
846         (process_file_name): Don't use 'popen', whose streams cannot be
847         rewound.  Instead, uncompress the file to a temporary file,
848         created by 'etags_mktmp', and read from that as usual.
849         (etags_mktmp): New function.
850         * test/etags/ETAGS.good_1:
851         * test/etags/ETAGS.good_2:
852         * test/etags/ETAGS.good_3:
853         * test/etags/ETAGS.good_4:
854         * test/etags/ETAGS.good_5: Update to be consistent with latest
855         changes in etags.c regarding reading compressed files.
857         Improve documentation of 'set-fontset-font'
858         * doc/lispref/display.texi (Fontsets): Document the value of nil
859         for the 3rd argument of 'set-fontset-font'.
861         Fix documentation of forward-line
862         * src/cmds.c (Fforward_line): Clarify the return value if the line
863         at end of accessible portion of the buffer has no newline.
864         * doc/lispref/positions.texi (Text Lines): Document what happens
865         if the line at end of accessible portion of buffer has no newline.
866         (Bug#20587)
868 2015-05-22  Glenn Morris  <rgm@gnu.org>
870         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
872         * admin/charsets/mapconv (LC_ALL): Set to C.
874         * Makefile.in: Add admin/charsets into top-level clean rules.
875         (clean): Add admin/charsets.
876         (maybeclean_dirs): New variable.
877         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
879         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
881 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
883         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
885 2015-05-22  Glenn Morris  <rgm@gnu.org>
887         Generate admin/charsets Makefile via configure, and make more portable.
888         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
889         (admin/charsets/Makefile): Generate it.
890         * admin/charsets/Makefile.in: Rename from Makefile.
891         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
892         New variables, set by configure.
893         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
894         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
895         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
896         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
897         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
898         (all): Declare PHONY.
899         (local): New PHONY target.
900         (map_template): New template.  Use to define short PHONY aliases.
901         (*.map): Add directory prefixes to targets and prerequisites.
902         Respect make verbosity.
903         (JISC6226.map): Replace non-portable sed append without newline.
904         (install): Remove rule.
905         (clean): Only delete temporary sedscript.
906         (bootstrap-clean, distclean, maintainer-clean, extraclean)
907         (totalclean): New PHONY rules.
908         * admin/charsets/mapconv (BASE): Replace basename with expr.
909         (FILE): Add "mapfiles" subdirectory.
910         (AWK): New variable.  Use throughout in place of "awk".
911         (main): Use "gunzip -c" in place of "zcat".
912         Don't leave whitespace before "p", for older sed.
913         * admin/charsets/mapfiles/PTCP154: Add final newline,
914         to make older sed versions happy.
916 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
918         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
919         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
920         (auto-revert-notify-watch-descriptor): Use defvar-local.
921         (find-file-hook, auto-revert-tail-mode, )
922         (auto-revert-notify-add-watch): Use setq-local.
923         (auto-revert-notify-add-watch): Don't call make-local-variable on
924         kill-buffer-hook (bug#20601).
926 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
928         Change defgeneric so it doesn't completely redefine the function
929         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
930         previously defined methods.
931         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
932         (cl--generic-prefill-dispatchers): Only define during compilation.
933         (cl-method-qualifiers): Remove redundant alias.
934         (help-fns-short-filename): Silence byte-compiler.
935         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
937 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
939         (package-menu-execute): Remove reference to remove-dups
941 2015-05-21  kwhite  <kwhite@gnu.org>
943         * lisp/erc/erc.el: Hide network/channel messages
944         (erc-network-hide-list, etc-channel-hide-list): New lists to define
945         message types per network/channel.
946         (erc-add-targets): New function to parse list of targets
947         (erc-hide-current-message-p): Modified to check for new targets
949 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
951         Don't quote nil and t in doc strings
952         This is as per "Tips for Documentation Strings" in the elisp manual.
953         For consistency, do the same in diagnostics and comments.
955 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
957         Fix a minor problem with mouse-face on mode line
958         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
959         mouse face also if the mouse pointer hovers above mode-line glyphs
960         that don't come from any Lisp string.  (Bug#20620)
962 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
964         * lisp/emacs-lisp/package.el: Fix selected-package logic
965         (package-menu-execute): Mark as selected all non-upgrade packages
966         being installed.
967         (package-menu--perform-transaction): Don't mark anything.
969         * lisp/emacs-lisp/package.el: Mode-line progress report
970         (package-menu--transaction-status): New variable.
971         (package-menu-mode, package-menu--perform-transaction): Use it.
973         * lisp/emacs-lisp/package.el: Better transaction messages
974         (package-menu--partition-transaction): New function.
975         (package-menu--prompt-transaction-p, package-menu-execute): Use
976         it.
977         (package-menu--perform-transaction): Don't do any messaging.
979         * lisp/emacs-lisp/package.el: Revert async package transactions
980         (package-menu-async): Update doc.
981         (package-install-from-archive, package-download-transaction)
982         (package-install, package-menu--perform-transaction)
983         (package-menu-execute): Remove asynchronous functionality.
985 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
987         Revert doc string changes to f90.el
988         Problem reported by Glenn Morris in:
989         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
990         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
991         Revert recent changes to doc strings, as it's intended that they
992         use grave accent, not quote.
994 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
996         Improve parameter name
998         Add new inline function `hash-table-empty-p'
1000 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1002         Don't require help-fns when not needed
1003         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
1004         * lisp/emacs-lisp/elint.el:
1005         Don't require help-fns at the top level.
1006         * lisp/emacs-lisp/advice.el (ad-arglist):
1007         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
1008         Don't require help-fns.  (Bug#17001)
1010 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
1012         Fix slash collapsing in etags on MS-Windows
1013         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
1014         MS-Windows code from the Posix code, and support collapsing both
1015         forward- and back-slashes on MS-Windows.  Fixes a regression found
1016         by the test suite.
1018         Improve documentation of glyphless-char-display
1019         * doc/lispref/display.texi (Glyphless Chars): Improve
1020         documentation of glyphless character display.
1022         Fix "acronym" display of glyphless characters on w32
1023         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
1024         ignore "acronym" substitutes of 1 character for glyphless characters.
1026 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
1028         Add an automated test for let-when-compile
1029         * test/automated/subr-tests.el (let-when-compile): New test.
1031         Add let-when-compile macro instead of using pcase-let
1032         * lisp/subr.el (let-when-compile): New let-like macro that makes its
1033         bindings known to macros like `eval-when-compile' in the body.
1034         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
1035           `let-when-compile'. Also comment out the unused lexical var
1036           `el-kws-re'.
1037         The change greatly improves readability, while providing almost the
1038         same (even shorter) byte code: instead of pre-evaluating 10 variables,
1039         tossing them into a list, and destructuring that list a full screen
1040         page later, the variables are simply bound as they are evaluated,
1041         wrapped individually in `eval-when-compile'.
1043 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
1045         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
1046         (package-delete-button-action): New function.
1047         (describe-package-1): Add Delete button.
1049         * lisp/emacs-lisp/package.el: Better dependency description
1050         (package--used-elsewhere-p): New optional arg, ALL, and return
1051         package-desc objects instead of names.
1052         (package-delete): Update accordingly.
1053         (describe-package-1): Describe which packages require the package.
1055 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
1057         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
1058         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
1059         Fix doc-string (Bug#20533).
1061         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
1062         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
1063         (switch-to-buffer): If the selected window is strongly dedicated
1064         to its buffer, signal error before prompting for buffer name.  Handle
1065         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
1066         * doc/lispref/windows.texi (Switching Buffers): Document
1067         `switch-to-buffer-in-dedicated-window'.
1069 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1071         Prefer "this" to “this” in doc strings
1072         This mostly just straightens quotes introduced in my previous patch.
1073         Suggested by Dmitry Gutov in:
1074         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
1075         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
1076         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
1077         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
1078         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
1079         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
1080         Prefer straight double quotes to curved double quotes in doc strings.
1082         Fix minor quoting problems in doc strings
1083         These were glitches regardless of how or whether we tackle the
1084         problem of grave accent in doc strings.
1085         * lisp/calc/calc-aent.el (math-restore-placeholders):
1086         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
1087         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
1088         * lisp/leim/quail/hebrew.el ("hebrew-new")
1089         ("hebrew-biblical-sil"):
1090         * lisp/leim/quail/thai.el ("thai-kesmanee"):
1091         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
1092         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
1093         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
1094         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
1095         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
1096         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
1097         (semantic-tag-components):
1098         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
1099         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
1100         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
1101         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
1102         * lisp/emacs-lisp/generator.el (iter-next):
1103         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
1104         (gnus-article-mode-syntax-table):
1105         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
1106         * lisp/net/soap-client.el (soap-wsdl-get):
1107         * lisp/net/telnet.el (telnet-mode):
1108         * lisp/org/org-compat.el (org-number-sequence):
1109         * lisp/org/org.el (org-remove-highlights-with-change)
1110         (org-structure-template-alist):
1111         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
1112         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
1113         (handwrite-12pt, handwrite-13pt):
1114         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
1115         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
1116         * lisp/progmodes/verilog-mode.el (verilog-tool)
1117         (verilog-string-replace-matches, verilog-preprocess)
1118         (verilog-auto-insert-lisp, verilog-auto-insert-last):
1119         * lisp/textmodes/makeinfo.el (makeinfo-options):
1120         * src/font.c (Ffont_spec):
1121         Fix minor quoting problems in doc strings, e.g., missing quote,
1122         ``x'' where `x' was meant, etc.
1123         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
1124         Fix minor quoting problem in other string.
1125         * lisp/leim/quail/ethiopic.el ("ethiopic"):
1126         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
1127         Omit unnecessary quotes.
1128         * lisp/faces.el (set-face-attribute, set-face-underline)
1129         (set-face-inverse-video, x-create-frame-with-faces):
1130         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
1131         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
1132         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
1133         * lisp/net/tramp.el (tramp-methods):
1134         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
1135         * lisp/textmodes/artist.el (artist-ellipse-right-char)
1136         (artist-ellipse-left-char, artist-vaporize-fuzziness)
1137         (artist-spray-chars, artist-mode, artist-replace-string)
1138         (artist-put-pixel, artist-text-see-thru):
1139         * lisp/vc/ediff-util.el (ediff-submit-report):
1140         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
1141         Use double-quotes rather than TeX markup in doc strings.
1142         * lisp/skeleton.el (skeleton-pair-insert-maybe):
1143         Reword to avoid the need for grave accent and apostrophe.
1144         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
1145         Don't use grave and acute accents to quote.
1147 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1149         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
1151 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1153         Try to port new etags tests to MS-Windows
1154         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
1155         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
1156         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
1157         Adjust to test-case changes below.
1158         * test/etags/Makefile (CSRC): Remove dostorture.c.
1159         Whatever it was trying to test, wasn't working portably.
1160         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
1161         just a line-ending problem.
1162         * test/etags/c-src/dostorture.c: Remove.
1163         * test/etags/cp-src/c.C: Remove stray CR.
1164         * test/etags/html-src/algrthms.html: Remove trailing CRs.
1165         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
1166         but if someone edits it later it should stay UTF-8-compatible.
1168 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
1170         Fix display of overlapping window-specific overlays
1171         * src/keyboard.c (adjust_point_for_property): When adjusting point
1172         due to display strings, ignore overlays that are specific to
1173         windows other than the currently selected one.
1174         * src/xdisp.c (handle_single_display_spec): If the display
1175         property comes from an overlay, arrange for buffer iteration to
1176         resume only after the end of that overlay.  (Bug#20607)
1178 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
1180         New command icomplete-force-complete-and-exit
1181         * lisp/icomplete.el (icomplete-force-complete-and-exit):
1182         New command
1183         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
1184         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
1185         (icomplete-minibuffer-map): Bind C-j to it.
1186         (icomplete-forward-completions, icomplete-backward-completions):
1187         Mention the new command in the docstring.
1188         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
1189         the previous fix for bug#17545.
1191 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
1193         Fix last commit
1195         In Elisp manual explain how to override window manager positioning (Bug#20552)
1196         * doc/lispref/frames.texi (Position Parameters): Give example of
1197         how to override a window manager positioning decision.
1199         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
1200         * src/frame.c (Fdelete_frame): In doc-string mention that frame
1201         can't be deleted if it has a surrogate minibuffer.
1202         * doc/lispref/frames.texi (Minibuffers and Frames)
1203         (Deleting Frames): Explain "surrogate minibuffer frames".
1205         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
1206         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
1208 2015-05-18  Glenn Morris  <rgm@gnu.org>
1210         Add option to ignore commit lines matching a pattern in ChangeLog.
1211         * build-aux/gitlog-to-changelog: Add --ignore-line option.
1212         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
1214 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1216         Don't skip new etags tests on non-UTF-8 hosts
1217         Problem reported by Eli Zaretskii for MS-Windows.
1218         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
1219         (LC_ALL): Set to C if the current locale isn't UTF-8.
1220         (.PHONY): Remove ediff_1 thru ediff_5.
1221         (check): Always run.
1223 2015-05-18  Glenn Morris  <rgm@gnu.org>
1225         * lisp/calculator.el (calculator-funcall):
1226         * lisp/textmodes/artist.el (artist-spray-random-points):
1227         Use standard degree/radian conversion utilities.
1229         Further lisp-complete-symbol related cleanup.
1230         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
1231         Unadvertise non-functional argument.  Replace obsolete alias.
1233 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
1235         Add a test case for Maven warning ouput
1236         * test/automated/compile-tests.el
1237         (compile-tests--test-regexps-data): Add a case for Maven warning
1238         ouput.
1239         (compile--test-error-line): Check the compilation message type, if
1240         it's specified in the test data.
1242 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
1244         Update Maven compilation-mode entry to distinguish warnings
1245         * lisp/progmodes/compile.el
1246         (compilation-error-regexp-alist-alist): Update Maven entry to
1247         distinguish warnings (bug#20556).
1249 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
1251         * test/automated/sgml-mode-tests.el: New file.
1253 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
1255         Improve handling of the first Git revision
1256         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
1257         there's no next entry, delete until the end of the buffer.
1258         (log-view-end-of-defun-1): Stop at eob.
1259         * lisp/vc/vc-annotate.el
1260         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
1261         when previous-revision is nil.
1262         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
1263         with `--' to avoid ambiguity.
1264         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
1265         returned revision string.
1266         (vc-git-annotate-time): Expect `^' before the first revision.
1267         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
1268         REV1 is nil, and REV2 is not.
1269         * lisp/vc/vc.el: Update the description of the `diff' function.
1271 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
1273         Allow checkdoc to be called in batch
1274         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
1275           is non-nil, echo the error with `warn'.
1276         How it can be used in -batch:
1277         (with-current-buffer (find-file "checkdoc.el")
1278           (checkdoc-current-buffer t))
1280 2015-05-18  Glenn Morris  <rgm@gnu.org>
1282         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
1284 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1286         * admin/notes/unicode: New section "binary files".
1288         Change new etags test to use UTF-8 encoding
1289         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
1290         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
1291         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
1292         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
1293         * test/etags/html-src/softwarelibero.html:
1294         Switch to UTF-8 encoding.
1295         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
1296         Remove Makefile, as it's too incestuous to have the test input
1297         include the build procedure.
1298         (UTF8_LOCALE, UTF_ENCODING): New macros.
1299         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
1300         (check): Skip if not UTF-8.
1301         (.PHONY): New rule.
1302         (FRC): Remove, as superseded by .PHONY.  All uses removed.
1303         (regexfile): Prefer printf to echo when outputting oddball chars.
1304         (.PRECIOUS): Remove, as these files are not built.
1306         Rename 'foo-gzipped' to 'foo.gz'
1307         * test/automated/data/decompress/foo.gz:
1308         Rename from test/automated/data/decompress/foo-gzipped,
1309         to make it easier for other tools to tell that it's compressed.
1310         * test/automated/zlib-tests.el (zlib--decompress):
1311         Adjust to renamed file.
1313 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
1315         Set up default-directory
1316         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
1317         binding for `v'.
1318         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
1319         appropriate value for default-directory.
1321 2015-05-17  Samer Masterson  <samer@samertm.com>
1323         * lisp/eshell/em-term.el (eshell-term-sentinel):
1324         No-op by default, only kills term buffer if
1325         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
1326         (eshell-destroy-buffer-when-process-dies): New custom to preserve
1327         previous behavior.
1329         eshell: Introduce new buffer syntax
1330         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
1331         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
1332         needed (Bug#19319).
1333         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
1334         (eshell-get-target): Remove shorthand-specific code.
1335         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
1336         '#<buffer-name>'.
1338 2015-05-17  Jan D  <jan.h.d@swipnet.se>
1340         Merge branch 'master' into cairo
1342 2015-04-26  Jan D  <jan.h.d@swipnet.se>
1344         Merge branch 'master' into cairo
1346         Add PBM support for cairo.
1347         * src/image.c (xcolor_to_argb32): New function.
1348         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
1349         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
1350         XImagePtr if ! USE_CAIRO.
1351         (pbm_load): Add cairo support.
1353 2015-04-12  Jan D  <jan.h.d@swipnet.se>
1355         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
1356         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
1357         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
1358         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
1359         x_free_cr_resources.
1361         Handle specified bg in images.  Use generic libpng code for PNG:s.
1362         * src/image.c (get_spec_bg_or_alpha_as_argb)
1363         (create_cairo_image_surface): New functions when USE_CAIRO.
1364         (xpm_load): Call the above functions.  Handle XPM without mask
1365         when USE_CAIRO.
1366         (png_load_body): Handle USE_CAIRO case.
1367         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
1368         instead.
1369         (jpeg_load_body): Call create_cairo_image_surface.
1370         (gif_load, svg_load_image): Handle specified background, call
1371         create_cairo_image_surface.
1372         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
1374 2015-04-11  Jan D  <jan.h.d@swipnet.se>
1376         Support GIF and Tiff with cairo.
1377         * configure.ac: Allow jpeg with cairo.
1378         Allow tiff and gif with cairo.
1379         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
1380         (tiff_load): Create cairo image surface if USE_CAIRO.
1381         (gif_load): Ditto.
1383         Support JPEG with USE_CAIRO.
1384         * configure.ac: Allow jpeg with cairo.
1385         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
1387 2015-04-05  Jan D  <jan.h.d@swipnet.se>
1389         Support RSVG and cairo.
1390         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
1391         * src/dispextern.h (struct image): add cr_data2 if cairo.
1392         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
1393         (x_clear_image): Free cr_data and cr_data2 if set.
1394         (xpm_load): Assign data to cr_data2.
1395         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
1397 2015-04-03  Jan D  <jan.h.d@swipnet.se>
1399         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
1400         * configure.ac (HAVE_RSVG): Move after cairo.
1401         (USE_CAIRO): Disable rsvg, don't disable Xpm.
1402         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
1403         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
1404         don't return early.
1405         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
1406         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
1407         and create a surface.
1409         Tool tips for menus did not show any text.
1410         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
1411         tip frames, the geometry may be wrong.
1413         Merge branch 'master' into cairo, fixes tooltips not shown.
1415         Merge branch 'master' into cairo
1417         Add CAIRO_CFLAGS to lwlib/Makefile.in
1418         * Makefile.in (CAIRO_CFLAGS): Add.
1420 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1422         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
1424 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1426         Draw outermost line using black relief and erase corners also for cairo.
1427         * xterm.c [USE_CAIRO]: Include math.h.
1428         (enum corners) [USE_CAIRO]: New enum.
1429         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
1430         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
1431         than 1, draw the outermost line using the black relief.
1433         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
1435 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1437         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
1439         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
1441         Use int instead of unsigned int for width and height args.
1442         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
1443         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
1444         width and height args.
1446         Modernize k&r cairo-related function declarations.
1447         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
1448         (xg_print_frames_dialog): Modernize k&r declarations.
1449         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
1450         (Fx_print_frames_dialog): Modernize k&r declarations.
1451         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
1452         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
1453         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
1454         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
1455         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
1456         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
1457         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
1458         (x_clear_area): Modernize k&r declarations.
1460         Implement wave-style variant of underlining for cairo.
1461         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
1462         (x_draw_underwave) [USE_CAIRO]: Use it.
1464         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
1466 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1468         Fix fringe bitmap initialization for cairo.
1469         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
1470         cairo image surface.
1471         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
1473 2015-02-11  Jan D  <jan.h.d@swipnet.se>
1475         Add cairo drawing.
1476         * configure.ac (with-cairo): New option.
1477         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
1478         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
1479         Output "Does Emacs use cairo?".
1480         * lisp/version.el (emacs-version): Add cairo version.
1481         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
1482         (FONT_OBJ): Add comment about ftcrfont.
1483         (ALL_CFLAGS): Add CAIRO_CFLAGS.
1484         (LIBES): Add CAIRO_LIBS.
1485         * src/dispextern.h (struct image): Add cr_data for cairo.
1486         (x_cr_init_fringe): Declare.
1487         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
1488         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
1489         * src/fringe.c (x_cr_init_fringe): New function name that shares code
1490         with w32_init_fringe.
1491         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
1492         * src/ftfont.c (ftfont_info_size); New global variable.
1493         (ftfont_open2): New extern function almost the same as old ftfont_open,
1494         but takes the font_object as argument.
1495         (ftfont_open): Build font object and call ftfont_open2.
1496         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
1497         * src/gtkutil.c (xg_clear_under_internal_border)
1498         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
1499         queue_draw if not cairo.  Change args to x_clear_area.
1500         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
1501         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
1502         (xg_print_frames_dialog): New functions for printing.
1503         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
1504         (xg_print_frames_dialog): Declare.
1505         * src/image.c: Add defined (USE_CAIRO) for PNG.
1506         Add !defined USE_CAIRO for W32 PNG code.
1507         (x_clear_image): If cairo, destroy the surface in cr_data.
1508         (png_load): Add new cairo compatible implementation.
1509         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
1510         * src/xfns.c: New section Printing.
1511         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
1512         (x-print-frames-dialog): New printing functions.
1513         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
1514         cairo.
1515         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
1516         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
1517         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
1518         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
1519         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
1520         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
1521         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
1522         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
1523         Declare.
1524         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
1525         (max_fringe_bmp, fringe_bmp): New variables.
1526         (x_gc_get_ext_data, x_extension_initialize)
1527         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
1528         (x_set_cr_source_with_gc_foreground)
1529         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
1530         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
1531         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
1532         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
1533         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
1534         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
1535         (x_update_begin): Create cairo surface if needed.
1536         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
1537         (x_update_end): Paint cairo drawing surface to xlib surface.
1538         (x_clear_under_internal_border, x_after_update_window_line): Adjust
1539         arguments to x_clear_area.
1540         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
1541         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
1542         of XSetClipMask.
1543         (x_set_glyph_string_clipping)
1544         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
1545         instead of XSetClipRectangles.
1546         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
1547         x_fill_rectangle instead of XFillRectangle.
1548         (x_draw_glyph_string_foreground)
1549         (x_draw_composite_glyph_string_foreground)
1550         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
1551         of XDrawRectangle.
1552         (x_draw_relief_rect): Add code for USE_CAIRO.
1553         Call x_reset_clip_rectangles instead of XSetClipMask.
1554         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
1555         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
1556         instead of XSetClipMask.
1557         (x_draw_image_foreground, x_draw_image_foreground_1):
1558         x_draw_rectangle instead of XDrawRectangle.
1559         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
1560         XFillRectangle.
1561         (x_draw_image_glyph_string): If img has cr_data, use it as
1562         a cairo surface.
1563         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
1564         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
1565         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
1566         x_reset_clip_rectangles instead of XSetClipMask.
1567         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
1568         (x_clear_area1): New function that calls XClearArea.
1569         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
1570         non-cairo.
1571         (x_clear_frame): x_clear_window instead of XClearWindow.
1572         (x_scroll_run): Set frame garbaged if cairo.
1573         (XTmouse_position): Initialize *part to 0.
1574         (x_scroll_bar_create): Adjust arguments to x_clear_area.
1575         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
1576         x_fill_rectangle instead of XFillRectangle.
1577         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
1578         arguments to x_clear_area.
1579         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
1580         (handle_one_xevent): Adjust arguments to x_clear_area.
1581         Destroy cairo surface for frame if ConfigureNotify.
1582         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
1583         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
1584         x_reset_clip_rectangles instead of XSetClipMask.
1585         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
1586         x_reset_clip_rectangles instead of XSetClipMask.
1587         (x_clear_frame_area): Adjust arguments to x_clear_area.
1588         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
1589         (x_term_init): Call x_extension_initialize if cairo.
1590         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
1591         x_cr_destroy_fringe_bitmap for cairo.
1592         (x_initialize): Call x_cr_init_fringe for cairo.
1593         * src/xterm.h: Add include of cairo header files.
1594         (x_bitmap_record): Add img if cairo.
1595         (x_gc_ext_data): New struct for cairo.
1596         (x_display_info): Add ext_codes for cairo.
1597         (x_output): Add cr_context and cr_surface for cairo.
1598         (x_clear_area): Change arguments from Display*/Window to frame pointer.
1599         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
1600         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
1601         (x_cr_draw_frame, x_cr_export_frames): Declare.
1603 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
1605         Fix integer-valued `mouse-highlight' (Bug#20590)
1606         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
1608 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
1610         MS-Windows followup for ASCIIfication of curved quotes
1611         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
1612         test for curved quotes being displayable, after switching the
1613         terminal encoding.  (Bug#20545)
1615 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1617         Spelling fixes
1619 2015-05-17  Jan D  <jan.h.d@swipnet.se>
1621         Add comment that x_shift_glyphs_for_insert is never called.
1622         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
1623         comment that this function is never called.
1625 2015-05-16  Glenn Morris  <rgm@gnu.org>
1627         * src/lisp.mk: Remove from repository and generate at build-time.
1628         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
1629         (shortlisp_filter): New variable.
1630         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
1631         (distclean): Remove lisp.mk.
1632         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
1633         * lisp/loadup.el: Tweak layout to make it easier to parse.
1634         * make-dist: Do not distribute src/lisp.mk.
1636 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
1638         Display shorter dates in Git annotate output
1639         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
1640         format (when not overridden with vc-git-annotate-switches).
1641         (vc-git-annotate-time): Support the short format, as well as ISO
1642         8601 that has been used until now (bug#5428).
1644 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1646         ASCIIfy curved quotes on displays lacking them
1647         * lisp/international/mule-cmds.el (set-locale-environment):
1648         If curved quotes don't work, display straight ASCII approximations
1649         (Bug#20545).
1651 2015-05-16  Glenn Morris  <rgm@gnu.org>
1653         Small src/Makefile simplification.
1654         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
1655         * src/Makefile.in (lisp): Derive from shortlisp.
1656         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
1658 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
1660         * lisp/help-mode.el (help-go-forward): Doc fix.
1661         (Bug#20577)
1663         * doc/lispref/debugging.texi (Profiling): Improve indexing.
1664         (Bug#20576)
1666 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
1668         Use `unless' to have one fewer `not'
1669         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
1670         have one fewer `not'.
1672         Remove redundant :group declarations from vc-git.el
1673         * lisp/vc/vc-git.el (vc-git-diff-switches)
1674         (vc-git-annotate-switches, vc-git-resolve-conflicts)
1675         (vc-git-program, vc-git-root-log-format): Remove the redundant
1676         :group declarations.
1678 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
1680         Removes the predicate from lisp-complete-symbol (Bug#20456)
1681         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
1682         and remove it from the docstring.
1684 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
1686         Add new option vc-git-resolve-conflicts
1687         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
1688         (vc-git-find-file-hook): Add to after-save-hook only when the
1689         above is non-nil.
1690         (vc-git-resolve-when-done): Update to honor the new variable.
1691         (Bug#20292)
1693 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
1695         Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
1697 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
1699         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
1700         (tabulated-list-init-header): Document new behavior.
1701         (tabulated-list-print-fake-header): No nothing if
1702         `tabulated-list--header-string' is nil.
1703         (tabulated-list--header-string): Add a docstring.
1704         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
1705         * etc/NEWS: Document it.
1707 2015-05-15  Leo Liu  <sdl.web@gmail.com>
1709         Revert "Fix cps--gensym"
1710         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
1711           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
1713 2015-05-15  Glenn Morris  <rgm@gnu.org>
1715         Replace AC_SUBST_FILE in configure with include in Makefiles.
1716         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
1717         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
1718         (AUTO_DEPEND): New output variable.
1719         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
1720         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
1721         (lwlib_deps_frag): Replace by conditional include.
1722         * lwlib/autodeps.mk: Remove file.
1723         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
1724         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
1725         (oldxmenu_deps_frag): Replace by conditional include.
1726         * oldXMenu/autodeps.mk: Remove file.
1727         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
1728         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
1729         (lisp_frag): Replace by an include.
1730         (deps_frag): Replace by conditional include.
1731         * src/autodeps.mk: Remove file.
1733         Tweak japanese.el's loading of dependencies.
1734         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
1735         * lisp/language/japanese.el: Use require rather than load.
1736         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
1737         Provide a feature.
1738         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
1739         Provide a feature in the generated file.
1741 2015-05-15  Jan D  <jan.h.d@swipnet.se>
1743         Fix NS warnings.
1744         * nsmenu.m (ns_popup_dialog)
1745         * nsimage.m (initFromXBM:width:height:fg:bg:)
1746         * nsfns.m (Fx_create_frame): Remove unused variables.
1747         (Fns_read_file_name): Initialize fname, remove ret.
1748         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
1749         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
1750         variable.
1751         (init): Add parantesis in if.
1752         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
1754 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
1756         Fix a enum conversion warning in macfont.m
1757         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
1758         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
1760 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
1762         Support de-alt dictionary with Aspell.
1763         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
1764         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
1766 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
1768         cus-start.el: Add ns-confirm-quit.
1769         * cus-start.el: Add ns-confirm-quit.
1771         Fix warnings on OSX 10.10.
1772         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
1773         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
1774         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
1775         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
1776         * nsimage.m (allocInitFromFile, setPixmapData): Only call
1777         setScalesWhenResized for OSX < 10.6.
1778         * nsterm.h (EmacsScroller): Declare scrollerWidth.
1779         * nsterm.m (ns_copy_bits): New function that does not use deprecated
1780         NSCopyBits.
1781         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
1782         (runAlertPanel): New function.
1783         (applicationShouldTerminate:): Call runAlertPanel.
1784         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
1785         for OSX < 10.10.
1786         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
1787         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
1788         (draggingEntered:): Returns NSDragOperation.
1789         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
1791 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
1793         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
1794         (package--init-file-ensured): New variable.
1795         (package-initialize, package--ensure-init-file): Use it.
1797 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
1799         Honor :fore/background for XBM on NS (Bug#14969).
1800         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
1801         initFromXBM takes bg, fg args, remove flip arg.
1802         (ns_image_from_XBM): Add bg, fg args.
1803         * image.c (x_create_bitmap_from_data)
1804         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
1805         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
1806         Remove flip arg.
1807         (initFromSkipXBM): Move code to initFromXBM.
1808         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
1809         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
1810         false.
1811         Remove bit flipping (bitPat, swt), generated incorrect images when
1812         width/height wasn't a multiple of 8.
1813         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
1814         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
1815         flip arg.
1817 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
1819         * lisp/emacs-lisp/package.el: Be more careful with the init file
1820         (package--ensure-init-file): Check that user-init-file is set,
1821         exists, is readable, and is writable.  (Bug#20584)
1822         Also expand the docstring.
1824 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
1826         Sync with upstream verilog-mode revision 6232468
1827         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
1828         (verilog-highlight-grouping-keywords): Fix use of face when
1829         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
1830         Pompa.
1831         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
1832         parent is reset, bug906. Reported by Ken Schmidt.
1833         (verilog-auto-inout-module): Add fourth regexp argument to
1834         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
1835         bug856. Reported by John Tillema.
1836         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
1837         modport if signal attachment is itself a modport.  Reported by
1838         Matthew Lovell.
1839         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
1840         always_comb and always_latch, bug844.  Reported by Greg Hilton.
1841         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
1842         with many curly-bracket pairs, bug663.
1843         (verilog-set-auto-endcomments): Fix end comments for functions of
1844         type void, etc.  Reported by Alex Reed.
1845         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
1846         caused by indent-line-to deleting tabls pre 24.5.
1847         (verilog-nameable-item-re): Fix nameable items that can have an
1848         end-identifier to include endchecker, endgroup, endprogram,
1849         endproperty, and endsequence.  Reported by Alex Reed.
1850         (verilog-label-be): When auto-commenting a buffer, consider
1851         auto-comments on all known keywords (not just a subset thereof).
1852         Reported by Alex Reed.
1853         (verilog-auto-end-comment-lines-re)
1854         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
1855         Automatically comment property/endproperty blocks to match other
1856         similar blocks like sequence/endsequence, function/endfunction,
1857         etc. Reported by Alex Reed.
1858         (verilog-set-auto-endcomments): Detect the function- or task-name
1859         when auto-commenting blocks that lack an explicit
1860         portlist. Reported by Alex Reed.
1861         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
1862         allow post-AUTO user fixups, bug826. Reported by Dennis
1863         Muhlestein.
1864         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
1865         is nil, fix indenting initial/final to match always statements,
1866         bug825. Reported by Tim Clapp.
1867         (verilog-extended-complete-re): Fix indentation of DPI-C imports
1868         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
1869         Mao and Jason Forkey.
1870         (verilog-read-decls): Fix parsing typed interfaces.  Fix
1871         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
1872         Fix localparam not being ignored in AUTOINSTPARAM,
1873         bug889. Reported by Shannon Hill.
1874         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
1875         bug793.  Reported by Pierre-David Pfister.
1876         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
1877         verilog-auto-arg-format to support newlines in AUTOARG. Reported
1878         by Jie Xiao.
1879         (verilog-batch-execute-func): Do not batch re-auto files loaded by
1880         Local Variables. Fix printing "no changes to be saved" with
1881         verilog-batch. Reported by Dan Dever.
1882         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
1883         interface-only modules, bug721.  Reported by Dean Hoyt.
1884         Author: Alex Reed <acreed4@gmail.com>
1885         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
1886         treat '<keyword>:<identifier>' as the start of a labeled
1887         statement, bug905.  Reported by Enzo Chi.
1888         (verilog-directive-re, verilog-compiler-directives)
1889         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
1890         directives (plus some extras) when determining indentation, bug
1891         901.  Reported by Bernd Beuster.
1892         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
1893         iff expression doesn't start with word-character, bug900.
1894         (verilog-optional-signed-range-re, verilog-optional-signed-re):
1895         Fix incorrect indentation/alignment of unsigned declarations,
1896         bug897.
1897         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
1898         always constructs, bug895.
1899         (verilog-calc-1): Fix verilog-mode constraint indentation,
1900         bug324. Reported by Eric Mastromarchi.
1901         (verilog-beg-of-statement): Fix indenting for some forms of
1902         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
1903         continued assignment incorrect if first line ends with ']',
1904         bug437. Reported by Dan Dever.  Fix indention of cover inside an
1905         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
1906         blocks, bug842.
1907         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
1908         bug859. Reported by Kaushal Modi.
1909         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
1910         (verilog-backward-token): Fix indenting sensitivity lists with
1911         named events, bug840.  Reed.
1912         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
1913         nil not honoring 'forever', 'foreach', and 'do' keywords.
1915 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1917         Check for invalid GTK+ monitor scales
1918         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
1919         INT_MAX for too-large scales.  All callers changed to assume the
1920         result is valid (Bug#20432).
1921         (xg_frame_set_char_size, xg_update_scrollbar_pos):
1922         Calculate scale only if needed.
1923         show ASCII approximations instead.
1925 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
1927         Fix daemon crashes when linum-mode is turned on early on
1928         * src/window.c (Fwindow_end): Don't try calling display engine
1929         functions on initial-frame frame.  (Bug#20565)
1931         Fix selective diff browsing in Ediff
1932         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
1933         beginning of the region before searching for the
1934         ediff-regexp-focus-* regexps.  (Bug#20568)
1936 2015-05-14  Jan D  <jan.h.d@swipnet.se>
1938         Fixes Bug#20142.
1939         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
1940         in the main loop, even for Gtk 3 (Bug#20142).
1942         Don't access display after i/o error (Bug#19147).
1943         * xterm.c (x_connection_closed): Add third arg ioerror.
1944         If ioerror, set display to 0 (Bug#19147).
1945         (x_error_quitter): Call x_connection_closed with third arg false.
1946         (x_io_error_quitter): Call x_connection_closed with third arg true.
1948         Handle GTK_SCALE, fixes Bug#20432.
1949         * gtkutil.c (xg_get_gdk_scale): New function.
1950         (xg_frame_set_char_size)
1951         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
1952         (xg_get_default_scrollbar_height)
1953         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
1954         when setting sizes (Bug#20432).
1956 2015-05-13  Leo Liu  <sdl.web@gmail.com>
1958         Fix cps--gensym
1959         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
1961 2015-05-13  Glenn Morris  <rgm@gnu.org>
1963         Fix bootstrap (void function cl-member).
1964         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
1965         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
1967 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
1969         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
1970         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
1971         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
1972         Avoid defalias for closures which are not immutable.
1973         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
1974         dispatchers table with various entries.
1975         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
1976         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
1978 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
1980         Improve tagging of C bindings in DEFVAR_*
1981         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
1982         from DEFVAR_*.
1984 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
1986         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
1988 2015-05-12  Glenn Morris  <rgm@gnu.org>
1990         * lisp/progmodes/tcl.el (tcl-filter):
1991         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
1993         Add basic VC push support.
1994         * lisp/vc/vc.el (vc-push): New autoloaded command.
1995         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
1996         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
1997         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
1998         (vc-bzr-push): New.
1999         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
2000         (vc-git-pull): Reimplement using vc-git--pushpull.
2001         (vc-git-push): New.
2002         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
2003         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
2004         * doc/emacs/maintaining.texi (Pulling / Pushing):
2005         Rename from "VC Pull".  Mention pushing.
2006         (VC With A Merging VCS, VC Change Log): Update xrefs.
2007         (Branches): Update menu.
2008         * doc/emacs/emacs.texi: Update menu.
2009         * etc/NEWS: Mention this.
2011 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
2013         Improve the seq pcase pattern and the `seq-let' macro
2014         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
2015         object is a sequence, and binds each element of ARGS to the
2016         corresponding element of the sequence.
2018 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
2020         Fix tags created from DEFVAR_* declarations in C
2021         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
2022         to make tags extracted from DEFVAR_* declarations more accurate.
2024         Add a test suite for etags
2025         * test/etags/: New test suite, adapted from
2026         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
2027         whose original author is Francesco Potortì <pot@gnu.org>.
2029         Fix tagging of symbols in C enumerations
2030         * lib-src/etags.c (consider_token): Don't tag symbols in
2031         expressions that assign values to enum constants.  See
2032         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
2033         for details.
2034         (C_entries): Reset fvdef to fvnone after processing a preprocessor
2035         conditional and after a comma outside of parentheses.
2037 2015-05-12  Glenn Morris  <rgm@gnu.org>
2039         * lisp/url/url-handlers.el (url-file-name-completion)
2040         (url-file-name-all-completions): Silence compiler.
2042         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
2044         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
2046 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2048         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
2049         (cl--generic-mandatory-args): Remove.
2050         (cl--generic-split-args): New function.
2051         (cl-generic-define, cl--generic-lambda): Use it.
2052         (cl-generic-define-method): Use it as well, and add support for
2053         context args.
2054         (cl--generic-get-dispatcher): Handle &context dispatch.
2055         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
2056         (cl--generic-dispatchers): Pre-fill.
2057         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
2059 2015-05-11  Glenn Morris  <rgm@gnu.org>
2061         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
2063 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2065         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
2066         * lisp/term/rxvt.el: Require term/xterm.
2067         (rxvt-function-map): Use xterm-rxvt-function-map.
2068         (rxvt-standard-colors): Move before first use.
2069         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
2070         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
2071         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
2072         Move shared bindings between rxvt and xterm to it.
2073         (xterm-function-map): Use it.  Move the xterm-paste binding to
2074         xterm-rxvt-function-map (bug#20444).
2075         (xterm-standard-colors): Move before first use.
2076         (xterm--push-map): New function.
2077         (xterm-register-default-colors): Take standard colors as argument.
2078         (terminal-init-xterm): Use it.  Adjust call to
2079         xterm-register-default-colors.
2081 2015-05-11  Glenn Morris  <rgm@gnu.org>
2083         * lisp/term/x-win.el: Quieten --without-x compilation.
2084         (x-own-selection-internal, x-disown-selection-internal)
2085         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
2086         Declare.
2088         * Makefile.in (emacslog): Remove srcdir.
2089         (ChangeLog): Update for the above.
2091 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2093         Spelling fix
2095 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2097         python.el: better limit for looking-back calls
2098         * lisp/progmodes/python.el (python-shell-accept-process-output):
2099         Use last comint prompt start as limit for looking-back.
2101 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2103         CEDET (srecode-insert-fcn): Fix use of oref on a class
2104         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
2105         a class.  Reported by Pierre Lorenzon.
2106         (srecode-template-inserter-point): Remove declaration.
2108         CEDET (srecode-create-dictionary): Avoid obsolete object name
2109         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
2110         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
2112 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
2114         C-x 8 shorthands for curved quotes, Euro, etc.
2115         Although C-x 8 lets you insert arbitrary Unicode characters,
2116         it's awkward to use this to insert commonly used symbols such as curved
2117         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
2118         characters commonly found in English text and in basic math.
2119         For example, assuming the Alt key works on your keyboard and iso-transl
2120         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
2121         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
2122         (Bug#20499)
2123         * doc/emacs/mule.texi (Unibyte Mode):
2124         A few other printing characters now work too.
2125         * etc/NEWS: Document this.
2126         * lisp/international/iso-transl.el (iso-transl-char-map):
2127         Also support the following characters:
2128         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
2130 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
2132         Add xref-find-regexp
2133         * lisp/progmodes/xref.el (xref-find-function): Describe the
2134         `matches' action.
2135         (xref-find-regexp): New command, using it.
2136         (xref-collect-references): Rename to xref-collect-matches.
2137         (xref--collect-reference): Rename to xref--collect-match.
2138         (xref-collect-matches, xref--collect-match): Accept new argument,
2139         KIND.  Update accordingly.
2140         (xref--regexp-to-extended): New function.
2141         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
2142         `matches' action.
2143         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
2144         * lisp/progmodes/etags.el (etags-xref-find):
2145         Support the `matches' action.
2146         (etags--xref-find-matches): New function.
2148 2015-05-10  Glenn Morris  <rgm@gnu.org>
2150         * Makefile.in: Fixes for recent change-history changes.
2151         (change-history-nocommit): Update footer regexp.
2152         Ensure output script stays executable.
2154 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
2156         New version of `seq-let' based on a pcase pattern
2157         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
2158         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
2160 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
2162         Add basic HTML5 tags and a template
2163         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
2164         (html-tag-alist): Add HTML5 tags.
2165         (html-tag-help): Add new tags descriptions.
2166         (html-navigational-links): Template for nav links.
2167         (html-html5-template): Template for a HTML5 page.
2169 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
2171         semantic/symref/grep: Don't use word boundaries
2172         * lisp/cedet/semantic/symref/grep.el
2173         (semantic-symref-perform-search): Instead of wrapping input in
2174         word boundaries, check that the characters before and after are
2175         not word constituents.
2177         semantic/symref/grep: Support regexp search
2178         * lisp/cedet/semantic/symref.el
2179         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
2180         the search type is regexp.
2181         * lisp/cedet/semantic/symref/grep.el
2182         (semantic-symref-perform-search): Support the regexp search type.
2183         Pass -E to Grep when it's used.
2185         semantic-symref-regexp: Allow to input an arbitrary string
2186         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
2187         Allow to input an arbitrary string interactively.
2189         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
2190         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
2191         Remove tag-symbol-match-p from the default value
2192         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
2194         Declare find-tag obsolete
2195         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
2196         xref-find-definitions.
2198 2015-05-10  Jan D  <jan.h.d@swipnet.se>
2200         Draw composite string correctly (Bug#20537).
2201         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
2202         (ns_draw_glyph_string): Call it (Bug#20537).
2204 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
2206         Avoid infloop in ERC
2207         * lisp/simple.el (line-move-to-column): Ignore field boundaries
2208         while computing line beginning position.  (Bug#20498)
2210 2015-05-08  Glenn Morris  <rgm@gnu.org>
2212         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
2213         * build-aux/gitlog-to-emacslog: Check called from right directory.
2214         (srcprefix): Remove.
2216         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
2217         * Makefile.in (ChangeLog): No longer pass "distprefix".
2218         * make-dist: Update "make ChangeLog" syntax for the above change.
2220         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
2221         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
2223         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
2225         Add command-line option-parsing to gitlog-to-emacslog.
2226         * build-aux/gitlog-to-emacslog: Add command-line options.
2227         By default, refuse to remove an existing output file.
2228         * Makefile.in (CHANGELOG): Update default.
2229         (ChangeLog): Do not test for existing file.
2230         (change-history-nocommit): Ensure temp file does not exist.
2232         Quieten --without-x compilation.
2233         * lisp/term/common-win.el: Provide a feature.
2234         * lisp/term/x-win.el (term/common-win): Require it.
2236         * lisp/dired-aux.el (dired-do-print): Require lpr.
2238         Quieten compilation, eg in --without-x builds.
2239         * lisp/dired-aux.el (lpr-printer-switch):
2240         * lisp/frame.el (tool-bar-height):
2241         * lisp/linum.el (font-info):
2242         * lisp/window.el (font-info, overflow-newline-into-fringe)
2243         (tool-bar-height):
2244         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
2245         * lisp/gnus/gnus-util.el (iswitchb-mode):
2246         * lisp/mail/rmailmm.el (libxml-parse-html-region):
2247         * lisp/net/nsm.el (gnutls-peer-status)
2248         (gnutls-peer-status-warning-describe):
2249         * lisp/net/shr.el (libxml-parse-xml-region):
2250         * lisp/url/url-http.el (gnutls-peer-status): Declare.
2252 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2254         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
2255         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
2256         `subclass' since they're never called with a class.
2257         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
2258         srecode-dictionary-child-p.
2260 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2262         help--binding-locus: Document argument POSITION.
2263         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
2265 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
2267         Merge from gnulib.
2268         * doc/misc/texinfo.tex: Get latest version.
2270 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
2272         ffap.el (ffap-read-file-or-url): Fix completing-read call
2273         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
2274           `completing-read' should be a symbol.
2276 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
2278         Verify file modifications by other programs
2279         * src/filelock.c (lock_file): Check whether the file was modified
2280         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
2282         Fix keyboard macros that include function keys
2283         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
2284         keys in the macro before returning.  (Bug#20454)
2286 2015-05-08  Glenn Morris  <rgm@gnu.org>
2288         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
2289         "Copyright-paperwork-exempt".  (Bug#20324)
2291         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
2292         (log-edit-rewrite-tiny-change): New variable.
2293         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
2294         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
2295         * etc/NEWS: Mention this.
2297         * lisp/calc/calc.el (math-zerop): Declare.
2299         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
2301 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2303         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
2304         Support the case when BINDINGS is a single tuple.  (Bug#20525)
2306         * etc/NEWS: Fix typo in commit 14bb519
2308 2015-05-07  Jan D  <jan.h.d@swipnet.se>
2310         Warn for multiple display crash for all Gtk+ versions.
2311         * configure.ac: Warn for multiple display crash for all Gtk+
2312         versions.  Output URL to Gtk+ bug (Bug#20452).
2314         ns-win.el (ns-paste-secondary): Use gui-get-selection.
2315         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
2317 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2319         * lisp/emacs-lisp/package.el: New "external" package status
2320         An external package is any installed package that's not built-in
2321         and not from `package-user-dir', which usually means it's from an
2322         entry in `package-directory-list'.  They are treated much like
2323         built-in packages, in that they cannot be through the Package Menu
2324         deleted and are not considered for upgrades.
2325         (package-desc-status): Identify if a package is installed outside
2326         `package-user-dir'.
2327         (package-menu--print-info-simple)
2328         (package-menu--status-predicate): Add support for it.
2329         * etc/NEWS: Document it.
2331 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2333         * lisp/mail/rmail.el: Use lexical-binding
2334         (rmail-bury): Remove unused var `buffer-to-bury'.
2335         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
2336         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
2337         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
2338         (rmail-insert-inbox-text): Remove unused var `movemail'.
2339         (rmail-add-mbox-headers): Remove unused var `limit'.
2340         (rmail-undelete-previous-message): Remove unused var `value'.
2341         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
2342         `resent-reply-to'.
2343         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
2344         (rmail-restore-desktop-buffer): Rename arguments.
2346 2015-05-06  Glenn Morris  <rgm@gnu.org>
2348         * Makefile.in (change-history-commit): Add missing piece of previous.
2350         Avoid unnecessary bumping of Makefile.in's timestamp.
2351         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
2352         (emacslog): New variable.
2353         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
2354         (unchanged-history-files): Use $emacslog rather than Makefile.in.
2355         (change-history-nocommit): Store hash in $emacslog.
2356         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
2357         * admin/update_autogen (changelog_files): Update for the above.
2359         * Makefile.in: Don't always insist on removing existing "ChangeLog".
2360         (CHANGELOG): New variable.
2361         (no-ChangeLog): Remove.
2362         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
2363         (change-history-nocommit): Use a temp file rather than insisting
2364         on deletion of any existing "ChangeLog".
2366         * build-aux/gitlog-to-emacslog: Allow specification of output.
2368         * admin/update_autogen: Add option to update ChangeLog.
2369         (usage): Mention -H.
2370         (changelog_flag, changelog_n, changelog_files): New variables.
2371         (main): Check for -H, and maybe run change-history-nocommit.
2373 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2375         * lisp/subr.el (delete-dups): Pre-size the hashtable.
2377         (define-modify-macro): Make sure cl--arglist-args is defined
2378         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
2379         cl--arglist-args is defined (bug#20517).
2381 2015-05-06  Glenn Morris  <rgm@gnu.org>
2383         * Makefile.in (change-history-nocommit): New.
2385 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
2387         Only cancel timer when it is non-nil
2388         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
2389         timer when it is non-nil
2390         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
2392 2015-05-06  Glenn Morris  <rgm@gnu.org>
2394         Quieten cedet compilation
2395         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
2396         Invert fboundp test to quieten on current Emacs.
2397         * lisp/cedet/ede/config.el (ede-shell-run-something)
2398         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
2399         (semanticdb-refresh-table): Declare.
2400         (ede-preprocessor-map): Require semantic/db.
2402         Quieten cc-mode compilation
2403         * lisp/progmodes/cc-awk.el (c-forward-sws):
2404         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
2405         Declare.
2407 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
2409         lisp/subr.el (delete-dups): Avoid nreverse.
2411 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
2413         * lisp/subr.el (delete-dups): Make it destructive again.
2415 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
2417         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
2419 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2421         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
2422         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
2423         (testcover--read): Rename from testcover-read.  Change calling convention.
2424         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
2425         (testcover-start): Use add-function.  Move edebug-all-defs binding to
2426         testcover--read.
2427         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
2428         (testcover-mark): Remove unused var `item'.
2429         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
2431 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
2433         lisp/subr.el (delete-dups): Use a hash table
2434         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
2435           use a hash table. This can result in ~500 times speed-up for typical
2436           collections of size 5000, like that of `load-library'.
2438 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2440         CEDET: Avoid `oref' on classes in a few more cases
2441         * lisp/cedet/ede/generic.el (ede-find-target):
2442         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
2443         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
2444         var `prefix'.
2446         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
2447         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
2448         (semantic-symref-perform-search): Remove unused var `pat'.
2450         CEDET (srecode-compile-inserter): Avoid `oref' on classes
2451         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
2452         Avoid `oref' on classes (bug#20491).
2453         (srecode-compile-split-code): Remove unused var `key'.
2455 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
2457         Clean up pulse.el a little
2458         * lisp/cedet/pulse.el (pulse): Remove.
2459         (pulse-momentary-timer): Save instead of the stop time.
2460         (pulse-momentary-highlight-overlay): Call
2461         pulse-momentary-unhighlight first thing. Treat
2462         pulse-momentary-overlay as a single value, not a list. Save the
2463         created timer. Only pass the stop time to the timer.
2464         (pulse-tick): Update accordingly.
2465         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
2466         single value. Cancel the timer.
2468 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
2470         Support the biblatex journaltitle field
2471         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
2472         Support the biblatex journaltitle field.
2474 2015-05-05  Glenn Morris  <rgm@gnu.org>
2476         Minor declare-function improvement
2477         * lisp/emacs-lisp/bytecomp.el
2478         (byte-compile-macroexpand-declare-function):
2479         Handle declarations after calls.  (Bug#20509)
2481         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
2483         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
2485 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
2487         Pulse using a timer
2488         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
2489         (pulse-momentary-highlight-overlay): Set up the timer instead of
2490         calling `pulse'
2491         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
2492         (pulse-tick): New function.
2493         (pulse-momentary-unhighlight): Cut off the stop time.
2494         (pulse-delay): Update the docstring WRT to not using sit-for.
2496         Add semantic/symref/grep file patterns for ruby-mode
2497         * lisp/cedet/semantic/symref/grep.el
2498         (semantic-symref-filepattern-alist): Add patterns for
2499         ruby-mode. Clarify the docstring.
2501         Don't require match
2502         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
2503         match. That doesn't work for every command, and some identifier
2504         completion tables are bound to be imperfect anyway.
2506 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
2508         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
2509         (semantic-grammar--template-expand): New function.
2510         (semantic-grammar-header, semantic-grammar-footer): Use it.
2511         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
2512         (semantic-grammar-file-regexp): Refine regexp.
2513         (semantic-grammar-eldoc-get-macro-docstring):
2514         Use elisp-get-fnsym-args-string when available.
2515         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
2516         instead of the old eldoc-* names.
2517         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
2518         from elisp-mode.el.  Tweak calling convention.
2519         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
2520         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
2521         elisp--get-fnsym-args-string.
2522         (elisp--highlight-function-argument): Add `prefix' arg.
2523         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
2524         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
2526 2015-05-05  Glenn Morris  <rgm@gnu.org>
2528         * lisp/help-fns.el (describe-function-1):
2529         Handle builtins with advertised calling conventions.  (Bug#20479)
2531 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
2533         Merge branch 'seq-let'
2535         Update `seq-let' documentation
2536         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
2537         with the support of  `&rest'.
2539         Add support for &rest in `seq-let'
2540         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
2541         in the argument list.
2542         * test/automated/seq-tests.el: Add a test for parsing and binding
2543         `&rest' in `seq-let'.
2545 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2547         Spelling fixes
2549 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
2551         * eieio-custom.el (eieio-object-value-get): Add missing increment
2552         (Bug#20467)
2554         (eieio-object-value-create): Adjust to new slots representation
2555         (Bug#20467)
2556         * eieio-custom.el (eieio-object-value-create):
2557         Fix missed adjustment to new representation of slots metadata.
2559 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
2561         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
2563 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
2565         Work around "Attempt to modify read-only object"
2566         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
2567         elisp--xref-find-definitions, to work around "Attempt to modify
2568         read-only object" error.
2570         Only skip some variables that have function counterparts
2571         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
2572         Only skip minor-mode-named variable if it's defined in a Lisp
2573         file, and it's in minor-mode-list (bug#20506).
2574         * test/automated/elisp-mode-tests.el
2575         (elisp-xref-finds-both-function-and-variable)
2576         (elisp-xref-finds-only-function-for-minor-mode): New tests.
2578 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
2580         Buttonize the whole line, including the number at the beginning
2581         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
2582         previous change.
2583         (xref--insert-xrefs): Buttonize the whole line, including the
2584         number at the beginning.
2586         Make sure we're inside the let bindings
2587         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
2588         Make sure we're inside the let bindings.
2589         * test/automated/elisp-mode-tests.el
2590         (elisp-completes-functions-after-let-bindings): New test.
2592 2015-05-04  Glenn Morris  <rgm@gnu.org>
2594         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
2595         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
2596         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
2597         Remove outdated declarations.
2599         Replace instances of "(eval-when-compile (autoload ...))"
2600         * lisp/gnus/gnus-art.el (nneething-get-file-name):
2601         Declare rather than autoload.
2602         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
2603         Remove pointless autoload.
2604         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
2605         (gnus-topic-create-topic, gnus-topic-enter-dribble):
2606         Declare rather than autoload.
2607         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
2608         (mailcap-extension-to-mime): Autoload at run-time.
2609         * lisp/gnus/mm-util.el (latin-unity-massage-name)
2610         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
2611         (latin-unity-representations-present-region):
2612         Declare rather than autoload.
2613         * lisp/gnus/mml-smime.el (epg-make-context)
2614         (epg-passphrase-callback-function): Autoload at run-time.
2615         (epg-context-set-signers, epg-context-result-for)
2616         (epg-new-signature-digest-algorithm)
2617         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
2618         (epg-sign-string, epg-encrypt-string)
2619         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
2620         (epg-configuration, epg-expand-group, epa-select-keys):
2621         Declare rather than autoload.
2622         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
2623         Autoload at run-time.
2624         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
2625         (gnus-registry-get-id-key, gnus-registry-action):
2626         Declare rather than autoload.
2627         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
2628         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
2629         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
2630         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
2631         (spam-stat-split-fancy): Remove pointless autoloads.
2632         * lisp/net/mairix.el: Load gnus-util when compiling.
2633         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
2634         (message-field-value): Declare rather than autoload.
2635         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
2636         Check gnus-alive-p is fbound.
2637         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
2638         (vm-check-for-killed-summary, vm-error-if-folder-empty)
2639         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
2640         Declare rather than autoload.
2642         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
2644         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
2645         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
2647         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
2649         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
2651         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
2652         * lisp/emacs-lisp/package.el (epg-signature-status):
2653         Fix declarations.
2655         * lisp/play/gametree.el (gametree-show-children-and-entry)
2656         (gametree-apply-layout, gametree-mouse-show-subtree)
2657         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
2659         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
2660         Handle cl-defgeneric, cl-defmethod.
2662 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
2664         Highlight both type and symbol name
2665         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
2666         Highlight both type and symbol name.
2668         Insert, highlight and align line numbers in xref output
2669         * lisp/progmodes/etags.el (xref-location-line): Specialize for
2670         xref-etags-location.
2671         * lisp/progmodes/xref.el (xref-location-line): New generic method.
2672         (xref-file-location): Add reader for the line slot.
2673         (xref--location-at-point): Skip to the `xref-location' property.
2674         (xref--collect-reference): Drop the line number from description.
2675         (xref--insert-xrefs): Insert, highlight and align line numbers.
2677 2015-05-04  Daniel Colascione  <dancol@dancol.org>
2679         Fix previous commit
2681 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
2683         Don't pulse the indentation, or the newline
2684         * lisp/cedet/pulse.el (pulse-lighten-highlight)
2685         (pulse-reset-face): Fall back to the inherited background
2686         attribute in FACE.
2687         (pulse-momentary-highlight-region): Add autoload cookie.
2688         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
2689         indentation, or the newline, if the line's non-empty
2690         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
2692 2015-05-04  Daniel Colascione  <dancol@dancol.org>
2694         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
2695         * doc/lispref/positions.texi (Excursions): Document
2696         `save-mark-and-excursion'.
2697         * lisp/font-lock.el (font-lock-fontify-block): Use
2698         `save-mark-and-excursion' instead of `save-excursion', restoring
2699         Emacs 24 behavior.
2700         * lisp/simple.el (save-mark-and-excursion--save)
2701         (save-mark-and-excursion--restore): New functions.
2702         (save-mark-and-excursion): New user macro.
2703         * src/editfns.c (Fsave_excursion): Mention
2704         `save-mark-and-excursion' in `save-excursion' documentation.
2706 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
2708         Classify lone symbol inside let varlist as variable
2709         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
2710         Classify lone symbol inside let varlist as variable.
2711         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
2712         New test.
2714         Add xref-pulse-on-jump
2715         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
2716         Add autoload cookie.
2717         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
2718         (xref--maybe-pulse): New function.
2719         (xref-pop-marker-stack, xref--pop-to-location)
2720         (xref--display-position): Use it.
2721         (xref--location-at-point): Use back-to-indentation.
2723 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2725         * lisp/org/org-{macs,list}.el: Fix lexical warnings
2726         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
2727         (org-list-get-next-item, org-list-get-prev-item)
2728         (org-list-get-children): Mark unused arg `struct'.
2729         (org-list-use-alpha-bul-p): Remove unused var `bul'.
2730         (org-toggle-checkbox): Mark unused var.
2731         (org-update-checkbox-count): Remove unused var `box-num'.
2732         (org-adapt-indentation): Declare.
2733         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
2734         (org-list-send-list): Remove unused var `txt'.
2735         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
2736         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
2737         * lisp/org/org-macs.el: Use `declare'.
2738         (org-with-limited-levels): Declare dyn-bound vars.
2740 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
2742         Fix minor issues with CEDET on MS-Windows
2743         * lisp/cedet/semantic/symref/idutils.el
2744         (semantic-symref-parse-tool-output-one-line): Fix the search
2745         regexp to match MS-Windows file names with drive letters.
2746         (Bug#19468)
2747         * lisp/cedet/semantic/symref/grep.el
2748         (semantic-symref-grep-use-template): Remove "--color=always" from
2749         Grep switches on MS-Windows.
2750         (semantic-symref-grep-shell): Use shell-file-name as the default
2751         value, so this works not only on Posix platforms.
2752         (semantic-symref-perform-search): Use shell-quote-argument instead
2753         of literal '..' for portable quoting of Grep command-line
2754         argument.  Use shell-command-switch instead of a literal "-c".
2755         * lisp/cedet/semantic/bovine/gcc.el
2756         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
2757         for an absolute file name in a portable way.
2759 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
2761         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
2762         (package-import-keyring, package-refresh-contents)
2763         (package-compute-transaction, package--save-selected-packages)
2764         (package-install-from-archive, package-delete)
2765         (package-menu--perform-transaction): Use `inhibit-message'
2766         instead.
2767         (package--compile): Set `warning-minimum-level' to :error.
2769 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
2771         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
2772         (terminal-init-screen): Use it (bug#20356).
2773         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
2774         (xterm--extra-capabilities-type): New const.
2775         (xterm-extra-capabilities): Use it.
2776         (xterm--version-handler): Lower the pseudo-version for `screen'.
2778 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
2780         xref--insert-xrefs: Tweak the faces
2781         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
2782         Always insert a newline at the end (to avoid mouse-face background
2783         tail at the last line).
2785         elisp-completion-at-point: Prioritize being quoted over funpos
2786         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
2787         Only consider function position when not inside quoted form
2788         (bug#20425).
2789         * test/automated/elisp-mode-tests.el: New file.
2791         Stop vc-print-log from jumping to the top
2792         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
2793         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
2794         is not specified.
2795         (vc-incoming-outgoing-internal): Always pass nil.
2796         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
2797         call it, and don't set vc-sentinel-movepoint (bug#15322).
2798         (vc-print-root-log): Don't fetch the root working revision, nor
2799         pass it to vc-print-log-internal.
2801 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
2803         Fix display of keyboard layouts for right-to-left scripts
2804         * lisp/international/quail.el (quail-insert-kbd-layout): Force
2805         left-to-right paragraph direction.
2807 2015-05-02  K. Handa  <handa@gnu.org>
2809         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
2811         * cmds.c (internal_self_insert): When we insert spaces for
2812         padding, set point before the padding spaces, not after them.
2814 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
2816         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
2818 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
2820         Fix etags-xref-find for references
2821         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
2822         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
2823         directory if no tags tables are loaded (bug#19468).
2825 2015-05-02  Philipp Stephani  <phst@google.com>
2827         Update the options in whitespace-style defcustom
2828         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
2829         `repeat' because the option is really set-like.  Add missing
2830         options.  Reorder options to match the order in the
2831         documentation.  (Bug#20346)
2833 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
2835         Fix error diagnostics of c-macro-expand
2836         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
2837         too early if no start-marker string was found -- that generally
2838         means cpp exited abnormally, and we still want to show its error
2839         messages to the user.
2841         Don't require Texinfo 5.0 for Emacs documentation
2842         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
2843         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
2844         "@codequoteundirected on", respectively, to avoid requiring
2845         Texinfo 5.x for Emacs documentation.
2847 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
2849         * lisp/files.el (pwd):
2850         When called with a prefix argument, insert the current default
2851         directory at point.
2853 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2855         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
2856         * lisp/isearch.el (isearch-mode-map): Don't inhibit
2857         function-key-map remapping for backspace (bug#20466).
2859 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
2861         Implement xref-find-references in etags and elisp-mode
2862         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
2863         (elisp-xref-find): Use it.
2864         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
2865         * lisp/progmodes/xref.el (xref-collect-references):
2866         (xref--collect-reference): New functions.
2868 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
2870         Prefer plain characters to Texinfo circumlocutions
2871         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
2872         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
2874         Fix single-quoting style in PDF manuals
2875         The PDF versions of the GNU manuals used curved single quotes to
2876         represent grave accent and apostrophe, which made it a pain to cut
2877         and paste code examples from them.  Fix the PDF versions to use
2878         grave accent and apostrophe for Lisp source code, keystrokes, etc.
2879         This change does not affect the info files, nor does it affect
2880         ordinary uses of curved single quotes in PDF.
2881         * doc/emacs/docstyle.texi: New file, which specifies treatment for
2882         grave accent and apostrophe, as well as the document encoding.
2883         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
2884         * doc/lispintro/emacs-lisp-intro.texi:
2885         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
2886         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
2887         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
2888         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
2889         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
2890         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
2891         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
2892         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
2893         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
2894         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
2895         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
2896         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
2897         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
2898         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
2899         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
2900         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
2901         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
2902         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
2903         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
2904         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
2905         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
2906         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
2907         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
2908         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
2909         * doc/misc/woman.texi:
2910         Use it instead of '@documentencoding UTF-8', to lessen the need for
2911         global changes like this in the future.
2912         * doc/emacs/Makefile.in (EMACS_XTRA):
2913         * doc/lispintro/Makefile.in (srcs):
2914         * doc/lispref/Makefile.in (srcs):
2915         Add dependency on docstyle.texi.
2916         * doc/misc/Makefile.in (style): New macro.
2917         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
2918         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
2919         Use it.
2921 2015-05-01  Glenn Morris  <rgm@gnu.org>
2923         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
2925         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
2926         (help-fns--signature): Declare.
2928         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
2930 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
2932         New macro seq-let, providing destructuring support to seq.el
2933         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
2934         to `cl-destructuring-bind' but works on all sequence types supported
2935         by `seq.el'.  Bump version number to 1.6.
2936         * test/automated/seq-tests.el: Add tests for seq-let.
2937         * doc/lispref/sequences.texi: Add documentation for seq-let.
2939 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
2941         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
2943 2015-05-01  Glenn Morris  <rgm@gnu.org>
2945         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
2947 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
2949         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
2950         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
2951         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
2952         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
2953         (Bug#20445).
2955 2015-05-01  K. Handa  <handa@gnu.org>
2957         * mule-cmds.el (input-method-use-echo-area): Change :type to
2958         'boolean.
2960 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2962         Start using proportional fonts in eww by default
2963         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
2964         it seems to work well.
2966         Fix links in tables in shr
2967         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
2968         makes (some) links in tables not work.
2970 2015-05-01  Jan D  <jan.h.d@swipnet.se>
2972         (ns-get-cut-buffer-internal): Remove this alias.
2973         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
2975 2015-04-30  Glenn Morris  <rgm@gnu.org>
2977         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
2978         Update for 2015-02-08 change to indirect-function.
2980         * lisp/term/ns-win.el (ns-get-selection-internal):
2981         Remove declaration for function deleted 2014-10-21.
2983         * lisp/dom.el: Load subr-x when compiling, for when-let.
2985         Silence some compilation warnings
2986         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
2987         * lisp/emulation/cua-base.el (delete-active-region):
2988         * lisp/net/net-utils.el (w32-get-console-output-codepage):
2989         * lisp/term/ns-win.el (ns-own-selection-internal)
2990         (ns-disown-selection-internal, ns-selection-owner-p)
2991         (ns-selection-exists-p, ns-get-selection):
2992         Declare for compiler..
2994         Function declaration updates prompted by 'make check-declare'
2995         * lisp/emacs-lisp/package.el (lm-homepage):
2996         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
2997         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
2998         * lisp/gnus/mml.el (libxml-parse-html-region):
2999         * lisp/gnus/nnrss.el (libxml-parse-html-region):
3000         * lisp/net/eww.el (libxml-parse-html-region):
3001         * lisp/net/shr.el (libxml-parse-html-region):
3002         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
3003         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
3004         * lisp/vc/vc-git.el (vc-annotate-convert-time):
3005         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
3006         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
3007         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
3008         Update declaration.
3010         Remove compatibility code for 20-year old function renaming
3011         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
3012         Make it an obsolete alias.
3013         (idlwave-shell-filter): Change all uses to comint-output-filter.
3015 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
3017         Add ace-window face config
3018         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
3019         configuration.
3021 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
3023         Unclutter 'make doc' output a bit
3024         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
3025         Use make subst rather than sh IFS to split target string apart.
3026         This makes 'make' output easier to follow.
3028         Merge from gnulib
3029         * doc/misc/texinfo.tex: Update from gnulib.
3031 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3033         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
3034         (package-menu--print-info): Obsolete.
3035         (package-menu--print-info-simple): New function.
3036         (package-menu--refresh): Use it, simplify code, and improve
3037         performance.
3038         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
3039         Tiny performance improvement.
3041         * lisp/emacs-lisp/package.el (package--message): inhibit-message
3043 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3045         Omit -Wstrict-overflow workaround in GCC 5
3046         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
3047         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
3049         Merge from gnulib
3050         This incorporates:
3051         2015-04-29 extern-inline: no need for workaround in GCC 5.1
3052         2015-04-26 file-has-acl: port to CentOS 6
3053         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
3055 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
3057         Set next-error-* in xref--xref-buffer-mode
3058         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
3059         `next-error-last-buffer'.
3060         (xref--next-error-function): New function.
3061         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
3063 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3065         python.el: Fix warnings on looking-back calls missing LIMIT
3066         * lisp/progmodes/python.el (python-shell-accept-process-output):
3067         Pass LIMIT arg to looking-back.
3069 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3071         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
3072         (package--download-and-read-archives): Use pushnew instead of
3073         append.  If something terrible happened during a previous
3074         download, simply refreshing should now make things work again.
3076 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
3078         Introduce etags-xref-find-definitions-tag-order
3079         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
3080         New variable.
3081         (etags--xref-find-definitions): Use it (bug#19468).
3083 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
3085         PATH- and completion-related fixes in Eshell on MS-Windows
3086         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
3087         MS-Windows, prepend "." to list of directories produced from PATH,
3088         as Windows always implicitly searches the current directory first.
3089         (eshell-force-execution): Make it have a non-nil default value on
3090         MS-Windows and MS-DOS.
3091         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
3092         eshell-force-execution is non-nil, complete on readable files and
3093         directories, not only executables.  When running on MS-Windows,
3094         prepend "." to list of directories produced from PATH, as Windows
3095         always implicitly searches the current directory first.
3097 2015-04-29  Sam Steingold  <sds@gnu.org>
3099         bury RCIRC buffers when there is no activity
3100         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
3101         (rcirc-bury-buffers): new function
3102         (rcirc-next-active-buffer): when there is no new activity, use
3103         `rcirc-bury-buffers' to hide all RCIRC buffers
3105 2015-04-29  Michael Albinus  <michael.albinus@gmx.de>
3107         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
3109 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
3111         Fix DBUS query result parsing for secrets-search-items
3112         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
3113         parsing.  The function assumed that return value of the
3114         SearchItems method called on a collection is a list of two lists,
3115         however this is true only when no collection is specified.  GNOME
3116         had used to incorrectly return a list of two lists in both cases,
3117         but this was already fixed:
3118         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
3119         incorrect information in the secrets-search-items’ docstring.
3120         (Bug#20449)
3122 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3124         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
3125         (byte-compile--message): Use `inhibit-message' instead of hiding
3126         the previous message with (message nil).
3128 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
3130         Remove the deprecated INTERNAL_FIELD macro by expanding it
3131         * src/lisp.h (INTERNAL_FIELD): Remove.
3132         (DEFVAR_KBOARD): Modify accordingly.
3133         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
3134         * syntax.c: Adjust users.
3135         * src/buffer.c (compact_buffer): Use BVAR.
3137 2015-04-29  Glenn Morris  <rgm@gnu.org>
3139         Replace an obsolete function alias
3140         * lisp/isearch.el (isearch-yank-x-selection):
3141         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
3142         (mouse-drag-secondary-moving):
3143         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
3144         Replace obsolete alias x-get-selection with gui-get-selection.
3146 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
3148         * lisp/mail/rmailsum.el: Use lexical-binding.
3150 2015-04-29  Glenn Morris  <rgm@gnu.org>
3152         * test/automated/package-test.el (package-test-update-archives-async):
3153         Skip test on hydra.nixos.org.
3155 2015-04-28  Glenn Morris  <rgm@gnu.org>
3157         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
3158         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
3159         (foldout-mouse-hide-or-exit): Use new names for outline functions.
3161         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
3162         Update for 2014-06-26 hideif.el change.
3164         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
3165         (rmail--decode-and-apply): New function.
3166         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
3168         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
3170 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3172         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
3173         (package-menu--refresh): Delegate obsolete-hiding to
3174         `package--remove-hidden'.
3175         (package--remove-hidden): Disregard high-priority package if it is
3176         older than the installed one.
3178 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
3180         Update source file encoding list
3181         Update admin/notes/unicode, along with coding system cookies in
3182         other files, so that the two match each other better.
3183         * admin/notes/unicode: lisp/language/ethio-util.el and
3184         lisp/language/ethiopic.el also use utf-8-emacs.
3185         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
3186         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
3187         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
3188         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
3189         * etc/refcards/sk-survival.tex:
3190         Add "coding: utf-8" so that this file is not mishandled in a
3191         Latin-1 or Big-5 locale.
3192         * lisp/international/robin.el, lisp/org/ox-ascii.el:
3193         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
3194         * lisp/language/ethio-util.el: Fix trailer.
3196 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
3198         Fix synchronous invocation of Ispell
3199         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
3200         value to ispell-process-directory before calling ispell-init-process.
3201         Don't call set-process-coding-system if ispell-async-processp is nil.
3202         (Bug#20448)
3204 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3206         * lisp/emacs-lisp/package.el: Skip space and comments in init file
3207         (package--ensure-init-file): Insert snippet at first
3208         non-whitespace non-comments line.  Respects local-vars at the top
3209         of the file.
3211 2015-04-28  Glenn Morris  <rgm@gnu.org>
3213         * lisp/mail/rmail.el (rmail-copy-headers):
3214         Handle rmail-nonignored-headers being nil.  (Bug#18878)
3216         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
3218         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
3219         Don't get confused by a bzrlib version mismatch warning.
3221 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3223         Change default location of EUDC options file
3224         * NEWS: Document change to EUDC options file's default location.
3225         * lisp/net/eudc-vars.el (eudc-options-file): Use
3226         `locate-user-emacs-file' to change default options file location.
3228 2015-04-27  Glenn Morris  <rgm@gnu.org>
3230         * test/automated/package-test.el (package-test-update-archives-async):
3231         Try to handle the test server script dying.
3233 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3235         * lisp/saveplace.el (save-place-mode): New minor mode.
3236         (save-place): Redefine as an obsolete alias.
3238         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
3239         * lisp/midnight.el: Use lexical-binding.
3240         (midnight-mode): Make it a proper minor mode.
3241         (midnight-buffer-display-time): Make arg non-optional.
3242         (midnight-find): Remove.
3243         (clean-buffer-list-kill-never-regexps)
3244         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
3245         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
3246         contain functions.
3247         (clean-buffer-list): Use cl-find.
3248         Allow clean-buffer-list-kill-never-regexps to contain functions.
3250 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
3252         Bump version of seq.el to 1.5
3253         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
3254           from seq-doseq.  Bump version number of seq.el.
3256 2015-04-27  Glenn Morris  <rgm@gnu.org>
3258         * lisp/mail/rmail.el (rmail-reply):
3259         Decode subject before matching "Re:" prefix.  (Bug#20396)
3261 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3263         * lisp/emacs-lisp/package.el: Small improvements
3264         (package--with-work-buffer-async): More informative error.
3265         (package-install-user-selected-packages): Rename to
3266         `package-install-selected-packages'.
3268 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3270         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
3271         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
3272         (eieio--class-make): Remove leftover `tag'.
3274 2015-04-27  Glenn Morris  <rgm@gnu.org>
3276         * lisp/gnus/message.el (gnus-extract-address-components):
3277         Remove bogus declaration that was masking previous problem.
3279 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
3281         * lisp/gnus/message.el (message-insert-formatted-citation-line):
3282         Fix typo.  (Bug#20318)
3284 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3286         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
3288         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
3289         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
3290         the buffer in yet another frame.
3291         (reftex-toc-visit-location): Make sure toc-window has focus at the end
3292         when `final' is nil.
3293         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
3294         silence warnings.  Use `--' to clarify that it's internal.
3295         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
3296         (reftex-toc-promote): Clarify unused argument.
3297         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
3298         Add `reftex--' prefix.  Fix all users.
3299         (reftex-toc-promote-prepare): Use _ for dummy variable.
3300         (reftex-toc-restore-region): Rename `m
3302 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
3304         Fix a typo in bibtex.el
3305         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
3306         last change.  (Bug#20429)
3308         Fix redisplay of frame after loading new fonts
3309         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
3310         frame because new fonts were loaded, disable all redisplay
3311         optimizations on that frame by calling SET_FRAME_GARBAGED.
3312         (Bug#20410)
3314 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3316         * lisp/info.el (Info-menu): Properly provide the `default'
3317         (Bug#20391)
3319         * elisp-mode.el: Catch errors from `documentation'
3320         (Bug#20418)
3321         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
3322         Catch errors from documentation.
3323         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
3325 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
3327         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
3328         Remove redundant ":group 'package".
3330 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
3332         Fix a typo in rmail.el
3333         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
3334         last commit.  (Bug#20429)
3336 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
3338         Introduce xref-prompt-for-identifier
3339         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
3340         (xref--read-identifier): Use it
3341         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
3343 2015-04-26  João Távora  <joaotavora@gmail.com>
3345         `tex-insert-quote' after single `'' opens quotes instead of closing
3346         Without this, it's very hard to precede double quotes with the
3347         apostrophe character, i.e. insert the sequence '``
3348         (quote-backquote-backquote), commonly useful in portuguese, for
3349         instance.
3350         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
3351         chars making `tex-insert-quote' be in the "opening" context.
3353 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
3355         Pass `id' to `completing-read' as def instead of initial input
3356         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
3357         as the default value instead of initial input
3358         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
3360 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
3362         Don't freeze with unreadable processes
3363         Don't freeze if an exiting process can't be read from. (Bug#19860).
3364         This fixes a bug I introduced in
3365         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
3366         "* process.c: Add sanity checks for file descriptors."
3367         Dmitry Gutov did most of the legwork in finding the problem.
3368         * src/process.c (wait_reading_process_output):
3369         Treat non-running processes that can't be read from
3370         the same as other non-running processes.
3372 2015-04-25  Alan Mackenzie  <acm@muc.de>
3374         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
3375         * lisp/subr.el (remove-yank-excluded-properties): put
3376         `with-silent-modifications' around only the last three lines of code.
3378 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3380         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
3381         (package--all-keywords): Deleted variable.
3383         * etc/NEWS: Document package-hiding functionality
3385 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
3387         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
3389         Clarify the doc string of 'replace-regexp-in-string'
3390         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
3392         Improve doc string of 'insert-buffer-substring'
3393         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
3395         MS-Windows followup for the recent gnulib update
3396         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
3397         acl-internal.c.
3399 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
3401         Spelling fixes
3403         Merge from gnulib
3404         This incorporates:
3405         2015-04-24 file-has-acl: new module, split from acl
3406         2015-04-24 manywarnings: add GCC 5.1 warnings
3407         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
3408         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
3409         2015-04-15 acl: On Linux, check for acls without libacl
3410         2015-04-14 tempname: avoid unused parameter warnings (trivial)
3411         * lib/acl-internal.c: New file, from gnulib.
3412         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
3413         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
3414         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
3415         Update from gnulib.
3417         Port --enable-gcc-warnings to GCC 5.1 x86-64
3418         * lib-src/ebrowse.c (dump_sym):
3419         * lib-src/hexl.c (main):
3420         * src/ccl.c (ccl_driver):
3421         * src/character.c (string_escape_byte8):
3422         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
3423         * src/gnutls.c (Fgnutls_boot):
3424         * src/gtkutil.c (xg_check_special_colors):
3425         * src/image.c (x_build_heuristic_mask):
3426         * src/print.c (safe_debug_print, print_object):
3427         * src/term.c (produce_glyphless_glyph):
3428         * src/xdisp.c (get_next_display_element)
3429         (produce_glyphless_glyph):
3430         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
3431         Don't use a signed format to print an unsigned integer, or vice
3432         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
3433         * src/image.c (png_load_body, jpeg_load_body):
3434         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
3436 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
3438         Add new faces to tsdh-light-theme
3439         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
3440         definitions for Info-quoted, ace-jump-face-foreground,
3441         hl-paren-face, show-paren-match, and show-paren-mismatch.
3443 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
3445         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
3447 2015-04-24  Glenn Morris  <rgm@gnu.org>
3449         * build-aux/gitlog-to-emacslog:
3450         Use raw log format rather than wrapped one.
3452 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3454         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
3455         (seq-doseq): Fix out-of-scope binding.
3456         Don't call `seq-length at every iteration.
3457         Reduce `if's from 3 to 2 per iteration.
3458         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
3460 2015-04-24  Glenn Morris  <rgm@gnu.org>
3462         * lisp/textmodes/text-mode.el (text-mode-hook):
3463         Move text-mode-hook-identify to default.
3465         * lisp/mouse.el (minor-mode-menu-from-indicator):
3466         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
3468         * lisp/help-fns.el (describe-function): More type checking.
3469         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
3471         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
3472         (Bug#20325)
3474 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
3476         shr: strip leading whitespace when expanding URLs
3477         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
3479 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
3481         Clarify "co-authored" some more
3483         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
3485         Clarify doc strings of functions that search for properties
3486         * src/textprop.c (Fnext_char_property_change)
3487         (Fprevious_char_property_change)
3488         (Fnext_single_char_property_change)
3489         (Fprevious_single_char_property_change, Fnext_property_change)
3490         (Fnext_single_property_change, Fprevious_property_change)
3491         (Fprevious_single_property_change): Clarify doc strings wrt return
3492         value and the optional LIMIT argument.  (Bug#20411)
3494 2015-04-24  Glenn Morris  <rgm@gnu.org>
3496         * test/automated/message-mode-tests.el (message-mode-propertize):
3497         Handle non-writable HOME; eg on hydra.nixos.org.
3499 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
3501         Avoid starting threads by w32-shell-execute
3502         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
3503         local file names, before invoking ShellExecute.  (Bug#20220)
3505 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
3507         Fix following doc-links in `widget-documentation-link-action'
3508         * lisp/wid-edit.el (widget-documentation-link-action): Make
3509         following doc-links less simplistic (Bug#20398).
3511 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3513         Improve EUDC manual
3514         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
3516 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3518         Omit needless "\ " after multibyte then newline
3519         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
3520         (print_object): When print-escape-multibyte is non-nil and a
3521         multibyte character is followed by a newline or formfeed, followed
3522         by a hex digit, don't output a needless "\ " before the hex digit.
3523         * test/automated/print-tests.el (print-hex-backslash): New test.
3525 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
3527         Add a new `inhibit-message' variable
3528         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
3529         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
3530         `inhibit_message' is non-zero.
3531         * etc/NEWS: Add an entry.
3532         * doc/lispref/display.texi: Add an entry for `inhibit-message',
3533           mention it in `message'.
3535 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
3537         Fix last fix in `display-buffer-record-window'.
3538         * lisp/window.el (display-buffer-record-window): Fix last fix.
3540 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
3542         Minor edits in CONTRIBUTE
3543         * CONTRIBUTE: Rearrange instructions about log messages.
3544         Use "Git" capitalized all over.
3545         Use 2 spaces between sentences.
3547 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
3549         * lisp/files.el (basic-save-buffer): Fix argument
3551         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
3552         In case `(and (null custom-file) init-file-had-error)' do the same
3553         thing we'd do if `(null user-init-file)', which is to either error out
3554         or return nil.  This is in line with `custom-save-all' which would
3555         throw an error in that situation. (bug#20355)
3557         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
3558         (package-menu-hide-low-priority): New variable, see its doc.
3559         (package-archive-priorities): Update doc.
3560         (package-desc-priority): New function.
3561         (package-desc-priority-version): Use it.
3562         (package--remove-hidden): New function.
3563         (package-menu--refresh): Use it.
3565         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
3566         (package-menu--hide-obsolete): New variable.
3567         (package--remove-hidden): Use it.
3568         (package-menu-hide-obsolete): New interactive function to toggle
3569         the variable.
3570         (package--quick-help-keys): Document it.
3571         (package-menu-async): Add :version tag.
3572         (package-menu-mode-map): Bind package-menu-hide-obsolete.
3573         (package-desc-status): Indicate non-installed obsolete packages as
3574         avail-obso.
3575         (package-menu-mark-install): Allow installation of avail-obso.
3576         (package-menu--status-predicate): Sort avail-obso with available.
3578 2015-04-22  Alan Mackenzie  <acm@muc.de>
3580         On C-y, stop some text property entries being written into buffer-undo-list
3581         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
3582         `with-silent-modifications'.
3584 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
3586         In display-buffer-record-window record selected window if necessary.
3587         * lisp/window.el (display-buffer-record-window): Store selected window
3588         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
3590 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
3592         Fix reftex-citation bug
3593         * reftex-cite.el (reftex-extract-bib-entries): Fix
3594         `wrong-type-argument stringp nil' error that occurs when AUCTeX
3595         integration is enabled and there are no citations in the document
3596         so far.
3598 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
3600         Add or reset based on the presence of MERGE_HEAD
3601         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
3602         `vc-git-resolve-when-done' to `after-save-hook' in either case.
3603         (vc-git-conflicted-files): Add a TODO.
3604         (vc-git-resolve-when-done): Depending on the presence of
3605         MERGE_HEAD, either update the resolved file in the index, or
3606         remove it from there.  (Bug#20292)
3608 2015-04-21  Glenn Morris  <rgm@gnu.org>
3610         * lisp/custom.el (custom-declare-group): No need to purecopy
3611         custom-current-group-alist members following recent change to set
3612         it to nil before dumping.
3614         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
3615         (Bug#20399)
3617 2015-04-21  Daniel Colascione  <dancol@dancol.org>
3619         Unbreak no-op buffer save message
3620         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
3621         (basic-save-buffer): Accept called-interactively as an argument instead of
3622         directly invoking called-interactively-p, which will always yield nil
3623         in that context.
3625 2015-04-21  Alan Mackenzie  <acm@muc.de>
3627         CC Mode: Do nothing in before/after-change-functions for text property changes
3628         Fixes bug#20266.
3629         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
3630         yank-handled-properties buffer local, and remove 'category from it.
3631         (c-called-from-text-property-change-p): New function.
3632         (c-before-change): Don't do anything if a call of the new function
3633         returns non-nil.
3634         (c-after-change): Don't do much if a call of the new function returns
3635         non-nil.
3636         (c-extend-after-change-region): Put changes to text property 'fontified
3637         inside c-save-buffer-state.
3639 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
3641         Fix byte-compiler warnings about looking-back.
3642         * lisp/vc/log-view.el (log-view-end-of-defun-1):
3643         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
3644         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
3645         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
3646         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
3647         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
3648         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
3649         * lisp/org/org.el (org-insert-heading, org-sort-entries):
3650         * lisp/org/org-mouse.el (org-mouse-end-headline)
3651         (org-mouse-context-menu):
3652         * lisp/org/org-clock.el (org-clock-cancel):
3653         * lisp/man.el (Man-default-man-entry):
3654         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
3655         (rmail-ensure-blank-line):
3656         * lisp/mail/footnote.el (Footnote-delete-footnote):
3657         * lisp/mail/emacsbug.el (report-emacs-bug):
3658         * lisp/info.el (Info-follow-reference, Info-fontify-node):
3659         * lisp/info-look.el (info-lookup-guess-custom-symbol):
3660         * lisp/help-fns.el (help-fns--key-bindings):
3661         * lisp/files.el (hack-local-variables):
3662         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
3663         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
3664         (viper-complete-filename-or-exit):
3665         * lisp/emulation/viper-cmd.el (viper-backward-indent):
3666         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
3667         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
3668         * lisp/cus-edit.el (custom-face-edit-value-create):
3669         * lisp/calendar/todo-mode.el (todo-set-item-priority)
3670         (todo-filter-items-1, todo-convert-legacy-files)
3671         (todo-prefix-overlays): Add explicit second arg to looking-back.
3673 2015-04-20  Glenn Morris  <rgm@gnu.org>
3675         Avoid non-nil current-load-list at startup
3676         * src/process.c (init_process_emacs): Move Fprovide statement...
3677         (syms_of_process): ... to here.
3679         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
3681         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
3683 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
3685         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
3686         (Bug#20330)
3688 2015-04-20  Glenn Morris  <rgm@gnu.org>
3690         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
3692         Tweak exec-path in uninstalled case
3693         * src/callproc.c (init_callproc): If running uninstalled, do not
3694         include eventual installation libexec directory in exec-path.
3696 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
3698         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
3699         (package-menu-filter): Accept a list of keywords.
3700         (package--all-keywords): New variable to cache known keywords.
3701         (package-all-keywords): Populate it if necessary.
3702         (package-refresh-contents): Reset it.
3704         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
3705         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
3706         as special keywords which match agains package archive and status
3707         respectively.
3708         * etc/NEWS: Document it.
3710 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
3712         Describe and index "empty overlays".
3713         * doc/lispref/display.texi (Overlays): Improve indexing.
3714         (Managing Overlays): Describe "empty" overlays.
3715         (Overlay Properties, Finding Overlays): Add cross-reference to
3716         where empty overlays are described.
3718 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
3720         Spelling fixes
3722         Quote 'like this' in top-level files
3723         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
3724         Prefer to single-quote 'like this' (instead of the older style
3725         `like this').
3726         * configure.ac: Fix some space-before-tab problems that 'git commit'
3727         complained about.
3729         Use bool for boolean in textprop.c, undo.c
3730         * src/textprop.c (soft, hard): Now constants instead of macros.
3731         (validate_plist): Rewrite to avoid need for boolean local.
3732         (interval_has_all_properties, interval_has_some_properties)
3733         (interval_has_some_properties_list, add_properties)
3734         (remove_properties, get_char_property_and_overlay)
3735         (Fnext_single_char_property_change)
3736         (Fprevious_single_char_property_change, add_text_properties_1)
3737         (Fremove_text_properties, Fremove_list_of_text_properties)
3738         (copy_text_properties):
3739         * src/tparam.c (tparam1):
3740         * src/undo.c (record_change, record_property_change)
3741         (syms_of_undo):
3742         Use 'true' and 'false' for booleans.
3744 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
3746         Call `smerge-start-session' even when dealing with a stash conflict
3747         * lisp/vc/vc-git.el (vc-git-find-file-hook):
3748         Call `smerge-start-session' even when dealing with a stash
3749         conflict (bug#20292).
3751 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
3753         Add option to eshell/clear to clear scrollback.
3754         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
3755         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
3756         scrollback contents are cleared.
3757         * etc/NEWS: Describe change.
3758         * doc/misc/eshell.texi: Add entry for `clear'.
3760 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
3762         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
3763         where either will do.
3765 2015-04-19  Steve Purcell  <steve@sanityinc.com>
3767         Assume package archive-contents are UTF8-encoded
3768         * lisp/emacs-lisp/package.el (package--read-archive-file):
3769         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
3770         downloaded and cached archive-contents files, so that non-ASCII
3771         characters in package descriptions are displayed correctly in the
3772         `list-packages' menu. (Bug#20231)
3774 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
3776         Abort when looking at stashed changes
3777         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
3778         stashed changes (bug#20292).
3780 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
3782         Refactor low-level printing for simplicity
3783         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
3784         PRINTPREPARE; doable now that we assume C99.  All callers changed.
3785         (PRINTCHAR): Remove, as it adds more mystery than clarity.
3786         All callers changed.
3787         (strout): Assume that caller computes length.  All callers changed.
3788         (print_c_string): New function.
3789         (write_string, write_string_1): Compute length instead of asking
3790         the caller to compute it.  All callers changed.
3791         (write_string): Simplify by using write_string_1.
3792         (write_string_1): Simplify by using print_c_string.
3793         (Fterpri): Compute default val more clearly.
3794         (Fprin1_to_string, print_object):
3795         Assume C99 to avoid unnecessary nesting.
3796         (print_object): Prefer print_c_string to multiple printchar, or
3797         to calling strout with -1 length.  Coalesce into sprintf when
3798         this is easy.
3800 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
3802         Prefer "Bug#1234" in commit messages (Bug#20325)
3803         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
3804         as this isn't useful for Git.
3805         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
3807 2015-04-18  Glenn Morris  <rgm@gnu.org>
3809         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
3810         (Bug#19506)
3812 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
3814         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
3815         (Bug#19505)
3817 2015-04-18  Glenn Morris  <rgm@gnu.org>
3819         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
3821         * doc/emacs/misc.texi (Sorting): Small edit.
3822         (Bug#19896)
3824         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
3826 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
3828         css-mode.el: Support multi-line comment filling
3829         (Bug#20256)
3830         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
3831         comment filling.
3832         (css-adaptive-fill): New function.
3833         (css-mode): Set `adaptive-fill-function'.
3834         (scss-mode): Set `comment-continue'.
3836 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
3838         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
3840 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
3842         Minor improvements in Bulgarian input methods
3843         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
3844         Replace U+042C with U+045D, as the former character is not used in
3845         the modern Bulgarian language.
3846         (Bug#20350)
3848 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3850         Improve EUDC manual
3851         * eudc.texi (LDAP Configuration): Mention simple and SASL
3852         authentication schemes.  Add index items.  Shorten example server
3853         name.
3855 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
3857         Don't show both feature and function with the same name
3858         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
3859         Don't show both feature and function with the same name.
3861         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
3862         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
3863         Avoid returning both the variable and the function for the same
3864         minor mode.
3866 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
3868         Fix fontification of keywords clobbered by the prompt.
3869         * lisp/comint.el (comint-output-filter): Remove the uses of
3870         with-silent-modifications I introduced as part of the last change.
3871         This fixes, e.g., erratically missing highlighting when running
3872         ./configure --help; ./configure in a shell-mode buffer with
3873         compilation-shell-minor-mode turned on.
3875 2015-04-17  Glenn Morris  <rgm@gnu.org>
3877         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
3879 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
3881         * lisp/indent.el (indent-region): Don't deactivate the mark
3882         (Bug#20357)
3884 2015-04-17  Sam Steingold  <sds@gnu.org>
3886         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
3888 2015-04-16  Leo Liu  <sdl.web@gmail.com>
3890         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
3892 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3894         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
3896 2015-04-16  Glenn Morris  <rgm@gnu.org>
3898         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
3900 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
3902         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
3903         * configure.ac (LIBJPEG): Leave it empty for MinGW.
3905 2015-04-16  Glenn Morris  <rgm@gnu.org>
3907         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
3908         to avoid rogue setting after startup.
3910 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
3912         Pre-4.6 GCC succeeds with unknown option
3913         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
3914         (Bug#20338)
3916 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
3918         '[:graph:]' now excludes whitespace, not just ' '
3919         * doc/lispref/searching.texi (Char Classes):
3920         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
3921         sans whitespace (not sans space).
3922         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
3923         not just space.
3924         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
3926 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3928         (looking-back): Make the second arg non-optional.
3929         * lisp/subr.el (substitute-key-definition-key, special-form-p)
3930         (macrop): Drop deprecated second arg to indirect-function.
3931         (looking-back): Make the second arg non-optional.
3933         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
3934         command is actually sent to the shell.
3936 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
3938         Port jpeg configuration to Solaris 10 with Sun C
3939         * configure.ac: Check for jpeglib 6b by trying to link it, instead
3940         of relying on cpp magic that has problems in practice.  Check for
3941         both jpeglib.h and jerror.h features.  Remove special case for
3942         mingw32, which should no longer be needed (and if it were needed,
3943         should now be addressable by hotwiring emacs_cv_jpeglib).
3944         (Bug#20332)
3946 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3948         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
3949         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
3950         Move to elisp-mode.el.
3951         (lisp-mode-variables): (Re)move elisp-specific settings.
3952         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
3953         from lisp-mode-variables.
3954         (elisp--font-lock-flush-elisp-buffers): New function, moved from
3955         lisp-mode.el.
3957         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
3958         Avoid pathological slowdown at top-level in large file.
3960 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
3962         Standardize names of ChangeLog history files
3963         Suggested by Glenn Morris in:
3964         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
3965         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
3966         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
3967         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
3968         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
3969         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
3970         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
3971         Remove.
3973         Split top-level entries into pre- and post-April 7
3974         This more clearly distingiushes pre-April-7 ChangeLog entries (which
3975         are for top-level files only) from post-April-7 entries (which are
3976         about files at all levels.  Problem reported by Glenn Morris in:
3977         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
3978         * ChangeLog.1: Move post-April-7 entries from here ...
3979         * ChangeLog.2: ... to this new file.
3980         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
3982 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3984         Fix recent cus-start changes that added customize-rogues
3985         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
3986         vars early.
3987         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
3989 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
3991         Define cl-concatenate as an alias to seq-concatenate
3992         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
3993           code by making cl-concatenate an alias to seq-concatenate.
3995 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
3997         * src/lread.c (intern_1): Make sure we'd find the symbol we add
3998         (Bug#20334)
3999         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
4001 2015-04-15  Glenn Morris  <rgm@gnu.org>
4003         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
4005 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4007         Clean up gnus-uu saving code slightly
4008         * gnus-uu.el (gnus-uu-save-article): Make the
4009         save-restriction/widen calls make more sense.
4011 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4013         Make [:graph:] act like [:print:] sans space
4014         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
4015         [:graph:] so that it matches everything that [:print:] does,
4016         except for space.
4017         * doc/lispref/searching.texi (Char Classes):
4018         * etc/NEWS:
4019         * lisp/emacs-lisp/rx.el (rx):
4020         Document [:graph:] to be [:print:] sans ' '.
4021         * src/character.c, src/character.h (graphicp): New function.
4022         * src/regex.c (ISGRAPH) [emacs]: Use it.
4023         (BIT_GRAPH): New macro.
4024         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
4025         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
4026         Return BIT_GRAPH for RECC_GRAPH.
4027         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
4028         and ISPRINT if BIT_PRINT.
4030 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4032         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
4033         Don't use call-next-method in a cl-defmethod.
4035         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
4036         (eieio--class-p): Remove, provided by cl-defstruct.
4038 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
4040         Add seq-intersection and seq-difference to the seq library
4041         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
4042         functions.
4043         * test/automated/seq-tests.el: Add tests for seq-intersection and
4044         seq-difference.
4045         * doc/lispref/sequences.texi: Add documentation for seq-intersection
4046         and seq-difference.
4048 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4050         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
4052 2015-04-14  Sam Steingold  <sds@gnu.org>
4054         package--ensure-init-file: widen requires save-restriction
4056 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
4058         Improve the commit-msg Git hook for unibyte environments
4059         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
4060         in unibyte environments.  (Suggested by Paul Eggert
4061         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
4062         [:print:], based on UTF-8 sequences of the unprintable characters.
4064         Describe problems with cursor caused by Windows Magnifier
4065         * etc/PROBLEMS: Describe the problem with cursor shape on
4066         MS-Windows due to Windows Magnifier.
4067         (Bug#20271)
4069         Make [:print:] support non-ASCII characters correctly
4070         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
4071         (BIT_PRINT): New bit mask.
4072         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
4073         * src/character.c (printablep): New function.
4074         * src/character.h (printablep): Add prototype.
4075         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
4076         of 'print', 'alnum', and 'alphabetic'.
4077         * doc/lispref/searching.texi (Char Classes): Document the new
4078         behavior of [:print:].
4079         * etc/NEWS: Mention the new behavior of [:print:].
4081         Assign correct general-category and names to surrogates
4082         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
4083         surrogates.  This avoids assigning them the default
4084         general-category of 'Cn', i.e. unassigned codepoints.
4085         (unidata-get-name): Give surrogates synthetic names.
4087 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
4089         Assume C89 offsetof in xterm.c, xlwmenu.c
4090         * lwlib/xlwmenu.c (offset):
4091         * src/xterm.c (cvt_string_to_pixel_args):
4092         Use offsetof, not XtOffset.
4094 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
4096         Assume C89 offsetof in widget.c
4097         * src/widget.c (XtOffset): Remove; no longer needed.
4098         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
4100         Fix think-o in previous patch
4101         * src/window.c (count_windows, get_leaf_windows):
4102         Don't optimize count_windows incorrectly.
4104 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4106         Avoid some int overflows in window.c
4107         * src/print.c (print_object):
4108         * src/window.c (sequence_number):
4109         * src/window.h (struct window.sequence_number):
4110         Don't assume window sequence number fits in int.
4111         * src/window.c (window_select_count):
4112         * src/window.h (struct window.use_time, window_select_count):
4113         Don't assume window use time fits in int.
4114         * src/window.c (Fsplit_window_internal):
4115         Don't assume user-supplied integer, or sum, fits in int.
4116         (Fset_window_configuration, count_windows, get_leaf_windows)
4117         (save_window_save, Fcurrent_window_configuration):
4118         Use ptrdiff_t for object counts.
4119         (Fset_window_configuration): Omit unused local 'n'.
4120         (count_windows): Simplify by writing in terms of get_leaf_windows.
4121         (get_leaf_windows): Don't store through FLAT if it's null.
4122         (extract_dimension): New static function.
4123         (set_window_margins, set_window_fringes, set_window_scroll_bars):
4124         Use it to avoid undefined behavior when converting user-supplied
4125         integer to 'int'.
4127 2015-04-13  Glenn Morris  <rgm@gnu.org>
4129         Minor doc copyedits
4130         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
4131         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
4133 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
4135         [Gnus] Catch the invalid-operation that idna.el will issue
4136         * lisp/gnus/gnus-art.el (gnus-use-idna):
4137         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
4138         * lisp/gnus/message.el (message-use-idna):
4139         Catch the invalid-operation that idna.el will issue.
4141 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4143         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
4145 2015-04-13  Sam Steingold  <sds@gnu.org>
4147         package--ensure-init-file: widen before looking for "(package-initialize)"
4149 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
4151         Change diff-switches default to `-u'
4152         (Bug#20290)
4153         * doc/emacs/files.texi (Comparing Files): Document the new default
4154         value of `diff-switches'.
4155         * doc/emacs/trouble.texi (Sending Patches): Document the preference
4156         for unified diff format.  Escape the plus in the suggested `-F' regexp
4157         value.
4158         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
4160 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4162         (gnus-group--setup-tool-bar-update): Fix last change
4163         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
4164         cursor-sensor-functions should be a list of functions.
4166 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
4168         Use gmm-called-interactively-p in Gnus
4169         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
4171 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4173         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
4174         (Bug#20321)
4175         * lisp/cus-start.el (read-buffer-function): Don't advertize
4176         iswitchb-read-buffer any more.
4177         (iswitchb): Don't tweak this obsolete group any more.
4179 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
4181         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
4183         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
4184         Adding a string after a constructor's argument list will use
4185         that string as the constructor function docstring.  If this string
4186         is absent but the struct itself was given a docstring, use that as
4187         the constructor's docstring.
4188         Fixes (bug#17284).
4190 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4192         Deprecate `intangible' and `point-entered' properties
4193         * lisp/emacs-lisp/cursor-sensor.el: New file.
4194         * lisp/simple.el (pre-redisplay-functions): New hook.
4195         (redisplay--pre-redisplay-functions): New function.
4196         (pre-redisplay-function): Use it.
4197         (minibuffer-avoid-prompt): Mark obsolete.
4198         (redisplay--update-region-highlight): Adapt it to work as a function on
4199         pre-redisplay-functions.
4200         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
4201         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
4202         than point-entered to make the prompt intangible.
4203         * lisp/forms.el: Move `provide' calls to the end.
4204         (forms-mode): Don't use `run-hooks' on a local var.
4205         (forms--make-format, forms--make-format-elt-using-text-properties):
4206         Use cursor-intangible rather than `intangible'.
4207         (forms-mode): Enable cursor-intangible-mode.
4208         * lisp/isearch.el (isearch-mode): Use defvar-local.
4209         (cursor-sensor-inhibit): Declare.
4210         (isearch-mode): Set cursor-sensor-inhibit.
4211         (isearch-done): Set it back.
4212         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
4213         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
4214         any more.
4215         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
4216         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
4217         Add Edebug spec.
4218         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
4219         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
4220         inhibit-point-motion-hooks any more.
4221         (ses--cell-at-pos, ses--curcell): New functions, extracted from
4222         ses-set-curcell.
4223         (ses-set-curcell): Use them.
4224         (ses-print-cell, ses-setup): Use cursor-intangible instead of
4225         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
4226         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
4227         Use ses--cell-at-pos.
4228         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
4229         extracted from ses-command-hook.  Make them work with multiple windows
4230         displaying the same buffer.
4231         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
4232         Enable cursor-intangible-mode.
4233         (ses-command-hook): Remove cell highlight and mode-line update code.
4234         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
4235         Update for new name of text-property holding the cell name.
4236         (ses-rename-cell): Don't mess with mode-line-process.
4237         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
4238         cursor-sensor-functions property instead of point-entered.
4239         (erc-insert-timestamp-right, erc-format-timestamp):
4240         Use cursor-intangible rather than `intangible'.
4241         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
4242         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
4243         cursor-sensor-mode if needed.
4244         (erc-echo-timestamp): Adapt to calling convention of
4245         cursor-sensor-functions.
4246         (erc-insert-timestamp-right): Remove unused vars `current-window' and
4247         `indent'.
4248         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
4249         (gnus-update-group-mark-positions): Remove unused `topic' var.
4250         (gnus-group-insert-group-line): Remove unused var `header'.
4251         (gnus-group--setup-tool-bar-update): New function.
4252         (gnus-group-insert-group-line): Use it.
4253         (gnus-group-update-eval-form): Declare local
4254         dynamically-bound variables.
4255         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
4256         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
4257         (gnus-group-prepare-topics, gnus-topic-update-topic)
4258         (gnus-topic-change-level, gnus-topic-catchup-articles)
4259         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
4260         Use inhibit-read-only.
4261         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
4262         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
4263         * lisp/textmodes/reftex-index.el (reftex-display-index):
4264         Use cursor-intangible-mode if available.
4265         (reftex-index-post-command-hook): Check cursor-intangible.
4266         * lisp/textmodes/reftex-toc.el (reftex-toc):
4267         Use cursor-intangible-mode if available.
4268         (reftex-toc-recenter, reftex-toc-post-command-hook):
4269         Check cursor-intangible.
4270         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
4271         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
4272         (sgml-tags-invisible): Use with-silent-modifications and
4273         inhibit-read-only.  Enable cursor-sensor-mode.
4274         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
4275         calling convention of cursor-sensor-functions.
4276         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
4277         (table-point-entered-cell-hook, table-point-left-cell-hook):
4278         Don't autoload.
4279         (table-cell-entered-state): Remove var.
4280         (table--put-cell-point-entered/left-property)
4281         (table--remove-cell-properties):
4282         Use cursor-sensor-functions rather than point-entered/left.
4283         (table--point-entered/left-cell-function): Merge
4284         table--point-entered-cell-function and table--point-left-cell-function
4285         and adjust to calling convention of cursor-sensor-functions.
4287         Update ldef-boots.el
4289         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
4291         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
4293         Collapse successive char deletions in the undo log
4294         * src/cmds.c (remove_excessive_undo_boundaries): New function,
4295         extracted from Fself_insert_command.
4296         (Fdelete_char, Fself_insert_command): Use it.
4297         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
4298         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
4300         xterm and OSC 52: Add NEWS entry, and tweak the code
4301         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
4302         top-level.
4303         (terminal-init-xterm-activate-set-selection): Set a terminal property.
4304         (xterm--set-selection): Use it instead of checking the value of
4305         `terminal-initted'.  Don't use string-bytes.
4307 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
4309         xterm.el: Implement OSC-52 functionality for setting the X selection
4310         * lisp/term/xterm.el (xterm-max-cut-length): New var.
4311         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
4312         (terminal-init-xterm, xterm--version-handler): Use them.
4314 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4316         Remove left over code from when we used an obsolete/loaddefs.el file
4317         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
4318         we used an obsolete/loaddefs.el file.
4320         * cedet/semantic/fw.el: Use declare.
4321         * cedet/semantic/fw.el (semantic-exit-on-input)
4322         (semanticdb-without-unloaded-file-searches): Use declare.
4323         (semantic-fw-add-edebug-spec): Remove.
4325         (completion-lisp-mode-hook): Use completion-separator-chars
4326         * lisp/completion.el (completion-lisp-mode-hook):
4327         Use completion-separator-chars rather than local key binding.
4329         * src/*.c: Set deactivate_mark buffer-locally
4330         (Bug#20260)
4331         * src/insdel.c (prepare_to_modify_buffer_1):
4332         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
4333         buffer-locally.
4335 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4337         python.el: Keep symmetry on sexp navigation with parens
4338         (Bug#19954)
4339         * lisp/progmodes/python.el
4340         (python-nav--forward-sexp): Add argument skip-parens-p.
4341         (python-nav-forward-sexp, python-nav-backward-sexp)
4342         (python-nav-forward-sexp-safe)
4343         (python-nav-backward-sexp-safe): Use it.
4344         * test/automated/python-tests.el
4345         (python-nav-forward-sexp-1): Fix test.
4347 2015-04-12  João Távora  <joaotavora@gmail.com>
4349         Don't use `setq-local' in Gnus code
4350         This might break upstream builds with older Emacsen
4351         * lisp/gnus/message.el (message-mode): Use `set' and
4352         `make-local-variable' instead of `setq-local'.
4354 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4356         Update Makefile.in's .PHONY dependencies
4357         * Makefile.in (change-history-commit, master-branch-is-current)
4358         (no-ChangeLog): Now phony.
4360         Remove configure's --with-mmdf option
4361         * configure.ac (MAIL_USE_MMDF): Remove.
4362         * etc/NEWS: Document this.
4363         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
4364         (Bug#20308)
4366         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
4367         That way, 'make install' won't think it's a man page.
4368         Reported by Ashish SHUKLA in:
4369         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
4371         Improve 'make change-history' prereq tests
4372         * Makefile.in (gen_origin): Fix to match what's in the master branch.
4373         (no-ChangeLog, master-branch-is-current): New rules.
4374         (change-history): Depend on them, to avoid similar future problems.
4375         Escape the local-variables string to pacify Emacs when editing
4376         Makefile.in.
4378 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
4380         * test/automated/package-test.el (with-package-test): Kill Packages buffer
4382         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
4383         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
4384         "Upgrade" last, and use capitalized instead of all-caps.
4386         * lisp/emacs-lisp/package.el: Completely silence async operations
4387         (package--make-autoloads-and-stuff): Silence autoloads.
4388         (package--save-selected-packages): New function, silences
4389         `customize-save-variable'.
4390         (package--user-selected-p, package-install-from-buffer)
4391         (package-delete, package-install): Use it.
4392         (package-install-from-archive)
4393         (package-menu--perform-transaction): Silence.
4394         (package-menu-execute): Feedback when operation starts.
4396         Use delay-mode-hooks when visiting the init-file
4397         * lisp/emacs-lisp/package.el (package--ensure-init-file):
4398         delay-mode-hooks
4399         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
4401         * lisp/files.el: Only message when saving if save-silently is nil
4402         (save-silently): New variable.
4403         (files--message): New function.
4404         (find-file-noselect, save-buffer, basic-save-buffer)
4405         (basic-save-buffer-2, save-some-buffers, not-modified)
4406         (append-to-file): Use them.
4408 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
4410         Support debug declarations in pcase macros
4411         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
4412         (pcase-UPAT): Use it.  Remove "`".
4413         (pcase--edebug-match-macro): New function.
4414         (pcase-defmacro): Support debug declarations.
4415         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
4416         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
4417         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
4419         pcase.el: Edebug support for `app' and vector patterns
4420         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
4421         (pcase-UPAT): Use it. Support `app' patterns.
4422         (pcase-QPAT): Support vector patterns.
4424         edebug.el: Disambiguate vector specifications
4425         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
4426         `(vector ...)' as a vector specification, not as a sublist.
4428         (gnus-summary-refer-thread): Don't clobber unread articles
4429         This fixes a bug where `A T' causes "random" articles to become marked
4430         as read.
4431         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
4432         gnus-newsgroup-unreads remains sorted.
4434         mouse-sel.el: Fix mouse-sel-get-selection-function
4435         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
4436         Use gui--last-selected-text-primary instead of no longer existing
4437         gui-last-selected-text.
4439         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
4441         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
4443 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
4445         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
4447         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
4449         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
4450         (byte-compile--interactive): New var.
4451         (byte-compile--message): New function.
4452         (byte-compile-log-1, byte-force-recompile)
4453         (byte-recompile-directory, byte-recompile-file)
4454         (byte-compile-file, compile-defun)
4455         (byte-compile-file-form-defmumble, byte-compile)
4456         (byte-compile-file-form-defalias, display-call-tree): Use it.
4458         * lisp/files.el: Don't message when nothing happened
4459         (save-some-buffers, basic-save-buffer): Before messaging to say
4460         "nothing was saved" check if (called-interactively-p 'any).
4462 2015-04-12  João Távora  <joaotavora@gmail.com>
4464         Summary: Improve sexp-based movement in message-mode
4465         Works by giving citations and smileys a different syntax.  This helps
4466         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
4467         sexp-based movement.
4468         * lisp/gnus/message.el (message--syntax-propertize): New function.
4469         (message-mode): Set syntax-related vars.
4470         (message-smileys): New variable.
4471         * test/automated/message-mode-tests.el: New file
4473 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
4475         Use bool for boolean in window.c
4476         * src/window.c: Omit unnecessary static function decls.
4477         (adjust_window_count, select_window, Fselect_window)
4478         (window_body_width, Fwindow_body_height, Fwindow_body_width)
4479         (set_window_hscroll, check_window_containing, Fwindow_at)
4480         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
4481         (unshow_buffer, replace_window, recombine_windows)
4482         (add_window_to_list, candidate_window_p, next_window)
4483         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
4484         (Fget_buffer_window, Fdelete_other_windows_internal)
4485         (replace_buffer_in_windows_safely, set_window_buffer)
4486         (Fset_window_buffer, Fforce_window_update)
4487         (temp_output_buffer_show, make_parent_window)
4488         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
4489         (resize_frame_windows, Fsplit_window_internal)
4490         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
4491         (Fresize_mini_window_internal, mark_window_cursors_off)
4492         (window_scroll, window_scroll_pixel_based)
4493         (window_scroll_line_based, scroll_command, Fscroll_other_window)
4494         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
4495         (Fmove_to_window_line, Fset_window_configuration)
4496         (delete_all_child_windows, apply_window_adjustment)
4497         (set_window_fringes, set_window_scroll_bars)
4498         (Fset_window_vscroll, foreach_window, foreach_window_1)
4499         (compare_window_configurations, Fcompare_window_configurations):
4500         Prefer 'bool', 'true', and 'false' for booleans.
4501         * src/window.h (WINDOW_MODE_LINE_LINES)
4502         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
4504 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
4506         Speed up byte-compilation and autoload generation by avoiding mode-hooks
4507         This prevents emacs-lisp-mode-hook from being run everytime an
4508         autoload file is generated, which can account for a fraction of
4509         package installation time depending on the hooks the user has
4510         configured.
4511         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
4512         * lisp/emacs-lisp/autoload.el (autoload-find-file)
4513         (autoload-find-generated-file): Use delay-mode-hooks.
4515         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
4516         (package-menu-refresh): Respect async and do new package checking.
4517         (list-packages): Use `package-menu-refresh' instead of repeating code.
4519         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
4520         (package--quick-help-keys): New variable.
4521         (package--prettify-quick-help-key): New function.
4522         (package-menu-quick-help): Use it.
4524         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
4525         (package--build-compatibility-table): require finder
4527         * test/automated/package-test.el: Fix new test
4529         * lisp/emacs-lisp/package.el: Silence async operations
4530         (package--silence): New variable.
4531         (package--message): New function.
4532         (package-import-keyring, package-refresh-contents)
4533         (package-compute-transaction, package-install, package-delete)
4534         (package-menu--perform-transaction, package-menu-execute): Use it.
4536         * test/automated/package-test.el: Test async functionality
4537         (package-test-update-archives-async): New test
4539 2015-04-11  Daiki Ueno  <ueno@gnu.org>
4541         Utilize `make-process' in epg.el
4542         * lisp/epg.el (epg-error-output): Abolish.
4543         (epg-context): New slot `error-buffer'.
4544         (epg--start): Use `make-process' and `make-pipe-process'.
4545         (epg--process-filter): Remove code separating stderr from stdout.
4546         (epg-wait-for-completion): Simplify `error-output' handling.
4547         (epg-reset): Dispose error buffer.
4549 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
4551         * .gitignore: Ignore doc temps and outputs.
4553         Port commit-msg to MSYS Bash+Gawk
4554         See Eli Zaretskii in:
4555         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
4556         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
4557         (cent_sign, print_at_sign, at_sign): Revert previous change.
4558         (print_at_sign): Prepend "BEGIN".
4559         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
4561         Port commit-msg to broken MS-Windows shell
4562         * build-aux/git-hooks/commit-msg (cent_sign):
4563         Just use UTF-8 here rather than ASCII + printf, as the latter fails
4564         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
4565         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
4567 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
4569         Support GnuTLS v3.4 and later on MS-Windows
4570         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
4571         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
4572         GnuTLS DLL to load according to value of libgnutls-version.
4573         (Bug#20294)
4575 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
4577         Minor quoting etc. fixes to misc manuals
4578         Fix some minor quoting and spacing issues.  Distinguish more
4579         clearly among grave accent and apostrophe (which are ASCII) and
4580         single quote (which is not).  Prefer the standard terms
4581         "apostrophe" and "grave accent" to alternative names that can be
4582         confusing.  Use apostrophes to single-quote ASCII text.
4583         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
4584         rather than approximating it in ASCII with grave accent.
4586 2015-04-11  Daiki Ueno  <ueno@gnu.org>
4588         Respect more keyword args in `make-process'
4589         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
4590         keywords as documented.
4592 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
4594         Extract ChangeLog entries when committing a directory
4595         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
4596         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
4597         Add a FIXME comment.
4598         (log-edit-changelog-entries): Extract from
4599         `log-edit-changelog-entries', handle FILE being a directory
4600         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
4602 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
4604         Fix problems found by --enable-gcc-warnings
4605         * src/process.c (create_process, Fmake_pipe_process)
4606         (Fmake_network_process): Omit unused locals.
4608         Fix commit-msg to handle scissors lines
4609         * build-aux/git-hooks/commit-msg:
4610         Ignore every line after a scissors line, such as a line generated
4611         by 'git commit -v'.  Problem reported by Johan Bockgård in:
4612         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
4614         port commit-msg to Gawk 3.0.4 (1999)
4615         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
4616         (print_at_sign, at_sign): New vars.  Use them to avoid problems
4617         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
4618         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
4620         Have commit-msg report commit failure
4621         * build-aux/git-hooks/commit-msg: If the commit is aborted,
4622         say so.  Simplify by doing this at the end.  Problem reported
4623         by Eli Zaretskii in:
4624         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
4626 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4628         Clean up LDAP Configuration section of EUDC manual
4629         * doc/misc/eudc.texi: Combine indices.
4630         (LDAP Configuration): Use command markup.  Add index entries.
4631         Change formatting.  Wrap long lines.  Add noindent markup.
4633 2015-04-10  Daiki Ueno  <ueno@gnu.org>
4635         Add facility to collect stderr of async subprocess
4636         * src/w32.h (register_aux_fd): New function declaration.
4637         * src/w32.c (register_aux_fd): New function.
4638         * src/process.h (struct Lisp_Process): New member stderrproc.
4639         * src/process.c (PIPECONN_P): New macro.
4640         (PIPECONN1_P): New macro.
4641         (Fdelete_process, Fprocess_status, Fset_process_buffer)
4642         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
4643         (Fcontinue_process): Handle pipe process specially.
4644         (create_process): Respect p->stderrproc.
4645         (Fmake_pipe_process): New function.
4646         (Fmake_process): Add new keyword argument :stderr.
4647         (wait_reading_process_output): Specially handle a pipe process when
4648         it gets an EOF.
4649         (syms_of_process): Register Qpipe and Smake_pipe_process.
4650         * doc/lispref/processes.texi (Asynchronous Processes): Document
4651         `make-pipe-process' and `:stderr' keyword of `make-process'.
4652         * lisp/subr.el (start-process): Suggest to use `make-process' handle
4653         standard error separately.
4654         * test/automated/process-tests.el (process-test-stderr-buffer)
4655         (process-test-stderr-filter): New tests.
4656         * etc/NEWS: Mention new process type `pipe' and its usage with the
4657         `:stderr' keyword of `make-process'.
4659 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
4661         Minor quoting etc. fixes to lispref manual
4662         * doc/lispref/tips.texi (Documentation Tips):
4663         Distinguish more clearly among grave accent, apostrophe,
4664         and single quote.
4665         * doc/lispref/README, doc/lispref/buffers.texi:
4666         * doc/lispref/commands.texi, doc/lispref/control.texi:
4667         * doc/lispref/customize.texi, doc/lispref/display.texi:
4668         * doc/lispref/elisp.texi, doc/lispref/files.texi:
4669         * doc/lispref/frames.texi, doc/lispref/hash.texi:
4670         * doc/lispref/help.texi, doc/lispref/internals.texi:
4671         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
4672         * doc/lispref/markers.texi, doc/lispref/modes.texi:
4673         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
4674         * doc/lispref/os.texi, doc/lispref/positions.texi:
4675         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
4676         * doc/lispref/text.texi, doc/lispref/tips.texi:
4677         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
4678         Use American-style double quoting in ordinary text,
4679         and quote 'like this' when single-quoting in ASCII text.
4680         Also, fix some minor spacing issues.
4682 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
4684         Handle symlinked test directory in tramp-tests.el
4685         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
4686         (tramp--test-check-files): Use `file-truename' for directories.
4688 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
4690         Fix 'recenter' when visual-line-mode is turned on
4691         * src/window.c (Frecenter): Use the same code for GUI and TTY
4692         frames alike; use vmotion only for "initial" frames.  This is
4693         because vmotion doesn't support visual-line-mode.  Rewrite the
4694         'iarg >= 0' case to use move_it_* functions instead of using
4695         vmotion, for the same reason.  Fix the clipping of the argument
4696         value to support scroll-margin in all cases and avoid unwarranted
4697         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
4698         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
4699         which see.
4701 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
4703         * abbrev.el (define-abbrev-table): Refine last change.
4705         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
4706         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
4707         use of c[ad]+r", so as to keep the "cl-" prefix on all
4708         cl-lib definitions.
4710         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
4712         * lisp/cedet/semantic: Remove some dead code
4713         * lisp/cedet/semantic/util-modes.el
4714         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
4715         any more.
4716         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
4717         not supported any more.
4718         (semantic-safe): Use `declare'.
4719         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
4720         (semantic-tag-intangible-p): Remove unused functions.
4721         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
4722         Remove unused function.
4724         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
4725         (gnus-article-hide-text, gnus-article-unhide-text)
4726         (gnus-article-unhide-text-type): Remove special handling of
4727         `intangible' since that property is not used any more.
4728         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
4730 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
4732         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
4734 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
4736         Use the VC root in `log-edit-listfun'
4737         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
4738         `log-edit-listfun'.
4740 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
4742         Fix description of Unix time, mention new function.
4743         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
4744         Unix time.
4745         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
4746         (Basic Operations on Units): Mention `calc-convert-exact-units'.
4748 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
4750         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
4752 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
4754         (log-edit-insert-changelog-entries): Don't add newline after the last entry
4755         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
4756         Don't add newline after the last entry.
4758 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
4760         css-mode.el: Add "not" pseudo-class
4761         (Bug#20267)
4762         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
4763         list of CSS pseudo-classes.
4765 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
4767         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
4769 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
4771         Stop messing with the EMACS env var
4772         * misc.texi (Interactive Shell): Remove description of EMACS env var.
4774 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4776         Adapt 'make change-history' to coding cookie
4777         * Makefile.in (change-history): Adjust to change of format of
4778         ChangeLog file, which now has a coding cookie before an indented
4779         copyright notice.
4781 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4783         Adapt 'make change-history' to coding cookie
4784         * Makefile.in (change-history): Adjust to change of format of
4785         ChangeLog file, which now has a coding cookie before an indented
4786         copyright notice.
4788         gitlog-to-changelog coding cookie and mv -i
4789         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
4790         for copyright notice prototype, so that we get a proper "coding:"
4791         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
4792         existing ChangeLog.  Problems reported by Eli Zaretskii in:
4793         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
4795         Merge from gnulib
4796         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
4797         2015-04-09 gitlog-to-changelog: port to MS-Windows
4799 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
4801         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
4802         (Bug#20212)
4804 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
4806         Stop messing with the EMACS env var
4807         (Bug#20202)
4808         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
4809         * lisp/comint.el (comint-exec-1):
4810         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
4811         * lisp/progmodes/compile.el (compilation-start): Same and bring
4812         INSIDE_EMACS's format in line with other users.
4814         css-mode.el (css-smie-rules): Fix indentation after complex selectors
4815         (Bug#20282)
4816         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
4817         inner structure of selectors.
4819 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4821         python.el: Indent docstring lines to base-indent
4822         (Bug#19595)
4823         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
4824         an initial patch.
4825         * lisp/progmodes/python.el
4826         (python-indent-context): Add :inside-docstring context.
4827         (python-indent--calculate-indentation): Handle :inside-docstring.
4828         (python-indent-region): Re-indent docstrings.
4829         * test/automated/python-tests.el (python-indent-region-5)
4830         (python-indent-inside-string-2): Fix tests.
4832         python.el: Increase native completion robustness
4833         (Bug#19755)
4834         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
4835         this and providing useful ideas.
4836         * lisp/progmodes/python.el
4837         (python-shell-completion-native-output-timeout): Increase value.
4838         (python-shell-completion-native-try-output-timeout): New var.
4839         (python-shell-completion-native-try): Use it.
4840         (python-shell-completion-native-setup): New readline setup avoids
4841         polluting current context, ensures output when no-completions are
4842         available and includes output end marker.
4843         (python-shell-completion-native-get-completions): Trigger with one
4844         tab only.  Call accept-process-output until output end is found or
4845         python-shell-completion-native-output-timeout is exceeded.
4847 2015-04-08  Samer Masterson  <samer@samertm.com>
4849         * lisp/eshell: Make backslash a no-op in front of normal chars
4850         (Bug#8531)
4851         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
4852         (eshell-parse-backslash): Return escaped character after backslash
4853         if it is special.  Otherwise, if the backslash is not in a quoted
4854         string, ignore the backslash and return the character after; if
4855         the backslash is in a quoted string, return the backslash and the
4856         character after.
4857         * test/automated/eshell.el (eshell-test/escape-nonspecial)
4858         (eshell-test/escape-nonspecial-unicode)
4859         (eshell-test/escape-nonspecial-quoted)
4860         (eshell-test/escape-special-quoted): Add tests for new
4861         `eshell-parse-backslash' behavior.
4863 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
4865         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
4866         after the file name.
4867         (Bug#20276)
4869 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
4871         Minor quoting etc. fixes to Emacs manual
4872         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
4873         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
4874         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
4875         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
4876         * doc/emacs/indent.texi, doc/emacs/macos.texi:
4877         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
4878         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
4879         * doc/emacs/search.texi, doc/emacs/trouble.texi:
4880         * doc/emacs/vc1-xtra.texi:
4881         Use American-style double quoting in ordinary text,
4882         and quote 'like this' when single-quoting in ASCII text.
4883         Also, fix some minor spacing issues.
4885         Minor quoting etc. fixes to elisp intro
4886         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
4887         American-style double quoting in ordinary text.  In ASCII text,
4888         consistently quote 'like this' instead of `like this', unless
4889         Emacs requires the latter.
4891 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
4893         * CONTRIBUTE: Mention log-edit-insert-changelog.
4895         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
4897 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
4899         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
4901 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
4903         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
4904         (Bug#20270)
4905         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
4906         Fix inheritance of initargs.
4908 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
4910         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
4911         while dowloading information.
4913         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
4914         (package--ensure-init-file): Check file contents before visiting.
4915         (package-initialize): Call it.
4916         (package-install-from-buffer, package-install): Don't call it.
4918 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
4920         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
4921         (Bug#17517)
4923 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
4925         Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
4927         Fix nasty scoping bug in tramp-cache.el
4928         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
4930 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
4932         Add notice to visual commands section
4933         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
4934         such as git call less with its -F option which omits pagination if
4935         the contents is less than one page long.  This interferes with
4936         eshell's visual (sub-)commands.
4938 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
4940         ffap: Support environment variable expansion in file names
4941         (Bug#19839)
4942         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
4943         environment variable expansion in file names.
4945 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
4947         Prefer double-quote to accent-grave in man pages
4949 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
4951         (Bug#20257)
4952         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
4954 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
4956         Update etc/PROBLEMS.
4957         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
4958         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
4959         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
4960         respectively); other minor updates and tweaks.  (Bug#20011)
4962 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
4964         Add doc strings for some Isearch state vars
4965         * lisp/misearch.el (multi-isearch-buffer-list)
4966         (multi-isearch-file-list): Add doc strings.
4967         (Bug#20232)
4969 2015-04-07  Alan Mackenzie  <acm@muc.de>
4971         Always mark "<" and ">" in #include directives with text properties.
4972         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
4973         matcher" with an invocation of c-make-font-lock-search-function to allow
4974         fontification when there's no trailing space on an "#include <..>" line.
4976 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
4978         Generate a ChangeLog file from commit logs
4979         * .gitignore: Add 'ChangeLog'.
4980         * build-aux/gitlog-to-changelog: New file, from Gnulib.
4981         * build-aux/gitlog-to-emacslog: New file.
4982         * CONTRIBUTE: Document the revised workflow.
4983         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
4984         instead of just special cases.
4985         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
4986         (ChangeLog, unchanged-history-files, change-history)
4987         (change-history-commit): New rules.
4988         * admin/admin.el (make-manuals-dist--1):
4989         Don't worry about doc/ChangeLog.
4990         * admin/authors.el: Add a FIXME.
4991         * admin/make-tarball.txt:
4992         * lisp/calendar/icalendar.el:
4993         * lisp/gnus/deuglify.el:
4994         * lisp/obsolete/gulp.el:
4995         * lwlib/README:
4996         Adjust to renamed ChangeLog history files.
4997         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
4998         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
4999         Remove obsolete discussion of merging ChangeLog files.
5000         New section "Maintaining ChangeLog history".
5001         * build-aux/git-hooks/pre-commit:
5002         Reject attempts to commit files named 'ChangeLog'.
5003         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
5004         * make-dist: Make and distribute top-level ChangeLog if there's a
5005         .git directory.  Distribute the new ChangeLog history files
5006         instead of scattered ChangeLog files.  Distribute the new files
5007         gitlog-to-changelog and gitlog-to-emacslog.
5008         (Bug#19113)
5010         Rename ChangeLogs for gitlog-to-changelog
5011         This patch was implemented via the following shell commands:
5012         find * -name ChangeLog |
5013         sed 's,.*,git mv & &.1,
5014         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
5015         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
5016         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
5017         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
5018         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
5019         sh
5020         git commit -am"[this commit message]"
5022 See ChangeLog.1 for earlier changes.
5024 ;; Local Variables:
5025 ;; coding: utf-8
5026 ;; End:
5028   Copyright (C) 2015 Free Software Foundation, Inc.
5030   This file is part of GNU Emacs.
5032   GNU Emacs is free software: you can redistribute it and/or modify
5033   it under the terms of the GNU General Public License as published by
5034   the Free Software Foundation, either version 3 of the License, or
5035   (at your option) any later version.
5037   GNU Emacs is distributed in the hope that it will be useful,
5038   but WITHOUT ANY WARRANTY; without even the implied warranty of
5039   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5040   GNU General Public License for more details.
5042   You should have received a copy of the GNU General Public License
5043   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.