Port Unicode char detection to FreeBSD+svgalib
[emacs.git] / ChangeLog.2
blobc4912f7d8e1e9bdff95d3798121669739b391a5c
1 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3         Spelling fix (Bug#21420)
5 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
7         Improve the semantic of map-some
8         Update map-some to return the returned by the predicate, similar to
9         seq-some.
10         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
11           return value of the predicate.
12         * test/automated/map-tests.el (test-map-some): Update the test to check
13           for non-nil values only.
15         Rename map-contains-key-p and map-some-p
16         Remove the "-p" suffix from both function names.
17         * lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename the functions.
18         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
19           Update both test functions.
21         Improve the semantic of seq-some
22         Update seq-some to return non-nil if the predicate returns non-nil for
23         any element of the seq, in which case the returned value is the one
24         returned by the predicate.
25         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
26           docstring.
27         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
28         * doc/lispref/sequences.texi (Sequence Functions): Update the
29           documentation for seq-some.
31         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
32         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
33           without the "-p" prefix.
34         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
35           the tests accordingly.
36         * doc/lispref/sequences.texi (Sequence Functions): Update the
37           documentation for seq.el.
39 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
41         text-quoting-style for usage of fn names with ‘’
42         * lisp/help.el (help--docstring-quote): Don’t assume
43         text-quoting-style is ‘curve’ when generating usage strings for
44         functions whose names contain curved quotes.
46 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
48         Fix fix for describe-function keybinding confusion
49         This fixes a bug introduced by the previous patch.
50         * lisp/help-fns.el (help-fns--signature):
51         Last arg of help-fns--signature is now a buffer, or nil if a
52         raw signature is wanted.  All callers changed.
53         (describe-function-1): Use this to do the right thing with signatures.
55 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
57         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
59         Use PAT rather than UPAT in pcase macros
60         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
61         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
62           than UPAT.
64 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
66         Fix describe-function keybinding confusion
67         * lisp/help-fns.el (describe-function-1): Compute signature
68         in the original buffer, not in standard-output, so that
69         substitute-command-keys uses the proper keybindings.
70         This fixes Bug#21412, introduced in commit
71         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
73 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
75         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
77 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
79         Avoid read error messages from 'inotify'
80         * src/process.c (wait_reading_process_output): Add a
81         'tls_available' set and manipulate it instead of 'Available' when
82         checking TLS inputs.  Assign the value to 'Available' only if we
83         find any TLS data waiting to be read.  This avoids error messages
84         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
86 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
88         Avoid errors in thing-at-point with 2nd argument non-nil
89         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
90         sequences.  (Bug#21391)
92 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
94         Fix segfaults due to using a stale face ID
95         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
96         (display_echo_area_1, redisplay_internal): Call it to avoid
97         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
98         faces, which could case a segfault if the frame's face cache was
99         freed since the last redisplay.  (Bug#21394)
100         * src/xfaces.c (free_realized_faces): Call forget_escape_and_glyphless_faces.
101         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
103 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
105         Fix minor problems with " in manual
107 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
109         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
110         multi-hop files.
112 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
114         Support automated ‘make check’ in non-C locale
115         This lets the builder optionally test Emacs behavior in other locales.
116         The C locale is still the default for tests.
117         * test/automated/Makefile.in (TEST_LOCALE): New macro.
118         (emacs): Use it.
119         * test/automated/flymake-tests.el (flymake-tests--current-face):
120         Use C locale for subprocesses so that tests behave as expected.
121         * test/automated/python-tests.el:
122         (python-shell-prompt-validate-regexps-1)
123         (python-shell-prompt-validate-regexps-2)
124         (python-shell-prompt-validate-regexps-3)
125         (python-shell-prompt-validate-regexps-4)
126         (python-shell-prompt-validate-regexps-5)
127         (python-shell-prompt-validate-regexps-6)
128         (python-shell-prompt-set-calculated-regexps-1):
129         Adjust expected output to match locale.
130         * test/automated/tildify-tests.el (tildify-test--test)
131         (tildify-space-test--test, tildify-space-undo-test--test):
132         This test assumes UTF-8 encoding.
134 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
136         Fix some more docstring etc. quoting problems
137         Mostly these fixes prevent the transliteration of apostrophes
138         that should stay apostrophes.  Also, prefer curved quotes in
139         Bahá’í proper names, as that’s the preferred Bahá’í style and
140         these names are chock-full of non-ASCII characters anyway.
141         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
142         (eieio-defclass-internal):
143         * lisp/emacs-lisp/eieio.el (defclass):
144         * lisp/hi-lock.el (hi-lock-mode):
145         Don’t transliterate Lisp apostrophes when generating a
146         doc string or diagnostic.
147         * lisp/international/mule-diag.el (list-coding-systems-1):
148         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
149         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
150         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
151         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
152         Substitute quotes before putting them in the help buffer.
154 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
156         Re-add the notion of echo_prompt lost in the translation
157         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
158         echo_prompt which contains the actual string.  Update all uses.
159         * src/keyboard.c (kset_echo_prompt): New function.
160         (echo_update): Add echo_prompt at the very beginning.
161         (read_char): Remove workaround for bug#19875, not needed any more.
162         (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403).
163         (mark_kboards): Mark echo_prompt.
165         Fix disassembly of non-compiled lexical functions (bug#21377)
166         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
167         * lisp/emacs-lisp/disass.el: Use lexical-binding.
168         (disassemble): Recognize `closure's as well.
169         (disassemble-internal): Use indirect-function and
170         help-function-arglist, and accept `closure's.
171         (disassemble-internal): Use interactive-form.
172         (disassemble-1): Use functionp.
174         (tex--prettify-symbols-compose-p): Don't compose in verbatim blocks!
175         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
176         Don't compose inside verbatim blocks!
178 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
180         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
181         (bug#19441)
183         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394)
185 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
187         vc-git-mode-line-string: Explicitly re-apply the face
188         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
189         the face (bug#21404).
191 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
193         Treat initial-scratch-message as a doc string
194         * doc/emacs/building.texi (Lisp Interaction):
195         * doc/lispref/os.texi (Startup Summary):
196         * etc/NEWS: Document this.
197         * lisp/startup.el (initial-scratch-message):
198         Look up find-file’s key rather than hardcoding it.
199         (command-line-1): Substitute the doc string.
200         This also substitutes the quotes, which will help test display
201         quoting at startup.
203         Fix describe-char bug with glyphs on terminals
204         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
205         buffers too, so don’t treat them differently from graphic displays.
206         Without this fix, describe-char would throw an error on a terminal
207         if given a glyph with a non-default face.
209         Follow text-quoting-style in display table init
210         This attempts to fix a problem reported by Alan Mackenzie in:
211         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
212         * doc/lispref/display.texi (Active Display Table):
213         Mention how text-quoting-style affects it.
214         * doc/lispref/help.texi (Keys in Documentation):
215         Say how to set text-quoting-style in ~/.emacs.
216         * etc/NEWS: Document the change.
217         * lisp/startup.el (startup--setup-quote-display):
218         Follow user preference if text-quoting-style is set.
219         (command-line): Setup quote display again if user expresses
220         a preference in .emacs.
222 2015-09-02  K. Handa  <handa@gnu.org>
224         Fix typo
225         * ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask -> OTF_positioning_type_components_mask.
227         fix previous change
228         * ftfont.c (ftfont_drive_otf): Remember some bits of
229         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
231 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
233         * lisp/vc/vc-hooks.el (vc-refresh-state): New command
234         (vc-refresh-state): Rename from vc-find-file-hook and make interactive.
235         (vc-find-file-hook): Redefine as obsolete alias.
237 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
239         Escape ` and ' in doc
240         Escape apostrophes and grave accents in docstrings if they are
241         are supposed to stand for themselves and are not quotes.  Remove
242         apostrophes from docstring examples like ‘'(calendar-nth-named-day
243         -1 0 10 year)’ that confuse source code with data.  Do some other
244         minor docstring fixups as well, e.g., insert a missing close
245         quote.
247 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
249         Generalize the prefix-command machinery of C-u
250         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
251         (prefix-command-preserve-state-hook): New hooks.
252         (internal-echo-keystrokes-prefix): New function.
253         (prefix-command--needs-update, prefix-command--last-echo): New vars.
254         (prefix-command-update, prefix-command-preserve): New functions.
255         (reset-this-command-lengths): New compatibility definition.
256         (universal-argument--mode): Call prefix-command-update.
257         (universal-argument, universal-argument-more, negative-argument)
258         (digit-argument): Call prefix-command-preserve-state.
259         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
260         the "prefix argument" to echo.
261         (this_command_key_count_reset, before_command_key_count)
262         (before_command_echo_length): Delete variables.
263         (echo_add_key): Always add a space.
264         (echo_char): Remove.
265         (echo_dash): Don't give up when this_command_key_count is 0, since that
266         is now the case after a prefix command.
267         (echo_update): New function, extracted from echo_now.
268         (echo_now): Use it.
269         (add_command_key, read_char, record_menu_key): Remove old disabled code.
270         (command_loop_1): Don't refrain from pushing an undo boundary when
271         prefix-arg is set.  Remove other prefix-arg special case, now handled
272         directly in the prefix commands instead.  But call echo_now if there's
273         a prefix state to echo.
274         (read_char, record_menu_key): Use echo_update instead of echo_char.
275         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
276         (Freset_this_command_lengths): Delete function.
277         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
278         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
279         * lisp/simple.el: Use those new hooks for C-u.
280         (universal-argument--description): New function.
281         (prefix-command-echo-keystrokes-functions): Use it.
282         (universal-argument--preserve): New function.
283         (prefix-command-preserve-state-hook): Use it.
284         (command-execute): Call prefix-command-update if needed.
285         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
286         (kmacro-step-edit-prefix-index): Delete variables.
287         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
288         support for prefix arg commands.
289         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
290         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
291         (cua--shift-control-prefix): Use prefix-command-preserve-state.
292         Remove now unused arg `arg'.
293         (cua--prefix-override-handler, cua--prefix-repeat-handler)
294         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
295         Update accordingly.
296         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
297         any more.
298         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
299         if the mark is not set.
301 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
303         Rework quoting in tutorial
304         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
305         (if in more detail, type-of-animal in detail, else): Rework the
306         early example to use " rather than ' so that we don’t burden
307         complete novices with the low-priority detail of text quoting style.
308         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
309         (kill-new function, kill-ring-yank-pointer)
310         (Complete forward-sentence, Loading Files)
311         (Code for current-kill, Code for current-kill, yank):
312         Resurrect the Emacs 22 versions of the code, which uses grave
313         quoting style in doc strings.
314         (Complete zap-to-char): Mention how quoting works in doc strings.
316         Setup quote display only if interactive
317         * lisp/startup.el (command-line):
318         Skip call to startup--setup-quote-display if noninteractive.
319         Without this change, python-shell-prompt-validate-regexps-1
320         fails in test/automated/python-tests.el when run in an
321         en_US.utf8 locale on Fedora.
323 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
325         Use defalias at the top level
326         * lisp/gnus/gnus-util.el (gnus-format-message):
327         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
328         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
330 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
332         terminal-init-w32console mimicks command-line
333         Problem reported by Eli Zaretskii.
334         * lisp/startup.el (startup--setup-quote-display):
335         New function, refactored from a part of ‘command-line’.
336         (command-line): Use it.
337         * lisp/term/w32console.el (terminal-init-w32console):
338         Use it, so that this function stays consistent with ‘command-line’.
340         Display replacement quotes with shadow glyphs
341         * lisp/startup.el (command-line): When displaying ASCII
342         replacements for curved quotes, use a shadow glyph instead of a
343         regular one, to avoid ambiguity.
345 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
347         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
349 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
351         Docstring fixes re quotes in C code
352         Fix some docstring quoting problems, mostly by escaping apostrophe.
354 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
356         Some Tramp password fixes
357         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
358         of the hops.
359         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
360         at the beginning of the command.  Otherwise, it could be
361         interpreted as password prompt if the remote host echoes the
362         command.
363         (tramp-remote-coding-commands): Add "openssl enc -base64".
365 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
367         Make vc-git-working-revision always return the commit hash
368         * lisp/vc/vc-git.el (vc-git-working-revision):
369         Return the commit hash (bug#21383).
370         (vc-git--symbolic-ref): New function, extracted from above.
371         (vc-git-mode-line-string): Use it.
373 2015-09-01  K. Handa  <handa@gnu.org>
375         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs.
376         * ftfont.c (MFLTGlyphFT): New type.
377         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
378         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
379         elements in the array MFLTGlyphString.glyphs.
381 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
383         Improve comments in elisp-mode.el, elisp-mode-tests.el
384         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
386         Delete Emacs 25 test in mode-local.el
387         * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix missed an
388         edit in previous commit.
390         Show all known mode-local overrides in *Help*
391         * lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs
392         25. Add all known mode-local overrides.
394 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
396         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
397         Ensure that the article where the search word is found is displayed
398         and pointed to in the summary buffer.
400 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
402         * lisp/newcomment.el (comment-dwim): Use `use-region-p'
403         When the region is active, but is empty (length 0), act as though
404         the region was not active; that is, put a comment at the end of
405         the line.  (Bug#21119)
407 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
409         Port tls.el to older Emacs
410         * lisp/net/tls.el (tls-format-message):
411         Alias to format-message, or format if not available.
412         (open-tls-stream): Use it.
414 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
416         hideif.el: Recognize .h++ as C++ header.
417         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
419         isearch: Document character folding mode.
420         * isearch.el (isearch-forward): Mention `isearch-toggle-character-fold'
421         in docstring.
423 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
425         Quoting fixes in ERC and Eshell
426         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
427         * lisp/erc/erc-backend.el (define-erc-response-handler):
428         * lisp/erc/erc-fill.el (erc-fill-static-center):
429         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
430         * lisp/eshell/em-glob.el (eshell-glob-entries):
431         * lisp/eshell/em-hist.el (eshell-save-some-history):
432         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
433         (eshell-shuffle-files):
434         * lisp/eshell/esh-cmd.el (eshell-do-eval):
435         * lisp/eshell/esh-proc.el (eshell-process-interact)
436         (eshell-query-kill-processes):
437         Respect ‘text-quoting-style’ in diagnostics and doc strings.
439         Quoting fixes in Gnus
440         * lisp/gnus/gnus-agent.el:
441         (gnus-agent-possibly-synchronize-flags-server):
442         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
443         * lisp/gnus/gnus-eform.el (gnus-edit-form):
444         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
445         (gnus-group-nnimap-edit-acl):
446         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
447         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
448         * lisp/gnus/message.el (message-strip-subject-encoded-words)
449         (message-check-recipients, message-send-form-letter):
450         * lisp/gnus/mm-decode.el (mm-display-part):
451         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
452         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
453         (mml-smime-get-ldap-cert):
454         * lisp/gnus/spam-report.el (spam-report-process-queue):
455         Respect ‘text-quoting-style’ in diagnostics.
456         * lisp/gnus/gnus-art.el (article-display-face)
457         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
458         Use straight quoting in email.
459         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
460         Escape apostrophes in doc strings.
462         Quoting fixes in lisp mail, mh-e, net, url
463         * lisp/mail/emacsbug.el (report-emacs-bug)
464         (report-emacs-bug-hook): Use straight quotes in outgoing email,
465         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
466         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
467         * lisp/mail/rmailout.el (rmail-output-read-file-name):
468         * lisp/net/imap.el (imap-interactive-login):
469         * lisp/net/tls.el (open-tls-stream):
470         * lisp/url/url-auth.el (url-register-auth-scheme):
471         Respect ‘text-quoting-style’ in diagnostics.
472         * lisp/mh-e/mh-e.el (mh-sortm-args):
473         Quote docstring example using text quotes, not as a Lisp quote.
475 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
477         Fix some byte-compiler warnings in EDE
478         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
479         existing autoloader list, rather than add to it.
480         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
481         argument to eieio class constructor.
482         (ede-show-supported-projects): New.
483         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
484         with (oref ... name).
485         (ede-auto-load-project): Use slot name, not initarg key.
486         * lisp/cedet/ede/generic.el (ede-generic-load,
487         ede-generic-find-matching-target): Use slot name, not initarg key.
488         (ede-find-target): Use oref-default on class name.
489         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
490         class constructor.
491         (ede-enable-generic-projects): Make project type names unique.
493 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
495         Fix directory accessibility tests for w32 network volumes
496         * src/w32.c (faccessat): Don't fail with network volumes without a
497         share.
498         (w32_accessible_directory_p): Handle network volumes without a
499         share.
501         Fix handling long file names in readdir on MS-Windows
502         * src/w32.c (sys_readdir): Append "\*" to the directory after
503         converting it to UTF-16/ANSI, not before, to avoid overflowing the
504         260-character limit on file names in filename_to_utf16/ansi.
506         Make file-accessible-directory-p reliable on MS-Windows
507         * src/w32.c (w32_accessible_directory_p): New function.
508         * src/w32.h (w32_accessible_directory_p): Add prototype.
509         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
510         w32_accessible_directory_p to test a directory for accessibility
511         by the current user.  (Bug#21346)
512         (Ffile_accessible_directory_p): Remove the w32 specific caveat
513         from the doc string.
515 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
517         Don't call do_pending_window_change in signal handlers (Bug#21380)
518         * src/gtkutil.c (xg_frame_resized):
519         * src/xterm.c (x_set_window_size):
520         * src/w32term.c (x_set_window_size): Don't call
521         do_pending_window_change.
523 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
525         Quoting fixes in lisp/org
526         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
527         (org-tags-view):
528         * lisp/org/org-capture.el (org-capture-mode)
529         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
530         (org-ctags-ask-append-topic):
531         * lisp/org/org.el (org-time-string-to-time)
532         (org-time-string-to-absolute):
533         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
534         (org-ctags-ask-append-topic):
535         * lisp/org/org.el (org-time-string-to-time)
536         (org-time-string-to-absolute):
537         Respect ‘text-quoting-style’ in diagnostics.
538         * lisp/org/org-agenda.el (org-agenda-custom-commands)
539         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
540         * lisp/org/org-capture.el (org-capture-fill-template):
541         Avoid contraction in output file that might be ASCII.
542         * lisp/org/org-compat.el (format-message):
543         Define if not already defined, for backward compatibility.
544         * lisp/org/org-src.el (org-edit-src-save):
545         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
546         Escape apostrophes in diagnostics.
548         Treat “instead” strings as docstrings
549         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
550         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
551         Substitute quotes in instead strings.
553 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
555         Better documentation of seq-let
556         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
557         documentation of seq-let.
559 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
561         * lisp/international/ccl.el: Fix quoting.
563         Quoting fixes in lisp/international and lisp/leim
564         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
565         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
566         * lisp/international/mule-cmds.el:
567         (select-safe-coding-system-interactively, leim-list-file-name):
568         * lisp/international/quail.el (quail-use-package, quail-help):
569         * lisp/international/titdic-cnv.el (tit-process-header)
570         (miscdic-convert):
571         Respect text quoting style in doc strings and diagnostics.
572         * lisp/international/quail.el (lisp/international/quail.el):
573         * lisp/leim/quail/ethiopic.el ("ethiopic"):
574         Escape apostrophes in doc strings.
576         Make ‘text-quoting-style’ a plain defvar
577         It doesn’t need customization, as it’s likely useful only by experts.
578         Suggested by Stefan Monnier in:
579         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
580         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
582         Quoting fixes in lisp/textmodes
583         * lisp/textmodes/bibtex.el (bibtex-validate)
584         (bibtex-validate-globally, bibtex-search-entries):
585         * lisp/textmodes/ispell.el (ispell-command-loop):
586         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
587         * lisp/textmodes/texinfmt.el (texinfmt-version)
588         (texinfo-format-region, texinfo-format-buffer-1):
589         * lisp/textmodes/two-column.el (2C-split):
590         Respect text quoting style in doc strings and diagnostics.
591         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
592         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
593         Escape apostrophes in doc strings.
595         Documentation fixes re quotes
596         Prefer curved quotes in examples if users will typically see
597         curved quotes when the examples run.
598         Mention format-message when appropriate.
599         Don’t use @code in examples.
600         Quote an apostrophe with @kbd.
602         Quoting fixes in lisp/progmodes
603         * lisp/progmodes/cc-engine.el (c-bos-report-error):
604         * lisp/progmodes/cpp.el (cpp-edit-reset):
605         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
606         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
607         (etags-tags-apropos, list-tags, tags-apropos):
608         * lisp/progmodes/executable.el (executable-set-magic):
609         * lisp/progmodes/octave.el (octave-sync-function-file-names)
610         (octave-help, octave-find-definition-default-filename)
611         (octave-find-definition):
612         Respect text quoting style in doc strings and diagnostics.
613         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
614         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
615         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
616         Escape apostrophes in doc strings.
617         * lisp/progmodes/cmacexp.el (c-macro-expansion):
618         Use straight quoting in ASCII comment.
619         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
620         (idlwave-pad-keyword):
621         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
622         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
623         (vhdl-electric-semicolon, vhdl-electric-comma)
624         (vhdl-electric-period, vhdl-electric-equal):
625         Use directed quotes in diagnostics and doc strings.
627 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
629         Minor documentation and NEWS tweak
630         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an index
631         entry.
633 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
635         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
636         Revert patch from 2015-08-24.  Tramp shall be have like for local files.
637         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
638         Adapt test.
640 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
642         Text quoting fixes in cedet, emulation, emacs-lisp
643         * lisp/cedet/ede.el (ede-check-project-directory):
644         * lisp/cedet/semantic/analyze/debug.el:
645         (semantic-analyzer-debug-insert-include-summary):
646         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
647         * lisp/cedet/semantic/decorate/include.el:
648         (semantic-decoration-unknown-include-describe)
649         (semantic-decoration-all-include-summary):
650         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
651         * lisp/emulation/edt.el (edt-load-keys):
652         * lisp/emulation/viper-cmd.el:
653         (viper-display-current-destructive-command)
654         (viper-query-replace, viper-brac-function):
655         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
656         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
657         Respect text quoting style in doc string or diagnostic.
658         * lisp/cedet/mode-local.el (describe-mode-local-overload):
659         Use format-message to avoid overtranslating quotes.
660         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
661         Escape an apostrophe in a docstring.
662         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
664 2015-08-29  Daniel Colascione  <dancol@dancol.org>
666         Fix which-func for curly quotes: look for symbol, not message
667         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
668         imenu-unavailable error symbol instead of trying to match message
669         exactly.
670         * lisp/imenu.el (imenu-unavailable): New error
671         (imenu-unavailable-error): New function.
673 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
675         Fix Python tests on MS-Windows
676         * test/automated/python-tests.el
677         (python-shell-calculate-command-1): Run python-shell-interpreter
678         through shell-quote-argument before comparing with what
679         python-shell-calculate-command returns.
680         (python-shell-calculate-pythonpath-1)
681         (python-shell-calculate-pythonpath-2)
682         (python-shell-calculate-process-environment-2): Use path-separator
683         instead of a literal ':'.
684         (python-shell-calculate-exec-path-2)
685         (python-shell-calculate-exec-path-3)
686         (python-shell-calculate-exec-path-4)
687         (python-shell-with-environment-1)
688         (python-shell-with-environment-2): Run "/env/bin" through
689         expand-file-name before comparing with exec-path.  (Bug#21375)
691 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
693         Use Core Text types/functions/variables/enumerators directly
694         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
695         (CharacterCollection): Remove typedefs.  All uses replaced with
696         definitions.
697         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
698         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
699         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
700         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
701         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
702         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
703         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
704         definitions.
705         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
706         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
707         (MAC_FONT_FORMAT_BITMAP)
708         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
709         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
710         uses replaced with definitions.
711         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
712         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
713         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
714         compatibility enumerators for older versions.
715         (mac_font_descriptor_create_with_attributes)
716         (mac_font_descriptor_create_matching_font_descriptors)
717         (mac_font_descriptor_create_matching_font_descriptor)
718         (mac_font_descriptor_copy_attribute)
719         (mac_font_descriptor_supports_languages)
720         (mac_font_create_with_name, mac_font_get_size)
721         (mac_font_copy_family_name, mac_font_copy_character_set)
722         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
723         (mac_font_get_descent, mac_font_get_leading)
724         (mac_font_get_underline_position)
725         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
726         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
727         replaced with definitions.
728         (mac_font_create_preferred_family_for_attributes)
729         (mac_font_get_advance_width_for_glyph)
730         (mac_font_get_bounding_rect_for_glyph)
731         (mac_font_create_available_families, mac_font_shape): Remove
732         macros for renamed functions.
733         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
734         * src/macterm.m (mac_font_descriptor_supports_languages): Rename
735         from mac_ctfont_descriptor_supports_languages.
736         (mac_font_create_preferred_family_for_attributes): Rename from
737         mac_ctfont_create_preferred_family_for_attributes.
738         (mac_font_get_advance_width_for_glyph): Rename from
739         mac_ctfont_get_advance_width_for_glyph.  Use
740         kCTFontOrientationDefault also for older versions.
741         (mac_font_get_bounding_rect_for_glyph): Rename from
742         mac_ctfont_get_bounding_rect_for_glyph. Use
743         kCTFontOrientationDefault also for older versions.
744         (mac_font_create_available_families): Rename from
745         mac_ctfont_create_available_families.
746         (mac_font_equal_in_postscript_name): Rename from
747         mac_ctfont_equal_in_postscript_name.  All uses changed.
748         (mac_font_create_line_with_string_and_font): Rename from
749         mac_ctfont_create_line_with_string_and_font.  All uses changed.
750         (mac_font_shape): Rename from mac_ctfont_shape.
751         (mac_font_family_compare): Remove unused declaration.
753 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
755         Fix minor text quoting in calc, calendar, vc
756         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
757         * lisp/calc/calc-help.el (calc-j-prefix-help):
758         * lisp/calc/calc-misc.el (calc-help):
759         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
760         Escape an apostrophe in a docstring.
761         * lisp/calc/calc-forms.el (calc-hms-notation):
762         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
763         Escape an apostrophe in a diagnostic.
764         * lisp/calc/calc-misc.el (calc-help):
765         * lisp/calendar/diary-lib.el (diary-include-files):
766         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
767         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
768         * lisp/vc/ediff-diff.el (ediff-same-contents):
769         * lisp/vc/ediff-merg.el (ediff-re-merge):
770         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
771         * lisp/vc/ediff-util.el (ediff-test-save-region)
772         (ediff-status-info):
773         * lisp/vc/ediff.el (ediff-merge-revisions)
774         (ediff-merge-revisions-with-ancestor):
775         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
776         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
777         Respect text quoting style in doc string or diagnostic.
778         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
779         * lisp/vc/add-log.el (change-log-goto-source):
780         Avoid double-formatting.
781         * lisp/vc/ediff-init.el (format-message):
782         New backward-compatibility alias.
784 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
786         Fix minor text quoting problems in lisp top level
787         * lisp/apropos.el (apropos-describe-plist):
788         * lisp/cus-theme.el (customize-themes):
789         * lisp/dired.el (dired-log):
790         * lisp/help-fns.el (describe-variable):
791         * lisp/hexl.el (hexl-insert-multibyte-char):
792         * lisp/info.el (Info-finder-find-node):
793         * lisp/json.el (json-read-string):
794         * lisp/novice.el (disabled-command-function)
795         (disabled-command-function):
796         * lisp/startup.el (normal-mouse-startup-screen):
797         * lisp/woman.el (WoMan-log, WoMan-warn):
798         Respect text quoting style in doc string or diagnostic.
799         * lisp/replace.el (replace-character-fold):
800         * src/syntax.c (Fmodify_syntax_entry):
801         Escape an apostrophe in a docstring.
802         * lisp/tempo.el (tempo-define-template):
803         Remove confusing apostrophe from docstring.
804         * lisp/whitespace.el (whitespace-mark-x):
805         Use directed quotes in docstring.
807 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
809         Fix indentation rule in css-mode
810         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
811         brackets in presence of pseudo-selectors.  (Bug#21328)
813 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
815         Fix a bug in recording a macro while flyspell-mode is active
816         * lisp/subr.el (sit-for): Don't call read-event when recording a
817         macro.  (Bug#21329)
819 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
821         Tweak startup screen quoting
822         * lisp/startup.el (normal-splash-screen): Use standard
823         "M-" abbrevation rather than a confusingly-different one.
824         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
826 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
828         Add test case for ‘format’ bug and refactor
829         * src/editfns.c (styled_format): Refactor internally, mostly by
830         moving declarations closer to uses.  This should not affect behavior.
831         * test/automated/textprop-tests.el (textprop-tests-format): New test.
833         Fix ‘format’ bug with property offsets
834         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
835         bug in calculating string property offsets (Bug#21351).
837         Use straight quotes in lib-src diagnostics
838         These auxiliary programs can’t use Emacs’s text-quoting-style,
839         and it’s too much trouble to redo that mechanism by hand.
840         So just use straight quotes for now.
841         * lib-src/ebrowse.c (main):
842         * lib-src/emacsclient.c (decode_options, main):
843         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
844         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
845         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
846         (none_help, print_language_names, print_help, add_regex)
847         (suggest_asking_for_help):
848         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
849         Use straight quotes in diagnostics.
851         ‘text-quoting-style’ fixes for admin
852         * admin/admin.el (cusver-scan, cusver-check):
853         * admin/authors.el (authors-canonical-file-name):
854         * admin/bzrmerge.el (bzrmerge-missing):
855         Respect ‘text-quoting-style’ in diagnostics.
857 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
859         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
860         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
861         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
862         * doc/lispref/internals.texi (Writing Emacs Primitives):
863         * etc/NEWS:
864         Document the change.
865         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
866         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
867         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
868         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
869         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
870         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
871         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
872         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
873         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
874         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
875         Remove.  All uses removed.  The code now assumes
876         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
877         * src/bytecode.c (relocate_byte_stack):
878         Rename from unmark_byte_stack, since it now only relocates.
879         All callers changed.
880         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
881         with GCPROs removed.
882         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
883         * test/automated/finalizer-tests.el (finalizer-basic)
884         (finalizer-circular-reference, finalizer-cross-reference)
885         (finalizer-error):
886         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
887         Remove tests, as they depend on gc-precise.
889 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
891         Improve seq-concatenate for new sequence types
892         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
893         ensure that concatenation happens on sequences only.  This makes it
894         possible to use `seq-concatenate' for new types of seqs.
895         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New
896         function used in `seq-concatenate'.
897         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
898         for seq-into-sequence.
900 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
902         Add mode local overrides to xref-find-definitions
903         * lisp/cedet/mode-local.el (xref-mode-local--override-present,
904         xref-mode-local-overload): New; add mode local overrides to
905         xref-find-definitions.
906         * test/automated/elisp-mode-tests.el: Add mode local override tests.
907         (xref-elisp-test-run): Handle indented defuns.
908         (xref-elisp-generic-*): Improve doc strings.
909         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
910         (elisp--xref-find-definitions): Use it.
912         Add mode local overrides to describe-function
913         * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode
914         local overrides to describe-function.
915         * etc/NEWS: Document change.
917 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
919         Prefer straight quoting in some etc text files
920         These files are plain text and might be used by non-Emacs apps.
921         They’re mostly ASCII, so just use straight quotes.
923         Fix quoting in ‘message_with_string’
924         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
925         should work now.
926         * src/xdisp.c (message_to_stderr): New function, refactored from
927         part of ‘message3_nolog’.
928         (message3_nolog): Use it.
929         (message_with_string): Use it.  Don’t mishandle NUL bytes when
930         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
931         Use ‘format-message’, not ‘format’, so that quotes are translated.
933 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
935         Mention false positives of file-accessible-directory on w32
936         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
937         (Bug#21346)
939 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
941         Treat error strings as help
942         * src/print.c (print_error_message): Translate quotes and command
943         keys in errmsg so that users see, e.g., "Symbol’s value as
944         variable is void: foo" when text-quoting-style is curved.
946 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
948         * lisp/net/tramp-cache.el (top): Use `message' but `format-message'.
950 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
952         Top-level elisp files respect ‘text-quoting-style’
953         In top-level elisp files, use format-message in diagnostic formats,
954         so that they follow user preference as per ‘text-quoting-style’
955         rather than being hard-coded to quote `like this'.
956         * lisp/allout.el (allout-get-configvar-values):
957         * lisp/apropos.el (apropos-symbols-internal):
958         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
959         (dired-do-create-files-regexp, dired-create-files-non-directory):
960         * lisp/dired-x.el (dired-do-run-mail):
961         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
962         * lisp/disp-table.el (standard-display-european):
963         * lisp/find-dired.el (find-dired):
964         * lisp/forms.el (forms-mode):
965         * lisp/ido.el (ido-buffer-internal):
966         * lisp/info.el (Info-index-next):
967         * lisp/outline.el (outline-invent-heading):
968         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
969         * lisp/proced.el (proced-log):
970         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
971         * lisp/recentf.el (recentf-open-files, recentf-save-list):
972         * lisp/savehist.el (savehist-save):
973         * lisp/server.el (server-ensure-safe-dir):
974         * lisp/ses.el (ses-rename-cell):
975         * lisp/simple.el (list-processes--refresh):
976         * lisp/startup.el (command-line):
977         * lisp/strokes.el (strokes-unset-last-stroke)
978         (strokes-execute-stroke):
979         Use format-message so that quotes are restyled.
980         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
981         Don’t quote ‘raised’.
982         * lisp/descr-text.el (describe-char):
983         * lisp/dirtrack.el (dirtrack-debug-message):
984         * lisp/hexl.el (hexl-insert-multibyte-char):
985         Apply substitute-command-keys to help string.
986         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
987         (wdired-do-perm-changes):
988         Let dired-log do the formatting.
990 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
992         Go back to grave quoting in Tramp
993         * lisp/net/tramp-adb.el:
994         * lisp/net/tramp-cache.el:
995         * lisp/net/tramp-compat.el:
996         * lisp/net/tramp-gvfs.el:
997         * lisp/net/tramp-gw.el:
998         * lisp/net/tramp-sh.el:
999         * lisp/net/tramp-smb.el:
1000         * lisp/net/tramp.el:
1001         Stick with grave quoting in diagnostics strings.  This is more
1002         portable to older Emacs, desirable for Tramp.
1003         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
1004         for diagnostic that needs requoting.
1005         * lisp/net/tramp-compat.el (format-message):
1006         Fall back on simple ‘format’, since that’s good enough now.
1008         Go back to grave quoting in Gnus
1009         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
1010         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
1011         (gnus-agent-fetch-headers):
1012         * lisp/gnus/gnus-int.el (gnus-start-news-server):
1013         * lisp/gnus/gnus-registry.el:
1014         (gnus-registry--split-fancy-with-parent-internal)
1015         (gnus-registry-post-process-groups):
1016         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
1017         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
1018         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
1019         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
1020         * lisp/gnus/spam.el (spam-check-blackholes):
1021         Stick with grave quoting in diagnostics strings.  This is more
1022         portable to older Emacs, desirable for Gnus.
1024         Fix customization of text-quoting-style
1025         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
1026         * lisp/wid-edit.el (widget-docstring):
1027         Get raw docstring here since it’s cooked later and should not be
1028         cooked twice.
1029         * lisp/cus-edit.el (custom-group-value-create):
1030         Cook the docstring before inserting it.
1031         * lisp/cus-start.el (text-quoting-style): Quote the customization
1032         docstrings according to the new rules.  Give curved examples.
1034         format-message now curves ` and '
1035         That way, the caller doesn’t have to use curved quotes to
1036         get diagnostics that match the text-quoting-style preferences.
1037         Suggested by Dmitry Gutov in:
1038         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
1039         This means we no longer need %qs, so remove that format.
1040         While we’re at it, fix an unlikely bug and lessen the pressure
1041         on the garbage collector by processing the string once rather
1042         than twice in the usual case.
1043         * doc/lispref/strings.texi (Formatting Strings):
1044         * etc/NEWS: Document this.
1045         * lisp/subr.el (format-message): Remove; now done in C.
1046         * src/callint.c (Fcall_interactively):
1047         * src/editfns.c (Fmessage, Fmessage_box):
1048         Use Fformat_message instead of Finternal__text_restyle
1049         followed by Fformat.
1050         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
1051         uLSQM and uRSQM.
1052         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
1053         when pure ASCII now suffices.  Fix unlikely bug when parsing
1054         unibyte string containing non-ASCII bytes.  Use inline code
1055         rather than memcpy, as it’s a tiny number of bytes.
1056         (Finternal__text_restyle): Remove; no longer used.
1057         (syms_of_doc): Don’t declare it.
1058         * src/editfns.c (Fformat): Rewrite in terms of new function
1059         ‘styled_format’.
1060         (Fformat_message): New function, moved here from subr.el.
1061         (styled_format): New function, with the old guts of Fformat,
1062         except it now optionally transliterates quotes, and it transliterates
1063         traditional grave accent and apostrophe quoting as well.
1064         Remove recently-added q flag; no longer needed or used.
1065         (syms_of_editfns): Define format-message.
1066         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
1067         Remove; no longer need to be global symbols.
1068         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
1069         so that callers can use `%s'.
1070         * src/image.c (image_size_error, xbm_load_image, xbm_load)
1071         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
1072         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
1073         (svg_load_image, gs_load, x_kill_gs_process):
1074         * src/lread.c (load_warn_old_style_backquotes):
1075         * src/xfaces.c (load_pixmap):
1076         * src/xselect.c (x_clipboard_manager_error_1):
1077         Use `%s' instead of %qs in formats.
1079 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
1081         Minor fixes in doc/emacs/search.texi
1082         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
1083         (Special Isearch): Use @w{} to generate several consecutive spaces
1084         with Texinfo 6.  (Bug#21345)
1086 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
1088         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
1089         (tramp-awk-coding-test): New defconsts.
1090         (tramp-remote-coding-commands): Use them.
1091         (tramp-find-inline-encoding): Check for Perl only if necessary.
1093 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
1095         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
1096         index entries for the special form `quote'.
1098 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
1100         Spelling fixes
1102         Gnus format-message typo fix
1103         * lisp/gnus/gnus-util.el (gnus-format-message):
1104         Fix typo when running in older Emacs.
1106         Prefer directed to neutral quotes
1107         Prefer directed to neutral quotes in docstings and diagnostics.
1108         In docstrings, escape apostrophes that would otherwise be translated
1109         to curved quotes using the newer, simpler rules.
1110         * admin/unidata/unidata-gen.el (unidata-gen-table):
1111         * lisp/align.el (align-region):
1112         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
1113         * lisp/bookmark.el (bookmark-default-annotation-text):
1114         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
1115         * lisp/calc/calc-lang.el (math-read-giac-subscr)
1116         (math-read-math-subscr):
1117         * lisp/calc/calc-misc.el (report-calc-bug):
1118         * lisp/calc/calc-prog.el (calc-fix-token-name)
1119         (calc-read-parse-table-part):
1120         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
1121         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
1122         * lisp/dabbrev.el (dabbrev-expand):
1123         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1124         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
1125         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
1126         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
1127         * lisp/erc/erc-button.el (erc-nick-popup):
1128         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
1129         * lisp/eshell/em-dirs.el (eshell/cd):
1130         * lisp/eshell/em-glob.el (eshell-glob-regexp):
1131         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
1132         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
1133         * lisp/eshell/esh-opt.el (eshell-show-usage):
1134         * lisp/files-x.el (modify-file-local-variable):
1135         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
1136         (filesets-update-pre010505):
1137         * lisp/find-cmd.el (find-generic, find-to-string):
1138         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
1139         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
1140         (gnus-agent-fetch-headers):
1141         * lisp/gnus/gnus-int.el (gnus-start-news-server):
1142         * lisp/gnus/gnus-registry.el:
1143         (gnus-registry--split-fancy-with-parent-internal):
1144         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
1145         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
1146         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
1147         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
1148         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
1149         * lisp/gnus/spam.el (spam-check-blackholes):
1150         * lisp/mail/feedmail.el (feedmail-run-the-queue):
1151         * lisp/mpc.el (mpc-playlist-rename):
1152         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
1153         * lisp/net/mairix.el (mairix-widget-create-query):
1154         * lisp/net/tramp-cache.el:
1155         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
1156         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
1157         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
1158         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
1159         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
1160         (org-babel-goto-named-result):
1161         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
1162         * lisp/org/ob-ref.el (org-babel-ref-resolve):
1163         * lisp/org/org-agenda.el (org-agenda-prepare):
1164         * lisp/org/org-bibtex.el (org-bibtex-fields):
1165         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
1166         (org-clock-resolve):
1167         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
1168         * lisp/org/org-habit.el (org-habit-parse-todo):
1169         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
1170         (org-mouse-context-menu):
1171         * lisp/org/org-table.el (org-table-edit-formulas):
1172         * lisp/org/ox.el (org-export-async-start):
1173         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
1174         (dun-rooms, dun-endgame-questions):
1175         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
1176         * lisp/progmodes/ada-xref.el (ada-find-executable):
1177         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
1178         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
1179         (flymake-start-syntax-check-process):
1180         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
1181         * lisp/progmodes/sql.el (sql-comint):
1182         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
1183         * lisp/server.el (server-get-auth-key):
1184         * lisp/subr.el (version-to-list):
1185         * lisp/textmodes/reftex-ref.el (reftex-label):
1186         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
1187         * lisp/vc/ediff-diff.el (ediff-same-contents):
1188         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
1189         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
1190         Use directed rather than neutral quotes in diagnostics.
1192         Treat ' like ’ even when not matching `
1193         This is simpler and easier to explain, and should encourage better
1194         typography.  Do this in Electric Quote mode and when translating
1195         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
1196         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
1197         * doc/emacs/text.texi (Quotation Marks):
1198         * doc/lispref/help.texi (Keys in Documentation):
1199         * etc/NEWS:
1200         Document this.
1201         * lisp/electric.el (electric-quote-post-self-insert-function):
1202         * src/doc.c (Fsubstitute_command_keys):
1203         Always treat ' like ’ even when not matched by an open quote.
1205 2015-08-25  Glenn Morris  <rgm@gnu.org>
1207         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
1208         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
1210 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1212         * src/macfont.m (macfont_create_family_with_symbol): Accept localized names.
1214 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1216         Tramp diagnostics as per ‘text-quoting-style’
1217         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
1218         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
1219         (tramp-adb-handle-delete-directory)
1220         (tramp-adb-handle-delete-file)
1221         (tramp-adb-handle-file-local-copy)
1222         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
1223         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
1224         (tramp-adb-maybe-open-connection):
1225         * lisp/net/tramp-cache.el:
1226         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
1227         (tramp-compat-octal-to-decimal)
1228         (tramp-compat-coding-system-change-eol-conversion):
1229         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
1230         (tramp-gvfs-do-copy-or-rename-file)
1231         (tramp-gvfs-handle-delete-directory)
1232         (tramp-gvfs-handle-delete-file)
1233         (tramp-gvfs-handle-expand-file-name)
1234         (tramp-gvfs-handle-file-local-copy)
1235         (tramp-gvfs-handle-file-notify-add-watch)
1236         (tramp-gvfs-handle-make-directory)
1237         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
1238         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
1239         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
1240         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
1241         (tramp-sh-handle-set-visited-file-modtime)
1242         (tramp-sh-handle-set-file-modes)
1243         (tramp-sh-handle-file-name-all-completions)
1244         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
1245         (tramp-do-copy-or-rename-file-directly)
1246         (tramp-do-copy-or-rename-file-out-of-band)
1247         (tramp-sh-handle-make-directory)
1248         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
1249         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
1250         (tramp-sh-handle-start-file-process)
1251         (tramp-sh-handle-file-local-copy)
1252         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
1253         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
1254         (tramp-find-file-exists-command, tramp-open-shell)
1255         (tramp-find-shell)
1256         (tramp-open-connection-setup-interactive-shell)
1257         (tramp-find-inline-encoding, tramp-find-inline-compress)
1258         (tramp-compute-multi-hops, tramp-maybe-open-connection)
1259         (tramp-wait-for-output, tramp-send-command-and-check)
1260         (tramp-send-command-and-read, tramp-get-remote-path)
1261         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
1262         (tramp-get-ls-command-with-quoting-style)
1263         (tramp-get-test-command, tramp-get-remote-ln)
1264         (tramp-get-remote-perl, tramp-get-remote-stat)
1265         (tramp-get-remote-readlink, tramp-get-remote-trash)
1266         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
1267         (tramp-get-remote-inotifywait, tramp-get-remote-id)
1268         (tramp-get-remote-python):
1269         * lisp/net/tramp-smb.el (tramp-smb-errors)
1270         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
1271         (tramp-smb-handle-delete-directory)
1272         (tramp-smb-handle-delete-file)
1273         (tramp-smb-handle-file-local-copy)
1274         (tramp-smb-handle-make-directory)
1275         (tramp-smb-handle-make-directory-internal)
1276         (tramp-smb-handle-make-symbolic-link)
1277         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
1278         (tramp-smb-handle-set-file-modes)
1279         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
1280         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
1281         (tramp-process-actions):
1282         Generate diagnostics according to ‘text-quoting-style’, by
1283         using curved quotes in format strings and ‘format-message’
1284         when appropriate.
1285         * lisp/net/tramp-compat.el (format-message):
1286         Define a replacement, if it’s an older version of Emacs
1287         that doesn’t have it already.
1289         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
1291 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
1293         Fix documentation for `save-excursion'
1294         * doc/lispref/positions.texi (Excursions):
1295         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
1296         (Template for save-excursion, Point and mark): `save-excursion'
1297         does not save&restore the mark any more.
1299 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
1301         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
1302         New defconsts.
1303         (tramp-do-file-attributes-with-stat)
1304         (tramp-do-directory-files-and-attributes-with-stat): Use them.
1305         (tramp-convert-file-attributes): Remove double slashes in symlinks.
1306         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
1307         Handle symlinks with "//" in the file name.
1309         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
1311 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
1313         Fix cl-subseq and cl-concatenate
1314         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
1315         seq functions.
1316         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
1317         seq-concatenate.
1319 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
1321         Fix full-screen code when there is no window manager (Bug#21317)
1322         * src/xterm.h (x_wm_supports): Declare external.
1323         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
1324         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
1325         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
1326         `fullscreen' frame parameter.
1327         * gtkutil.c (x_wm_set_size_hint): Set size hints when running
1328         without a window manager.
1330 2015-08-24  Glenn Morris  <rgm@gnu.org>
1332         * lisp/version.el (emacs-version): No longer include build host
1333         * doc/lispref/intro.texi (Version Info): Update example.
1335 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1337         * doc/lispref/elisp.texi: Fix typo in previous change.
1339         More-conservative ‘format’ quote restyling
1340         Instead of restyling curved quotes for every call to ‘format’,
1341         create a new function ‘format-message’ that does the restyling,
1342         and using the new function instead of ‘format’ only in contexts
1343         where this seems appropriate.
1344         Problem reported by Dmitry Gutov and Andreas Schwab in:
1345         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
1346         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
1347         * doc/lispref/commands.texi (Using Interactive):
1348         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
1349         * doc/lispref/display.texi (Displaying Messages, Progress):
1350         * doc/lispref/elisp.texi:
1351         * doc/lispref/help.texi (Keys in Documentation):
1352         * doc/lispref/minibuf.texi (Minibuffer Misc):
1353         * doc/lispref/strings.texi (Formatting Strings):
1354         * etc/NEWS:
1355         Document the changes.
1356         * lisp/abbrev.el (expand-region-abbrevs):
1357         * lisp/apropos.el (apropos-library):
1358         * lisp/calc/calc-ext.el (calc-record-message)
1359         (calc-user-function-list):
1360         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
1361         * lisp/calc/calc-lang.el (math-read-big-balance):
1362         * lisp/calc/calc-store.el (calc-edit-variable):
1363         * lisp/calc/calc-units.el (math-build-units-table-buffer):
1364         * lisp/calc/calc-yank.el (calc-edit-mode):
1365         * lisp/calendar/icalendar.el (icalendar-export-region)
1366         (icalendar--add-diary-entry):
1367         * lisp/cedet/mode-local.el (mode-local-print-binding)
1368         (mode-local-describe-bindings-2):
1369         * lisp/cedet/semantic/complete.el (semantic-completion-message):
1370         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
1371         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
1372         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
1373         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1374         * lisp/dframe.el (dframe-message):
1375         * lisp/dired-aux.el (dired-query):
1376         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
1377         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
1378         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
1379         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
1380         (cconv-analyze-form):
1381         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
1382         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1383         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
1384         * lisp/emacs-lisp/edebug.el (edebug-format):
1385         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
1386         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
1387         (eldoc-message):
1388         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
1389         * lisp/emacs-lisp/find-func.el (find-function-library):
1390         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
1391         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
1392         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
1393         * lisp/emacs-lisp/package.el (package-compute-transaction)
1394         (package-install-button-action, package-delete-button-action)
1395         (package-menu--list-to-prompt):
1396         * lisp/emacs-lisp/timer.el (timer-event-handler):
1397         * lisp/emacs-lisp/warnings.el (lwarn, warn):
1398         * lisp/emulation/viper-cmd.el:
1399         (viper-toggle-parse-sexp-ignore-comments)
1400         (viper-kill-buffer, viper-brac-function):
1401         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
1402         * lisp/facemenu.el (facemenu-add-new-face):
1403         * lisp/faces.el (face-documentation, read-face-name)
1404         (face-read-string, read-face-font, describe-face):
1405         * lisp/files.el (find-alternate-file, hack-local-variables)
1406         (hack-one-local-variable--obsolete, write-file)
1407         (basic-save-buffer, delete-directory):
1408         * lisp/format.el (format-write-file, format-find-file)
1409         (format-insert-file):
1410         * lisp/help-fns.el (help-fns--key-bindings)
1411         (help-fns--compiler-macro, help-fns--obsolete)
1412         (help-fns--interactive-only, describe-function-1)
1413         (describe-variable):
1414         * lisp/help.el (describe-mode):
1415         * lisp/info-xref.el (info-xref-output):
1416         * lisp/info.el (Info-virtual-index-find-node)
1417         (Info-virtual-index, info-apropos):
1418         * lisp/international/kkc.el (kkc-error):
1419         * lisp/international/mule-cmds.el:
1420         (select-safe-coding-system-interactively)
1421         (select-safe-coding-system, describe-input-method):
1422         * lisp/international/mule-conf.el (code-offset):
1423         * lisp/international/mule-diag.el (describe-character-set)
1424         (list-input-methods-1):
1425         * lisp/international/quail.el (quail-error):
1426         * lisp/minibuffer.el (minibuffer-message):
1427         * lisp/mpc.el (mpc--debug):
1428         * lisp/msb.el (msb--choose-menu):
1429         * lisp/net/ange-ftp.el (ange-ftp-message):
1430         * lisp/net/gnutls.el (gnutls-message-maybe):
1431         * lisp/net/newst-backend.el (newsticker--sentinel-work):
1432         * lisp/net/newst-treeview.el (newsticker--treeview-load):
1433         * lisp/net/nsm.el (nsm-query-user):
1434         * lisp/net/rlogin.el (rlogin):
1435         * lisp/net/soap-client.el (soap-warning):
1436         * lisp/net/tramp.el (tramp-debug-message):
1437         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
1438         * lisp/nxml/nxml-parse.el (nxml-parse-error):
1439         * lisp/nxml/rng-cmpct.el (rng-c-error):
1440         * lisp/nxml/rng-match.el (rng-compile-error):
1441         * lisp/nxml/rng-uri.el (rng-uri-error):
1442         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
1443         * lisp/org/org-ctags.el:
1444         (org-ctags-ask-rebuild-tags-file-then-find-tag):
1445         * lisp/proced.el (proced-log):
1446         * lisp/progmodes/ebnf2ps.el (ebnf-log):
1447         * lisp/progmodes/flymake.el (flymake-log):
1448         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
1449         * lisp/replace.el (occur-1):
1450         * lisp/simple.el (execute-extended-command)
1451         (undo-outer-limit-truncate, define-alternatives):
1452         * lisp/startup.el (command-line):
1453         * lisp/subr.el (error, user-error, add-to-list):
1454         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
1455         (tutorial--find-changed-keys):
1456         * src/callint.c (Fcall_interactively):
1457         * src/editfns.c (Fmessage, Fmessage_box):
1458         Restyle the quotes of format strings intended for use as a
1459         diagnostic, when restyling seems appropriate.
1460         * lisp/subr.el (format-message): New function.
1461         * src/doc.c (Finternal__text_restyle): New function.
1462         (syms_of_doc): Define it.
1464 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1466         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
1468 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1470         python.el: Fix python-shell-buffer-substring on indented code
1471         (Bug#21086)
1472         * lisp/progmodes/python.el (python-shell-buffer-substring):
1473         Respect current line indentation when calculating string.
1474         * test/automated/python-tests.el
1475         (python-shell-buffer-substring-10)
1476         (python-shell-buffer-substring-11)
1477         (python-shell-buffer-substring-12): New tests.
1479 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1481         Fix minor glitches from ‘format’ reversion
1482         * doc/lispref/strings.texi (Formatting Strings):
1483         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
1484         Documentation’, not below.
1485         * src/syntax.c (Finternal_describe_syntax_value):
1486         Prefer AUTO_STRING to build_string where either will do, as
1487         AUTO_STRING is a bit faster.
1489 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1491         python.el: Defer shell setup code until first interactive prompt
1492         * lisp/progmodes/python.el
1493         (python-shell-comint-watch-for-first-prompt-output-filter): New
1494         function.
1495         (inferior-python-mode): Use it.
1496         (python-shell-first-prompt-hook): New hook.
1497         (python-shell-send-setup-code)
1498         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
1499         this hook instead of inferior-python-hook.
1501 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
1503         Remove the calls to `seq-into` from `seq-concatenate`
1504         Since most new types of seq would have to be defined as sequences (cons
1505         cells or CL structs, mostly), there is no need to convert the seqs to
1506         sequences (which can be a fairly expensive operation).
1507         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
1508         sequences.
1510 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1512         python.el: Fix completion for pdb interactions
1513         * lisp/progmodes/python.el (python-shell-completion-setup-code):
1514         Simplify.  Toggle print_mode for native wrapped completer.
1515         (python-shell-completion-native-setup): Ensure process buffer.
1516         Add print_mode attribute to completer wrapper to toggle returning
1517         or printing candidates.
1518         (python-shell-completion-native-get-completions): Cleanup.
1519         (python-shell-completion-get-completions): Cleanup.
1520         (python-shell-completion-at-point): Perform prompt checks.  Force
1521         fallback completion in pdb interactions.
1523 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
1525         Make seq.el more extensible by using cl-defmethod
1526         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
1527         make it easier to extend seq.el with new "seq types".
1528         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
1529         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
1530         subseq in cl-extra.el, and use it in seq.el.
1532 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1534         python.el: Fix prompt detection with user overridden interpreter
1535         * lisp/progmodes/python.el (python-shell-prompt-detect): Honor
1536         buffer local python-shell-interpreter and
1537         python-shell-interpreter-interactive-arg.
1539 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
1541         Support exec-directory with non-ASCII characters on Windows
1542         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
1543         in the system's ANSI codepage, when it is used for invoking
1544         cmdproxy.
1546 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
1548         Revert "Extend ‘format’ to translate curved quotes"
1549         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
1551         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
1552         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
1554 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
1556         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify
1557         "invisible window".
1559 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
1561         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
1562         magic-fallback-mode-alist.
1564 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1566         python.el: fallback completion, ffap and eldoc setup enhancements
1567         Setup codes are now sent continuously so that the current frame is
1568         always taken into account.  This allows working within debuggers
1569         and always keeping a fresh version of setup codes that will return
1570         proper results.
1571         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
1572         (python-shell-send-setup-code): Send code only when
1573         python-shell-setup-codes is non-nil.
1574         (python-shell-completion-string-code): Cleanup trailing newline.
1575         (python-shell-completion-get-completions): Always use
1576         python-shell-completion-setup-code.
1577         (python-ffap-setup-code): Work with any object, not only modules.
1578         (python-ffap-string-code): Cleanup trailing newline.
1579         (python-ffap-module-path): Always use python-ffap-setup-code.
1580         (python-eldoc-string-code): Cleanup trailing newline.
1581         (python-eldoc--get-doc-at-point): Always use
1582         python-eldoc-setup-code.  Return non-nil only if docstring is
1583         found.
1585         python.el: Increase native completion robustness.
1586         * lisp/progmodes/python.el (python-shell-completion-native-setup):
1587         Make completer print real candidates and just return dummy ones to
1588         avoid input modification.
1589         (python-shell-completion-native-get-completions): Set
1590         comint-redirect-insert-matching-regexp to non-nil and make
1591         comint-redirect-finished-regexp match the last dummy candidate.
1592         Use python-shell-accept-process-output to wait for the full list
1593         of candidates.
1595 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
1597         Fix invocation of programs via cmdproxy.exe
1598         * src/w32proc.c (sys_spawnve): Use exec-directory, not
1599         invocation-directory, for finding cmdproxy.exe.  When Emacs is
1600         run from the source tree, look for cmdproxy.exe in the same source
1601         tree.  (Bug#21323)
1603 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
1605         Handle comments inside unquoted URIs in css-mode
1606         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
1607         (css-syntax-propertize-function): New defconst.
1608         (css--font-lock-keywords): Handle parens around unquoted URIs.
1609         (css-mode): Set `syntax-propertize-function'.
1611 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
1613         Support invocation of Hunspell with multiple dictionaries
1614         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support
1615         lists of dictionaries of the form "DICT1,DICT2,...".
1616         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
1618         Minor formatting changes in ispell.el
1619         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
1620         (ispell-print-if-debug, ispell-aspell-find-dictionary)
1621         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
1622         (ispell-hunspell-dictionary-alist)
1623         (ispell-hunspell-fill-dictionary-entry)
1624         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
1625         (ispell-buffer-with-debug, ispell-complete-word)
1626         (ispell-current-dictionary, ispell-current-personal-dictionary)
1627         (ispell-accept-output, ispell-minor-mode)
1628         (ispell-personal-dictionary, ispell-dictionary-alist)
1629         (ispell-really-aspell, ispell-really-hunspell)
1630         (ispell-encoding8-command, ispell-aspell-supports-utf8)
1631         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
1632         Fix whitespace, inconsistent capitalization, and arguments in doc
1633         strings.
1635 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
1637         In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
1638         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
1639         function refused to resize a size-preserved window.
1641 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
1643         Improve documentation of 'window-use-time'
1644         * doc/lispref/windows.texi (Selecting Windows): Improve
1645         documentation and indexing of 'window-use-time'.
1647 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1649         * lisp/progmodes/cc-*.el: Fix up commenting style
1650         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
1651         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
1652         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
1653         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
1654         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
1655         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
1656         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
1657         Fix up commenting style.
1659 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1661         text-quoting-style in emacs-lisp diagnostics
1662         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
1663         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
1664         (ad-disable-advice, ad-remove-advice, ad-set-argument)
1665         (ad-set-arguments):
1666         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
1667         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
1668         (byte-optimize-while, byte-optimize-apply):
1669         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
1670         (byte-compile-log-file, byte-compile-format-warn)
1671         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
1672         (byte-compile-cl-warn)
1673         (byte-compile-warn-about-unresolved-functions)
1674         (byte-compile-file, byte-compile-fix-header)
1675         (byte-compile--declare-var, byte-compile-file-form-defmumble)
1676         (byte-compile-form, byte-compile-normal-call)
1677         (byte-compile-variable-ref, byte-compile-variable-set)
1678         (byte-compile-subr-wrong-args, byte-compile-setq-default)
1679         (byte-compile-negation-optimizer)
1680         (byte-compile-condition-case--old)
1681         (byte-compile-condition-case--new, byte-compile-save-excursion)
1682         (byte-compile-defvar, byte-compile-autoload)
1683         (byte-compile-lambda-form)
1684         (byte-compile-make-variable-buffer-local, display-call-tree)
1685         (batch-byte-compile):
1686         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
1687         (cconv-analyze-form):
1688         * lisp/emacs-lisp/chart.el (chart-space-usage):
1689         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
1690         (check-declare-warn, check-declare-file)
1691         (check-declare-directory):
1692         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
1693         (checkdoc-message-text-engine):
1694         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
1695         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
1696         (cl-symbol-macrolet):
1697         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
1698         * lisp/emacs-lisp/copyright.el (copyright)
1699         (copyright-update-directory):
1700         * lisp/emacs-lisp/edebug.el (edebug-read-list):
1701         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
1702         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
1703         (eieio-oref, eieio-oset-default):
1704         * lisp/emacs-lisp/eieio-speedbar.el:
1705         (eieio-speedbar-child-make-tag-lines)
1706         (eieio-speedbar-child-description):
1707         * lisp/emacs-lisp/eieio.el (defclass, change-class):
1708         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
1709         (elint-init-form, elint-check-defalias-form)
1710         (elint-check-let-form):
1711         * lisp/emacs-lisp/ert.el (ert-get-test):
1712         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
1713         (find-function-library):
1714         * lisp/emacs-lisp/generator.el (iter-yield):
1715         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
1716         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
1717         * lisp/emacs-lisp/package-x.el (package-upload-file):
1718         * lisp/emacs-lisp/package.el (package-version-join)
1719         (package-disabled-p, package-activate-1, package-activate)
1720         (package--download-one-archive)
1721         (package--download-and-read-archives)
1722         (package-compute-transaction, package-install-from-archive)
1723         (package-install, package-install-selected-packages)
1724         (package-delete, package-autoremove)
1725         (package-install-button-action, package-delete-button-action)
1726         (package-menu-hide-package, package-menu--list-to-prompt)
1727         (package-menu--perform-transaction)
1728         (package-menu--find-and-notify-upgrades):
1729         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
1730         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
1731         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
1732         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
1733         * lisp/emacs-lisp/smie.el (smie-config-save):
1734         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
1735         * lisp/emacs-lisp/testcover.el (testcover-1value):
1736         Use curved quotes in diagnostic format strings.
1738 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1740         python.el: Ensure remote process-environment on non-interactive processes
1741         * lisp/progmodes/python.el
1742         (python-shell-tramp-refresh-process-environment): New function.
1743         (python-shell-with-environment): Use it.
1744         * test/automated/python-tests.el (python-shell-with-environment-2): Update.
1746         python.el: Enhancements to process environment setup.
1747         * lisp/progmodes/python.el (python-shell-process-environment)
1748         (python-shell-extra-pythonpaths, python-shell-exec-path)
1749         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
1750         (python-shell-setup-codes): Remove :safe.
1751         (python-shell-remote-exec-path): New defcustom.
1752         (python-shell--add-to-path-with-priority): New macro.
1753         (python-shell-calculate-pythonpath): Give priority to
1754         python-shell-extra-pythonpaths.  Update docstring.
1755         (python-shell-calculate-process-environment): Give priority to
1756         python-shell-process-environment.  Update docstring.
1757         (python-shell-calculate-exec-path): Give priority to
1758         python-shell-exec-path and calculated virtualenv bin directory.
1759         Update docstring.
1760         (python-shell-tramp-refresh-remote-path): New function.
1761         (python-shell-with-environment): Use it when working remotely and
1762         do not modify tramp-remote-path.  Allow nesting.
1763         (python-shell-calculate-command): Remove useless
1764         python-shell-with-environment call.
1765         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
1766         (python-shell-calculate-pythonpath-2)
1767         (python-shell-calculate-process-environment-6)
1768         (python-shell-calculate-process-environment-7)
1769         (python-shell-calculate-process-environment-8)
1770         (python-shell-calculate-exec-path-3)
1771         (python-shell-calculate-exec-path-4)
1772         (python-shell-calculate-exec-path-5)
1773         (python-shell-calculate-exec-path-6)
1774         (python-shell-with-environment-3): New tests.
1775         (python-shell-calculate-process-environment-2)
1776         (python-shell-calculate-process-environment-3)
1777         (python-shell-calculate-process-environment-4)
1778         (python-shell-calculate-process-environment-5)
1779         (python-shell-calculate-exec-path-1)
1780         (python-shell-calculate-exec-path-2)
1781         (python-shell-with-environment-1)
1782         (python-shell-with-environment-2): Update and simplify.
1784 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1786         Avoid hard-coding "M-x command" in docstrings
1787         * lisp/calendar/todo-mode.el (todo-mode):
1788         * lisp/desktop.el (desktop-save-mode):
1789         * lisp/edmacro.el (edit-kbd-macro):
1790         * lisp/emacs-lisp/package.el (package-menu-execute):
1791         * lisp/emulation/viper-cmd.el (viper-ask-level):
1792         * lisp/emulation/viper-init.el (viper-expert-level):
1793         * lisp/filesets.el (filesets-add-buffer):
1794         * lisp/follow.el (follow-mode):
1795         * lisp/gnus/auth-source.el (auth-sources):
1796         * lisp/international/ogonek.el (ogonek-informacja)
1797         (ogonek-information):
1798         * lisp/net/tramp.el (tramp-process-actions):
1799         * lisp/org/org-gnus.el (org-gnus-no-new-news):
1800         * lisp/org/org.el (org-ellipsis):
1801         * lisp/progmodes/python.el (python-shell-get-process-or-error):
1802         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
1803         * lisp/server.el (server-start):
1804         * lisp/type-break.el (type-break-noninteractive-query):
1805         * lisp/userlock.el (ask-user-about-supersession-help):
1806         * lisp/whitespace.el (whitespace-report-region):
1807         Prefer (substitute-command-keys "`\\[foo-command]'")
1808         to "`M-x foo-command'" in docstrings and the like.
1810 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
1812         Use add-function for prettify-symbols-compose-predicate
1813         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
1814         prettify-symbols-compose-predicate in terms of add-function.
1815         * etc/NEWS: Mention prettify-symbols-compose-predicate and
1816         prettify-symbols-mode support in tex-mode.
1818 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1820         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun
1821         (smie-indent-exps, smie-indent-keyword): Use it.
1822         * test/indent/css-mode.css: Test alignment with leading comment.
1824 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1826         Respect text-quoting-style in (*Finder*) menus
1827         * lisp/info.el (info--prettify-description):
1828         Treat description as a docstring, so that it's requoted as
1829         per text-quoting-style.
1831 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
1833         Document `window-use-time' in Elisp manual
1834         * doc/lispref/windows.texi (Selecting Windows): Document `window-use-time'.
1836 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1838         A better fix for bug#21303
1839         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
1840         cleaner fix for Bug#21260 than the previous change.
1842 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1844         Respect text-quoting-style in calc
1845         In calc, tespect text-quoting-style preference in diagnostic
1846         formats and fix a few similar problems in docstrings.
1847         * lisp/calc/calc-aent.el (math-read-factor):
1848         * lisp/calc/calc-embed.el (calc-do-embedded):
1849         * lisp/calc/calc-ext.el (calc-user-function-list)
1850         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
1851         * lisp/calc/calc-help.el (calc-describe-key)
1852         (calc-describe-thing):
1853         * lisp/calc/calc-lang.el (calc-c-language)
1854         (math-parse-fortran-vector-end, math-parse-tex-sum)
1855         (math-parse-eqn-matrix, math-parse-eqn-prime)
1856         (calc-yacas-language, calc-maxima-language, calc-giac-language)
1857         (math-read-big-rec, math-read-big-balance):
1858         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
1859         (calc-auto-recompute):
1860         * lisp/calc/calc-prog.el (calc-user-define-invocation)
1861         (math-do-arg-check):
1862         * lisp/calc/calc-store.el (calc-edit-variable):
1863         * lisp/calc/calc-units.el (math-build-units-table-buffer):
1864         * lisp/calc/calc-vec.el (math-read-brackets):
1865         * lisp/calc/calc-yank.el (calc-edit-mode):
1866         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
1867         Use curved quotes in diagnostic format strings.
1868         * lisp/calc/calc-help.el (calc-describe-thing):
1869         Format docstrings with substitute-command-keys.
1870         * lisp/calc/calc-help.el (calc-j-prefix-help):
1871         * lisp/calc/calc-misc.el (calc-help):
1872         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
1873         Escape a docstring "`".
1875 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1877         Fix documentation of 'menu-set-font' and 'set-frame-font'
1878         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
1879         * doc/lispref/frames.texi (Frame Font): Document that
1880         set-frame-font with the last argument 't' will also make the font
1881         the default for the future GUI frames.
1883         Document '--create-frame' option to emacsclient
1884         * doc/emacs/misc.texi (emacsclient Options): Document the
1885         '--create-frame' option.  (Bug#21308)
1887 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1889         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
1891 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1893         Document 'get-mru-window' in the ELisp manual
1894         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
1895         'get-mru-window'.  (Bug#21306)
1897         Clarify documentation of 'get-buffer-window-list'
1898         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
1899         current window, if relevant, will be the first in the list
1900         returned by 'get-buffer-window-list'.
1901         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
1903 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
1905         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
1906         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
1907         `switch-to-buffer'.
1909 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
1911         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
1912         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
1913         `display-buffer' instead of `switch-to-buffer'.
1915 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1917         Follow user preference in calendar diagnostics
1918         Respect text-quoting-style preference in diagnostic formats by
1919         using curved quotes (which are translated as per text-quoting-style)
1920         instead of grave accent and apostrophe (which are not).
1921         * lisp/calendar/appt.el (appt-display-message):
1922         * lisp/calendar/diary-lib.el (diary-check-diary-file)
1923         (diary-mail-entries, diary-from-outlook):
1924         * lisp/calendar/icalendar.el (icalendar-export-region)
1925         (icalendar--convert-float-to-ical)
1926         (icalendar--convert-date-to-ical)
1927         (icalendar--convert-ical-to-diary)
1928         (icalendar--convert-recurring-to-diary)
1929         (icalendar--add-diary-entry):
1930         * lisp/calendar/time-date.el (format-seconds):
1931         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
1932         (timeclock-make-hours-explicit):
1933         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
1934         (todo-item-mark, todo-check-format)
1935         (todo-insert-item--next-param, todo-edit-item--next-key)
1936         (todo-mode):
1937         Use curved quotes in diagnostic format strings.
1938         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
1939         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
1940         Just use straight quoting for simple test case.
1942 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
1944         * src/gfilenotify.c (Fgfile_add_watch):
1945         Handle errors from g_file_monitor.
1947 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
1949         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
1950         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
1951         frame" instead of "non-minibuffer frame".
1953         Fix frame geometry related text
1954         * doc/lispref/frames.texi (Frame Layout): Rename
1955         `x-frame-geometry' to `frame-geometry'.
1956         * doc/lispref/frames.texi (Mouse Position):
1957         * doc/lispref/windows.texi (Coordinates and Windows): Use
1958         `set-mouse-absolute-pixel-position' instead of
1959         `x-set-mouse-absolute-pixel-position'.
1961         Sanitize frame geometry related functions
1962         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
1963         (Fx_frame_edges): Rename to Fns_frame_edges.
1964         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
1965         (Fx_frame_edges): Rename to Fw32_frame_edges.
1966         (Fx_mouse_absolute_pixel_position): Rename to
1967         Fw32_mouse_absolute_pixel_position.
1968         (Fx_set_mouse_absolute_pixel_position): Rename to
1969         Fw32_set_mouse_absolute_pixel_position.
1970         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
1971         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
1972         (ns-frame-edges, w32-mouse-absolute-pixel-position)
1973         (x-mouse-absolute-pixel-position)
1974         (w32-set-mouse-absolute-pixel-position)
1975         (x-set-mouse-absolute-pixel-position): Declare.
1976         (frame-geometry, mouse-absolute-pixel-position)
1977         (set-mouse-absolute-pixel-position): New functions.
1978         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
1980 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1982         Fix MinGW64 build broken by latest w32uniscribe.c changes
1983         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
1984         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
1985         (Bug#21260)
1987 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
1989         Add TeX defaults for prettify-symbol-mode
1990         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
1991         from tex-prettify-symbols-alist.
1992         (tex--prettify-symbols-compose-p): New function.
1993         (tex-common-initialization): Use them as prettify-symbols-alist
1994         and prettify-symbols-compose-predicate.
1996         Generalize prettify-symbols to arbitrary modes
1997         * lisp/progmodes/prog-mode.el
1998         (prettify-symbols-default-compose-p): New function.
1999         (prettify-symbols-compose-predicate): New variable.
2000         (prettify-symbols--compose-symbol): Use it.
2002 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2004         Don't quote symbols 'like-this' in docstrings etc.
2005         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
2006         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
2007         * lisp/allout.el (allout-add-resumptions, allout-mode):
2008         * lisp/calculator.el (calculator-operators):
2009         * lisp/cedet/data-debug.el (dd-propertize):
2010         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
2011         * lisp/cedet/semantic/analyze/debug.el:
2012         (semantic-analyzer-debug-global-miss-text):
2013         * lisp/cedet/semantic/lex-spp.el:
2014         (semantic-lex-spp-replace-or-symbol-or-keyword):
2015         * lisp/cedet/semantic/symref.el:
2016         (semantic-symref-cleanup-recent-buffers-fcn):
2017         * lisp/cedet/semantic/tag.el (semantic-tag-class):
2018         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
2019         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
2020         * lisp/gnus/pop3.el (pop3-authentication-scheme):
2021         * lisp/help-fns.el (describe-function-orig-buffer):
2022         * lisp/imenu.el (imenu--history-list):
2023         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
2024         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
2025         (feedmail-queue-default-file-slug)
2026         (feedmail-queue-buffer-file-name):
2027         * lisp/net/mairix.el (mairix-searches-mode-map):
2028         * lisp/net/newst-backend.el (newsticker-retrieval-method)
2029         (newsticker-auto-mark-filter-list):
2030         * lisp/obsolete/vi.el (vi-mode):
2031         * lisp/progmodes/cc-engine.el (c-literal-type):
2032         * lisp/progmodes/cpp.el (cpp-face):
2033         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
2034         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
2035         * lisp/progmodes/pascal.el (pascal-auto-lineup):
2036         * lisp/progmodes/prog-mode.el (prog-widen):
2037         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
2038         (verilog-auto-lineup, verilog-auto-reset-widths)
2039         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
2040         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
2041         (flyspell-maybe-correct-doubling):
2042         * lisp/textmodes/table.el (table-justify, table-justify-cell)
2043         (table-justify-row, table-justify-column, table-insert-sequence)
2044         (table--justify-cell-contents):
2045         * lisp/url/url-auth.el (url-get-authentication):
2046         * lisp/window.el (display-buffer-record-window):
2047         * lisp/xml.el (xml-parse-file, xml-parse-region):
2048         * src/gfilenotify.c (Fgfile_add_watch):
2049         Don't quote symbols with apostrophes in doc strings.
2050         Use asymmetric quotes instead.
2051         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
2052         Likewise for symbol in diagnostic.
2053         * lisp/image.el (image-extension-data):
2054         * lisp/register.el (frame-configuration-to-register):
2055         * src/buffer.c (syms_of_buffer):
2056         Remove bogus apostrophes after symbols.
2057         * lisp/thumbs.el (thumbs-conversion-program):
2058         Quote Lisp string values using double-quotes, not apostrophes.
2060 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
2062         Describe frame geometry and related functions in Elisp manual
2063         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
2064         (Showing Images): Update references.
2065         * doc/lispref/elisp.texi (Top): Update node listing.
2066         * doc/lispref/frames.texi (Frame Geometry): New node.  Move
2067         `Size and Position' section here.
2068         (Size Parameters): Update references.
2069         (Mouse Position): Update references and nomenclature.  Describe
2070         new functions `x-mouse-absolute-pixel-position' and
2071         `x-set-mouse-absolute-pixel-position'.
2072         * doc/lispref/windows.texi (Window Sizes): Update references.
2073         (Resizing Windows): Update references.  Move description of
2074         `fit-frame-to-buffer' here.
2075         (Coordinates and Windows): Update nomenclature and references.
2076         Describe new arguments of `window-edges'.  Comment out
2077         descriptions of `window-left-column', `window-top-line',
2078         `window-pixel-left' and `window-pixel-top'.  Describe
2079         `window-absolute-pixel-position'.
2081 2015-08-20  Alan Mackenzie  <acm@muc.de>
2083         Handling of `c-parse-state'.  Fix low level bug.
2084         progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add
2085         "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
2087 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
2089         In `widget-color--choose-action' quit *Color* window instead of deleting it
2090         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
2091         window instead of deleting it.
2093 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
2095         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
2096         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
2097         determine whether frame has a titlebar.
2098         Suggested by Eli Zaretskii <eliz@gnu.org>
2100 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
2102         Add a prettify-symbols-alist for (La)TeX
2103         * tex-mode.el (tex-prettify-symbols-alist): New variable holding
2104         an alist suitable as prettify-symbols-alist in (La)TeX modes.
2106 2015-08-19  Alan Mackenzie  <acm@muc.de>
2108         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
2109         Fixes debbugs#21275.
2110         In Emacs >= 25, let electric-pair-mode take precedence over
2111         delete-selection-mode.
2112         delsel.el (delete-selection-uses-region-p): New function, previously a
2113         lambda expression in a property value for `self-insert-command'.
2114         (top-level) Set the `delete-selection' property of `self-insert-command'
2115         to `delete-selection-uses-region-p'.
2116         progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
2117         for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p'
2118         when the latter function exists.
2120 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2122         Fix key binding quoting in tutorial *Help*
2123         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
2124         When generating help for custom key bindings, use the user-preferred
2125         quoting style rather than hardcoding the grave style.
2127 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
2129         Improve and future-proof OTF fonts support in w32uniscribe.c
2130         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
2131         about the expected results and why the new Uniscribe APIs are not
2132         used in this function.
2133         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
2134         (ScriptGetFontFeatureTags_Proc): New function typedefs.
2135         (uniscribe_new_apis): New static variable.
2136         (uniscribe_check_features): New function, implements OTF features
2137         verification while correctly accounting for features in the list
2138         after the nil member, if any.
2139         (uniscribe_check_otf_1): New function, retrieves the features
2140         supported by the font for the requested script and language using
2141         the Uniscribe APIs available from Windows Vista onwards.
2142         (uniscribe_check_otf): If the new Uniscribe APIs are available,
2143         use them in preference to reading the font data directly.  Call
2144         uniscribe_check_features to verify that the requested features are
2145         supported, replacing the original incomplete code.
2146         (syms_of_w32uniscribe): Initialize function pointers for the new
2147         Uniscribe APIs.  (Bug#21260)
2148         (otf_features): Scan the script, langsys, and feature arrays back
2149         to front, so that the result we return has them in alphabetical
2150         order, like ftfont.c does.
2151         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
2152         New variable for debugging w32uniscribe.c code.
2154 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
2156         * isearch.el (isearch-search-fun-default): Revert a5bdb87
2157         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
2158         clause of `isearch-search-fun-default'. That lax variable does not
2159         refer to lax-whitespacing.  Related to (bug#21777).
2160         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
2161         * character-fold.el (character-fold-search): Set to nil
2162         Default to nil for now, until someone implements proper
2163         lax-whitespacing with char-fold searching.
2165 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
2167         Fix doc-string of `help-mode-finish'.
2168         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
2170         In nsimage.m include coding.h (Bug#21292)
2171         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
2173         Move window edge functions to Elisp.
2174         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
2175         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
2176         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
2177         Move to window.el.
2178         (calc_absolute_offset): Remove.
2179         * lisp/frame.el (frame-edges): New function.
2180         * lisp/window.el (window-edges, window-pixel-edges)
2181         (window-absolute-pixel-edges): Move here from window.c.
2182         (window-body-edges, window-body-pixel-edges)
2183         (window-absolute-body-pixel-edges): Move here from window.c and
2184         rename "inside" to "body".  Keep old names as aliases.
2185         (window-absolute-pixel-position): New function.
2187 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
2189         [Gnus]: Use overlay functions directly
2190         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
2191         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
2192         (gnus-article-highlight-signature, gnus-article-extend-url-button)
2193         (gnus-article-add-button, gnus-insert-prev-page-button)
2194         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
2195         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
2196         (gnus-cite-add-face):
2197         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
2198         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
2199         (gnus-tree-recenter, gnus-highlight-selected-tree):
2200         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
2201         (gnus-summary-show-thread, gnus-summary-hide-thread)
2202         (gnus-highlight-selected-summary):
2203         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
2204         * lisp/gnus/message.el (message-fix-before-sending)
2205         (message-toggle-image-thumbnails):
2206         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
2207         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
2208         Use overlay functions directly instead of using gnus-overlay-*,
2209         message-overlay-*, and sieve-overlay-*.
2210         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
2211         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
2212         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
2213         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
2214         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
2215         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
2216         (message-overlay-get, message-overlay-put, message-overlays-in):
2217         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
2218         (sieve-overlays-at):
2219         Remove.
2221 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
2223         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
2224         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
2225         builds can use the declaration from the system headers.
2226         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
2227         definition of TITLEBAR_INFO.
2228         Suggested by Eli Zaretskii  <eliz@gnu.org>
2230 2015-08-19  Glenn Morris  <rgm@gnu.org>
2232         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
2234 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2236         Use new q ‘format’ flag when fixing quotes in C
2237         * src/image.c (image_size_error): New function.  All uses of
2238         image_error with "Invalid image size ..."  changed to use it.
2239         * src/image.c (image_size_error, xbm_load_image, xbm_load)
2240         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
2241         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
2242         (imagemagick_load, svg_load, svg_load_image, gs_load)
2243         (x_kill_gs_process):
2244         * src/lread.c (load_warn_old_style_backquotes):
2245         * src/xfaces.c (load_pixmap):
2246         * src/xselect.c (x_clipboard_manager_error_1):
2247         Use %qs, not uLSQM and uRSQM.
2248         * src/syntax.c (Finternal_describe_syntax_value):
2249         Prefer Fsubstitute_command_keys to Fformat, as this lets
2250         us use AUTO_STRING.
2251         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
2252         as it's now guaranteed to be ASCII.
2253         * src/xselect.c (x_clipboard_manager_error_2):
2254         Avoid grave accent in low-level stderr diagnostic.
2256 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
2258         New q flag for ‘format’
2259         * doc/lispref/processes.texi (Sentinels):
2260         Don't hardwire grave quoting style in example.
2261         * doc/lispref/strings.texi (Formatting Strings):
2262         * etc/NEWS:
2263         Document new q flag.
2264         * src/editfns.c (Fformat): Implement it.
2266 2015-08-18  Daiki Ueno  <ueno@gnu.org>
2268         pinentry.el: Add debugging support
2269         * lisp/net/pinentry.el (pinentry-debug): New variable.
2270         (pinentry-debug-buffer): New variable.
2271         (pinentry--process-filter): Send input to the debug buffer, if
2272         `pinentry-debug' is set.
2274         pinentry.el: Improve multiline prompt
2275         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
2276         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
2277         command.
2279 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2281         Fix multibyte confusion in diagnostics
2282         * src/print.c (print_error_message):
2283         Don't assume that the caller's name is unibyte.
2284         * src/xdisp.c (vadd_to_log):
2285         Don't assume that the formatted diagnostic is unibyte.
2287         Fix file name encodings in diagnostics
2288         Also, close some minor races when opening image files, by opening
2289         them once instead of multiple times.
2290         * src/gtkutil.c (xg_get_image_for_pixmap):
2291         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
2292         (svg_load):
2293         * src/nsimage.m (allocInitFromFile:):
2294         * src/xfns.c (xg_set_icon):
2295         Encode file name, since x_find_image_file no longer does that.
2296         * src/image.c (x_find_image_fd): New function.
2297         (x_find_image_file): Use it.  Do not encode resulting file name,
2298         since callers sometimes need it decoded.
2299         (slurp_file): File arg is now a fd, not a file name.
2300         All callers changed.  This saves us having to open the file twice.
2301         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
2302         (svg_load):
2303         Use x_find_image_fd and fdopen to save a file-open.
2304         Report file name that failed.
2305         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
2307 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
2309         Allow blink-matching-paren to jump off screen
2310         * doc/emacs/programs.texi (Matching): Mention the
2311         `blink-matching-paren' value `jump-offscreen'.
2312         * lisp/simple.el (blink-matching-paren): New possible value.
2313         (blink-matching-paren-on-screen): Clarify the docstring.
2314         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
2316         Refine the previous change
2317         * lisp/simple.el (blink-matching-open): Use minibuffer-message
2318         outside of save-excursion (bug#21286).
2320 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
2322         Rewrite and add frame geometry related functions.
2323         * src/frame.c (Fframe_position): New function.
2324         (Fset_frame_position): Rename parameters and rewrite doc-string.
2325         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
2326         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
2327         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
2328         Qtitle_bar_size.
2329         * src/nsfns.m (frame_geometry): New function.
2330         (Fx_frame_geometry): Call frame_geometry.
2331         (Fx_frame_edges): New function.
2332         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
2333         (GetTitleBarInfo_Proc): Define these so we can use the
2334         GetTitleBarInfo API.
2335         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
2336         (Fx_frame_geometry): Rewrite.
2337         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
2338         (Fx_set_mouse_absolute_pixel_position): New functions.
2339         * src/xfns.c (frame_geometry): New function.
2340         (Fx_frame_geometry): Call frame_geometry.
2341         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
2342         (Fx_set_mouse_absolute_pixel_position): New functions.
2344 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
2346         Improve Tramp's compatibility
2347         * lisp/net/tramp.el (tramp-get-method-parameter):
2348         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
2349         (tramp-adb-get-device):
2350         * lisp/net/trampver.el (tramp-repository-get-version):
2351         Use `tramp-compat-replace-regexp-in-string'.
2353 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
2355         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
2356         Encode/decode string.
2358 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2360         Clarify what happens to match data on failure
2361         Problem reported by Ernesto Alfonso (Bug#21279).
2362         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
2363         Document more carefully what happens to match data after a failed
2364         search.
2365         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
2366         the return value is undefined if the last search failed.
2367         (Fmatch_data): Simplify doc string line 1.
2369 2015-08-18  Daiki Ueno  <ueno@gnu.org>
2371         Revert "pinentry.el: Support external passphrase cache"
2372         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
2373         pinentry.el shouldn't directly interact with the secrets service,
2374         but ask the caller to cache the passphrase.
2376 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
2378         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
2379         Message mode hooks.
2381 2015-08-17  Daiki Ueno  <ueno@gnu.org>
2383         epg.el: Make gpgconf output parsing future proof
2384         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
2385         --list-options" output.
2387         pinentry.el: Support external passphrase cache
2388         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
2389         (pinentry--allow-external-password-cache): New local variable.
2390         (pinentry--key-info): New local variable.
2391         (secrets-enabled, secrets-search-items, secrets-get-secret):
2392         Declare.
2393         (pinentry--send-passphrase): New function, split from
2394         `pinentry--process-filter'.
2395         (pinentry--process-filter): Use secrets.el to retrieve passphrase
2396         from login keyring.
2398         pinentry.el: Popup window for multiline prompt
2399         * lisp/net/pinentry.el (pinentry): New custom group.
2400         (pinentry-popup-prompt-window): New user option.
2401         (pinentry-prompt-window-height): New user option.
2402         (pinentry--prompt-buffer): New variable.
2403         (pinentry-prompt-mode-map): New variable.
2404         (pinentry-prompt-mode): New function.
2405         (pinentry--prompt): New function.
2406         (pinentry--process-filter): Use `pinentry--prompt' instead of
2407         `read-passwd' and `y-or-n-p'.
2409 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
2411         message.el: Silent the byte compiler
2412         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
2413         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
2414         (message-delete-overlay, message-window-inside-pixel-edges):
2415         Declare before using.
2417         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
2418         (message-window-inside-pixel-edges): XEmacs compatible functions.
2420 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2422         * message.el (message-toggle-image-thumbnails): New command.
2424 2015-08-17  Noah Friedman  <friedman@splode.com>
2426         (blink-matching-open): Restore point before calling minibuffer-message.
2428 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
2430         Update version number in header (now matches help)
2432 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2434         Curved quotes in --batch diagnostics in non-UTF-8
2435         When run with --batch, check that curved quotes are compatible with
2436         the system locale before outputting them in diagnostics.
2437         Problem reported by Eli Zaretskii in:
2438         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
2439         * lisp/startup.el (command-line): Set internal--text-quoting-flag
2440         after the standard display table is initialized.
2441         * src/doc.c (default_to_grave_quoting_style): New function.
2442         (text_quoting_style): Use it.
2443         (text_quoting_flag): New static var, visible to Lisp as
2444         internal--text-quoting-flag.
2445         * src/emacs.c: Include <wchar.h> if available.
2446         (using_utf8): New function.
2447         (main): Use it to initialize text_quoting_flag.
2448         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
2449         Don't define, as it's not needed and it clashes with wchar.h.
2451 2015-08-17  Glenn Morris  <rgm@gnu.org>
2453         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
2454         from makeinfo about spurious "Note:" cross-reference, and for grammar.
2456 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
2458         Minor change in variable initialization on MS-Windows
2459         * src/w32fns.c <after_dead_key>: Initialize to -1.
2460         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
2461         non-zero.
2463         Fix a bug with LWindow key remapping on MS-Windows
2464         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
2466 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
2468         Improve fontset support for latest OTF script tags
2469         * lisp/international/fontset.el (otf-script-alist): Add some
2470         missing script tags.
2471         (setup-default-fontset): Include settings for v2 versions of the
2472         script tags used by some modern OTF/TTF fonts.
2474 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2476         Spelling fixes
2478 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
2480         Use curved quotes in core elisp diagnostics
2481         In the core elisp files, use curved quotes in diagnostic formats,
2482         so that they follow user preference as per ‘text-quoting-style’
2483         rather than being hard-coded to quote `like this'.
2484         * lisp/abbrev.el (expand-region-abbrevs):
2485         * lisp/button.el (button-category-symbol, button-put)
2486         (make-text-button):
2487         * lisp/cus-start.el:
2488         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
2489         (custom--sort-vars-1, load-theme):
2490         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
2491         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
2492         (cl-generic-generalizers):
2493         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
2494         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
2495         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
2496         (advice--make, define-advice):
2497         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
2498         * lisp/emacs-lisp/timer.el (timer-event-handler):
2499         * lisp/env.el (setenv):
2500         * lisp/facemenu.el (facemenu-add-new-face)
2501         (facemenu-add-new-color):
2502         * lisp/faces.el (face-documentation, read-face-name)
2503         (face-read-string, read-face-font, face-spec-set-match-display)
2504         (read-color, x-resolve-font-name):
2505         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
2506         (set-auto-mode, hack-local-variables)
2507         (hack-one-local-variable--obsolete)
2508         (dir-locals-set-directory-class, write-file)
2509         (basic-save-buffer, delete-directory, copy-directory)
2510         (recover-session, recover-session-finish, insert-directory)
2511         (file-modes-char-to-who, file-modes-symbolic-to-number)
2512         (move-file-to-trash):
2513         * lisp/font-lock.el (font-lock-fontify-buffer):
2514         * lisp/format.el (format-write-file, format-find-file)
2515         (format-insert-file):
2516         * lisp/frame.el (get-device-terminal, select-frame-by-name):
2517         * lisp/fringe.el (fringe--check-style):
2518         * lisp/help.el (describe-minor-mode-from-indicator):
2519         * lisp/image.el (image-type):
2520         * lisp/international/fontset.el (x-must-resolve-font-name):
2521         * lisp/international/mule-cmds.el (prefer-coding-system)
2522         (select-safe-coding-system-interactively)
2523         (select-safe-coding-system, activate-input-method)
2524         (toggle-input-method, describe-current-input-method):
2525         * lisp/international/mule-conf.el (code-offset):
2526         * lisp/mouse.el (minor-mode-menu-from-indicator):
2527         * lisp/replace.el (query-replace-read-from)
2528         (occur-after-change-function, occur-1):
2529         * lisp/scroll-bar.el (scroll-bar-columns):
2530         * lisp/simple.el (execute-extended-command)
2531         (undo-outer-limit-truncate, compose-mail, set-variable)
2532         (choose-completion-string, define-alternatives):
2533         * lisp/startup.el (site-run-file, tty-handle-args, )
2534         (command-line, command-line-1):
2535         * lisp/subr.el (noreturn, define-error, add-to-list)
2536         (read-char-choice):
2537         * lisp/term/common-win.el (x-handle-xrm-switch)
2538         (x-handle-name-switch, x-handle-args):
2539         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
2540         Use curved quotes in diagnostics.
2541         * lisp/international/mule.el (find-auto-coding):
2542         Use " to quote in a diagnostic, to be consistent with the rest of
2543         this file.
2545         Convert lisp/term/x-win.el to UTF-8
2546         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
2547         runtime behavior, and the file is multilingual so compile-time
2548         appearance shouldn't be an issue.
2549         * admin/notes/unicode: Document this.
2551 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
2553         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
2554             * losp/progmodes/verilog-mode.el: Fix some non-automated indent
2555             issues and comments, bug943.  (verilog-type-font-keywords): Cycle
2556             delay operators like ##1 and ##[0:$] are now highlighted in their
2557             entirety similarly to the # delay-control operator.  Likewise, the
2558             followed-by operators #-# and #=# are no longer partially
2559             highlighed.  (verilog-backward-syntactic-ws-quick,
2560             verilog-skip-backward-comments): Minor performance improvements to
2561             buffer traversal functions for reduced latency.  (verilog-calc-1,
2562             verilog-in-deferred-immediate-final-p): When the keyword 'final'
2563             follows 'assert/assume/cover', then it is part of a deferred
2564             immediate assertion item and should not be treated as a final
2565             construct for indentation.  Reported by Yuri Sugihara.
2566             (verilog-do-indent): Virtual task/function/class definition lines
2567             should not be considered as declarations.  Reported by Enzo Chi.
2568             (verilog-do-indent): Do not falsely indent to '=' of
2569             property/sequence operators on subsequent lines of a multi-line
2570             statement.  (verilog-assignment-operator-re): Fix '!==' operator
2571             and add support for '<->', ':/', '#-#', and '#=#' operators.
2572             (verilog-calculate-indent, verilog-label-be): Enable
2573             case-sensitive regular expression parsing when looking for
2574             keywords.  (verilog-calc-1): Detect 'pure virtual method'
2575             declarations which exist in abstract classes.  Reported by Enzo
2576             Chi and Kaushal Modi.  (verilog-backward-ws&directives): When
2577             moving back to the start of a line and the preceeding line ended
2578             with an escaped-newline, then jump up one line.  This properly
2579             consumes a multi-line pre-processor directive.  Reported by
2580             Kaushal Modi.  (verilog-dpi-import-export-re,
2581             verilog-extended-complete-re, verilog-calc-1): Teach verilog-mode
2582             to properly indent after a DPI import/export statement that
2583             resides outside of a module.  Reported by Kaushal Modi.
2584             (verilog-extended-complete-re): Update regexp to match both
2585             "DPI-C" and "DPI".  Reported by Kaushal Modi.
2587 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2589         substitute-command-keys a few more doc strings
2590         * lisp/allout.el (outlineify-sticky):
2591         * lisp/files.el (hack-one-local-variable--obsolete):
2592         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
2593         Use substitute-command-keys on some doc strings so that
2594         they don't use hard-coded key bindings or quoting styles.
2596         Fix quoting in Fformat calls
2597         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
2598         (xpm_load, xpm_load_image, pbm_load, png_load_body)
2599         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
2600         (imagemagick_load, svg_load, svg_load_image, gs_load)
2601         (x_kill_gs_process):
2602         * src/lread.c (load_warn_old_style_backquotes):
2603         * src/xfaces.c (load_pixmap):
2604         * src/xselect.c (x_clipboard_manager_error_1):
2605         Quote diagnostics according to user preference when calling
2606         Fformat or its derivatives.
2608 2015-08-15  Glenn Morris  <rgm@gnu.org>
2610         * admin/admin.el (set-version, set-copyright): Remove deleted files.
2612 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
2614         Allow describe-function helpers to access buffer-local values.
2615         This will be used by cedet/mode-local.el `describe-mode-local-override'
2616         on `help-fns-describe-function-functions' in upstream CEDET.
2617         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
2618         `describe-function'.
2619         (describe-function): Bind it, save it on the help xref stack.
2621         Handle pulse-background being nil
2622         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
2623         pulse-background, handle it being nil.
2625 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2627         Fix "\`" confusion in Lisp strings
2628         * admin/authors.el (authors-canonical-author-name):
2629         Fix typo by using "\\`" not "\`" in string RE.
2630         * lisp/obsolete/complete.el (PC-complete-as-file-name):
2631         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
2632         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
2633         Use plain "`", not the equivalent-but-confusing "\`", in strings.
2634         * lisp/textmodes/texinfmt.el: Fix comment likewise.
2636 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
2638         Remove 'nt/zipdist.bat' (no longer used)
2639         * nt/zipdist.bat: Remove - no longer used.
2641 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
2643         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
2644         rather than "getenforce".
2645         (tramp-sh-handle-set-file-selinux-context): Do not
2646         cache SELinux context if not all context components are given.
2648 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
2650         Add doc strings to 2 help-mode.el functions
2651         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
2652         strings.  (Bug#21263)
2654         Remove files used by the old MS-Windows specific build procedure
2655         * admin/unidata/makefile.w32-in:
2656         * doc/emacs/makefile.w32-in:
2657         * doc/lispintro/makefile.w32-in:
2658         * doc/lispref/makefile.w32-in:
2659         * doc/misc/makefile.w32-in:
2660         * leim/makefile.w32-in:
2661         * lib-src/makefile.w32-in:
2662         * lib/makefile.w32-in:
2663         * lisp/makefile.w32-in:
2664         * nt/INSTALL.OLD:
2665         * nt/config.nt:
2666         * nt/emacs-src.tags:
2667         * nt/envadd.bat:
2668         * nt/gmake.defs:
2669         * nt/makefile.w32-in:
2670         * nt/multi-install-info.bat:
2671         * nt/nmake.defs:
2672         * nt/paths.h:
2673         * src/makefile.w32-in: Files deleted.
2674         * nt/configure.bat: Remove everything except the blurb about the
2675         new build procedure.
2676         * make-dist: Remove references to makefile.w32-in in various
2677         directories, and to files in nt/ that were deleted.
2678         * etc/NEWS: Mention the fact that the files were dropped.
2680 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2682         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
2683         (Bug#21248)
2685 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2687         Default to inotify instead of gfile
2688         * configure.ac (with_file_notification): Fix typo that
2689         prevented suppression of file notification if HAVE_NS.
2690         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
2691         with_file_notification is 'yes' (Bug#21241).
2692         * etc/NEWS: Mention this.
2694         Fix broken URLs for ISO-IR
2695         * doc/emacs/mule.texi (Charsets):
2696         * lisp/international/mule-conf.el:
2697         Fix broken URL (Bug#21248).
2699         Low-level diagnostics now use ‘text-quoting-style’
2700         * src/doprnt.c (doprnt):
2701         Format ` and ' as per ‘text-quoting-style’.
2702         * src/xdisp.c (vmessage, message): Mention that the format should
2703         not contain ` or '.
2705         Prefer ‘format’ to ‘substitute-command-keys’
2706         * src/character.h (uLSQM, uRSQM): Move here ...
2707         * src/doc.c (uLSQM, uRSQM): ... from here.
2708         * src/doc.c (Fsubstitute_command_keys):
2709         * src/syntax.c (Finternal_describe_syntax_value):
2710         * lisp/cedet/mode-local.el (mode-local-print-binding)
2711         (mode-local-describe-bindings-2):
2712         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2713         * lisp/cus-theme.el (describe-theme-1):
2714         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2715         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
2716         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2717         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
2718         * lisp/emacs-lisp/package.el (describe-package-1):
2719         * lisp/faces.el (describe-face):
2720         * lisp/help-fns.el (help-fns--key-bindings)
2721         (help-fns--compiler-macro, help-fns--parent-mode)
2722         (help-fns--obsolete, help-fns--interactive-only)
2723         (describe-function-1, describe-variable):
2724         * lisp/help.el (describe-mode):
2725         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
2726         to implement quoting style.  This generally makes the code simpler.
2728         Extend ‘format’ to translate curved quotes
2729         This is a followup to the recent doc string change, and deals with
2730         diagnostics and the like.  This patch is more conservative than
2731         the doc string change, in that the behavior of ‘format’ changes
2732         only if its first arg contains curved quotes and the user prefers
2733         straight or grave quotes.  (Come to think of it, perhaps we should
2734         be similarly conservative with doc strings too, but that can wait.)
2735         The upside of this conservatism is that existing usage is almost
2736         surely unaffected.  The downside is that we'll eventually have to
2737         change Emacs's format strings to use curved quotes in places where
2738         the user might want curved quotes, but that's a simple and
2739         mechanical translation that I'm willing to do later.  (Bug#21222)
2740         * doc/lispref/help.texi (Keys in Documentation):
2741         Move description of text-quoting-style from here ...
2742         * doc/lispref/strings.texi (Formatting Strings):
2743         ... to here, and describe new behavior of ‘format’.
2744         * etc/NEWS: Describe new behavior.
2745         * lisp/calc/calc-help.el (calc-describe-thing):
2746         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2747         * lisp/info.el (Info-find-index-name):
2748         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
2749         of recently-added curved quotes.
2750         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
2751         Move from here ...
2752         * src/lisp.h: ... to here.
2753         * src/doc.c (text_quoting_style): New function.
2754         (Fsubstitute_command_keys): Use it.
2755         * src/editfns.c (Fformat): Implement new behavior.
2756         * src/lisp.h (enum text_quoting_style): New enum.
2758 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
2760         * src/keyboard.c: Use false/true instead of 0/1 for booleans
2761         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
2763 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
2765         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
2766         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
2768 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
2770         Flush file properties in Tramp
2771         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
2772         (tramp-sh-handle-set-file-times):
2773         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
2774         (tramp-adb-handle-set-file-times): Flush the file properties of
2775         the directory.
2777 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
2779         * doc/emacs/misc.text (Amusements): Fixed typo.
2781 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
2783         Don't miss warnings about removing string text properties while dumping
2784         * src/alloc.c (purecopy): Warn about removing a string's text
2785         properties even when the same string was already pure-copied
2786         earlier.
2787         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
2788         (elisp--xref-format-extra): Fix the commentary.
2790 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2792         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
2794 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
2796         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
2797         * lisp/progmodes/compile.el: Use lexical-binding.
2798         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
2800 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2802         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
2803         * lisp/uniquify.el: Remove redundant `:group's.
2805 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
2807         * lisp/net/tramp-adb.el
2808         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
2809         result to prevent modification of the tramp-cache by side effects.
2810         Use the correct cache key.
2812 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
2814         Make add_to_log varargs
2815         * src/alloc.c (run_finalizer_handler):
2816         * src/charset.c (load_charset_map_from_vector):
2817         * src/nsimage.m (ns_load_image):
2818         * src/xfaces.c (load_pixmap, load_color2):
2819         Simplify, now that add_to_log has a variable number of args.
2820         * src/image.c (image_error): Take a variable number of args.
2821         Callers simplified.
2822         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
2823         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
2824         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
2825         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
2827         Optional args for holiday-greek-orthodox-easter
2828         * etc/NEWS: Document this.
2829         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
2830         Add optional args N and STRING, mimicking the API and code of
2831         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
2833 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
2835         xref-find-definitions: Exclude more generic function items.
2836         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
2837         (cl--generic-find-defgeneric-regexp): New.
2838         (find-function-regexp-alist): Add it.
2839         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
2840         elisp-mode.el, change to search for ";;; Code:"
2841         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
2842         (find-function-regexp-alist): Add them.
2843         * lisp/progmodes/elisp-mode.el:
2844         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
2845         to bug#21237.
2846         (elisp--xref-find-definitions): Exclude co-located default methods for
2847         generic functions. Also exclude implicitly declared defgeneric.
2848         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
2849         mode variables defined by 'define-minor-mode'.
2850         * test/automated/elisp-mode-tests.el: Declare generic functions, add
2851         tests for them.
2852         (xref-elisp-test-run): Fix bug.
2853         (emacs-test-dir): Improve initial value.
2854         (find-defs-defun-defvar-el): Don't expect defvar.
2855         (find-defs-feature-el): Match change to find-feature-regexp.
2857 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
2859         Improve warning about purecopy of strings with properties
2860         * src/alloc.c (purecopy): Show the offending string with the
2861         warning about removing its text properties.
2863 2015-08-12  Alan Mackenzie  <acm@muc.de>
2865         Introduce new macros to cover Emacs's new names in cl-lib.el.
2866         This also eliminates `mapcan' warnings in XEmacs.
2867         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
2868         [X]Emacs versions.
2869         (top-level): Require either 'cl or 'cl-lib, depending on
2870         c--mapcan-status.
2871         Change this back to cc-external-require from an eval-when-compile
2872         require.
2873         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
2874         (c--delete-duplicates): New macros which expand into either old or new
2875         names.
2876         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
2877         rather than the old names.
2878         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
2879         than mapcan.
2880         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
2881         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
2882         depending on c--mapcan-status.
2883         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
2884         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
2885         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
2886         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
2887         (c-decl-block-key, c-keywords, c-keywords-obarray)
2888         (c-regular-keywords-regexp, c-primary-expr-regexp,
2889         c-primary-expr-regexp)
2890         (c-block-prefix-disallowed-chars, c-known-type-key,
2891         c-nonlabel-token-key)
2892         (c-make-init-lang-vars-fun): Use the new macros rather than the old
2893         names.
2895 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
2897         loadhist.el (read-feature): Conform to completing-read
2898         * lisp/loadhist.el (read-feature): According to `completing-read'
2899           documentation, if collection is a list, then it must be a list of
2900           strings. And not a list of symbols like before.
2902 2015-08-12  David Kastrup  <dak@gnu.org>
2904         Deal gracefully with up-events (Bug#19746)
2905         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
2906         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
2907         those may easily be injected by user-level Lisp code.
2908         (read_key_sequence): Discard unbound up-events like unbound
2909         down-events: they are even more likely only relevant for special
2910         purposes.
2911         While Emacs will not produce up-events on its own currently (those are
2912         converted to drag or click events before being converted to
2913         Lisp-readable structures), the input queue can be made to contain them
2914         by synthesizing events to `unread-command-events'.  Emacs should deal
2915         consistently with such events.
2917 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
2919         Fix display of thin lines whose newline has line-height property of t
2920         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
2921         and descent values of non-empty glyph rows, since they could have
2922         forced low values deliberately.  (Bug#21243)
2924 2015-08-12  Richard Stallman  <rms@gnu.org>
2926         Offer to combine multiple To or CC fields.
2927         * sendmail.el (mail-combine-fields): New function.
2928         (mail-send): Call 'mail-combine-fields'.
2930         Don't decrypt encrypted files.
2931         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
2933         Handle encrypted mbox files.
2934         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
2935         file if necessary.
2937         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
2938         * rmail.el (rmail-epa-decrypt-1): New subroutine.
2939         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
2940         In a mime message, reenable Mime and show the parts that
2941         were shown before.
2942         Add keyword "decrypt" if anything decrypted.
2944         epa-inhibit inhibits auto-recognition of .gpg files
2945         * lisp/epa-file.el (epa-inhibit): New variable.
2946         (epa-file-handler): Check epa-inhibit.
2948 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
2950         * emacs-lisp/lisp-mnt.el (lm-header): save-excursion
2952 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2954         Respect python.el imenu when semantic-mode is off
2955         Fixes debbugs:21220
2956         * lisp/cedet/semantic/wisent/python.el: Do not force
2957         wisent-python-default-setup on python-mode-hook.
2959 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2961         Give names to Unicode code points in C code
2962         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
2963         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
2964         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
2965         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
2966         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
2967         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
2968         (OBJECT_REPLACEMENT_CHARACTER):
2969         New named constants for Unicode code points.
2970         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
2971         * src/composite.c (char_composable_p):
2972         * src/lread.c (readevalloop, read1):
2973         * src/xdisp.c (get_next_display_element):
2974         Use them.
2975         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
2976         Remove; now in character.h.
2978 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
2980         elisp--xref-find-definitions handle cl-defstuct default constructor
2981         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
2982         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
2983         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
2984         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
2985         from xref-elisp-test for ease of debugging.
2986         (xref-elisp-deftest): Rename from xref-elisp-test.
2987         (find-defs-constructor): New test.
2988         (find-defs-defgeneric-el): Match batch test config.
2989         (compile): Required for find-defs compilation-minor-mode test.
2990         (find-defs-defvar-el): Match code change.
2991         (find-defs-face-el): Match code change.
2992         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
2993         Improve doc string.
2995 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2997         * lisp/replace.el (perform-replace): Document `replacements'.
2998         (perform-replace): Move the description of the format of `replacements' from
2999         the body's comment to the docstring.
3001 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
3003         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
3004         sequence.  Recent adb version send initial escape sequences, even
3005         when terminal type is set to TERM=dumb.
3007 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
3009         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
3010         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted
3011         (elisp--xref-format-cl-defmethod): new
3012         (find-feature-regexp): new
3013         (find-alias-regexp): new
3014         (elisp--xref-make-xref): new
3015         (elisp--xref-find-definitions): Rewrite using the above, handle many more
3016         cases. Always output all available definitions.
3017         (xref-location-marker): No need for special cases.
3018         * test/automated/elisp-mode-tests.el: Add more tests of
3019         elisp--xref-find-definitions, improve current tests.
3021 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
3023         Fix recording of events pushed onto unread-command-events
3024         * src/keyboard.c (read_char): Make sure events read from
3025         unread-command-events and unread-post-input-method-events are
3026         always recorded by record_char.  Reported by David Kastrup
3027         <dak@gnu.org>, see
3028         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
3030 2015-08-10  Samer Masterson  <samer@samertm.com>
3032         Set file buffer as current for "--file"
3033         * lisp/startup.el (command-line-1): Set file buffer as current before
3034         it is displayed so it can be used with options like
3035         "--eval".  (Bug#21095)
3037 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
3039         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
3040         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
3041         after setting LC_ALL to the desired locale, to avoid affecting how
3042         numbers are read and printed.  (Bug#21223)
3044 2015-08-10  Alan Mackenzie  <acm@muc.de>
3046         Fix "Invalid search bound (wrong side of point)" in fontification.
3047         progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an
3048         initialization expression, check point is not beyond the fontification
3049         limit.
3051 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3053         Fix DPI calculation when Xft/DPI is default
3054         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
3055         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
3056         Remove unnecessary cast while we're in the neighborhood.
3058 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
3060         Add project-vc-search-path and project-vc-ignores
3061         * lisp/progmodes/project.el (project-vc): New group.
3062         (project-vc-search-path, project-vc-ignores): New variables.
3063         (project--value-in-dir): Utility function.
3064         (project-search-path, project-ignores): Use them.
3065         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
3066         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
3068 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3070         Fix some minor quoting issues with grave accent
3071         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
3072         Remove redundant quotes.
3073         * src/doc.c (uLSQM, uRSQM): New macros.
3074         * src/doc.c (Fsubstitute_command_keys):
3075         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
3076         preference for quotes rather than hardcoding the ‘grave’ style.
3077         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
3078         (re_match_2_internal) [DEBUG]: In debugging output, quote C
3079         strings with "...", not `...'.
3081         ChangeLog.2 ignores remote-tracking merges
3082         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
3083         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
3084         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
3086 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
3088         Use kpsewhich in ffap-latex-mode, if available
3089         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
3090         (ffap-latex-mode): Use kpsewhich if available.
3092         ffap: disallow braces in filenames for tex modes
3093         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
3094         braces in tex-related modes.
3096         Remove useless backslashes from ffap-string-at-point-mode-alist
3097         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
3098         misleading backslashes from default value.
3100         Augment docstring of ffap-string-at-point-mode-alist
3101         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
3102         and END are handled.
3104 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3106         Remove no-op calls to substitute-command-keys
3107         * lisp/org/org-src.el (org-edit-src-code)
3108         (org-edit-fixed-width-region):
3109         * lisp/simple.el (completion-setup-function):
3110         Remove calls to substitute-command-keys that always just return
3111         their argument.
3113 2015-08-09  Daiki Ueno  <ueno@gnu.org>
3115         Utilize `quit-window' in epa.el
3116         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
3117         (Bug#21210)
3119 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
3121         fix link to source code in help window
3122         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
3123         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
3124         'No longer include timestamp in header of .elc files'. Add code
3125         that will return .el source file in load-path.
3127 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
3129         * isearch.el (isearch-search-fun-default): (Bug#21164)
3130         Respect `isearch-lax-whitespace' when searching through
3131         `isearch-word'.
3133 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
3135         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
3137         * org.el: Fix up some lexical scoping warnings, and use dolist
3138         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
3139         (org-set-regexps-and-options, org-assign-fast-keys)
3140         (org-contextualize-keys, org-contextualize-validate-key)
3141         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
3142         (org-find-olp, org-find-exact-heading-in-directory)
3143         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
3144         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
3145         (org-replace-escapes): Use dolist.
3146         (org-mode): Optimize away XEmacs-only code.
3147         (org-refile-get-targets): Remove unused var `f'.
3148         (org-fast-todo-selection): Remove unused var `e'.
3149         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
3150         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
3151         (org-format-latex): Use dolist.  Remove unused var `e'.
3152         (org-toggle-heading): Access vars lexically rather than dynamically.
3153         (org-backward-sentence, org-forward-sentence, org-meta-return)
3154         (org-kill-line): Mark arg as unused.
3155         (org-submit-bug-report): Silence compiler warning.
3156         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
3157         (org-get-cursor-date): Remove unused var `tm'.
3158         (org-comment-or-uncomment-region): Use standard name `_'.
3159         (reftex-docstruct-symbol, reftex-cite-format): Declare to
3160         silence byte-compiler.
3161         (org-reftex-citation): Add `org--' prefix to dynamically scoped
3162         `rds' var.
3164 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
3166         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
3168 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
3170         Electric quote if coding is undecided or no conv
3171         * lisp/electric.el (electric--insertable-p): Also say that a
3172         string is insertable if the buffer file coding system is undecided
3173         or uses no conversion, as curved quotes will work in either case.
3175         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
3177 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
3179         Fix overlay string display regressions introduced in Emacs 24.5
3180         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
3181         buffer position, if we move the iterator to a new position as
3182         result of jumping over text covered by a "replacing" display
3183         property.
3184         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
3186         Support recovery from C stack overflow on MS-Windows
3187         * src/w32fns.c (w32_reset_stack_overflow_guard)
3188         (stack_overflow_handler): New functions for handling C stack
3189         overflow exceptions.
3190         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
3191         specially, and zero out except_addr if we do.
3192         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
3193         mode.
3194         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
3195         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
3196         the MinGW build, but the code guarded by that is for Posix hosts.
3197         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
3198         w32_reset_stack_overflow_guard.
3199         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
3200         (sigsetjmp): New macro.
3201         (w32_reset_stack_overflow_guard): Declare the prototype.
3202         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
3204 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
3206         Improve error signalling for seq-subseq.
3208         * lisp/seq.el (seq-subseq): The existing behaviour is to error
3209         when indexes are too large, but to silently ignore numbers which
3210         are too negative for lists.  String and vector handling errors in
3211         both cases. This has been regularlised. Error signalling behaviour
3212         has been explicitly added to the docstring.
3214         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
3215         therefore also impacted by this change. The docstring has been
3216         updated to reflect this.
3218         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
3219         added for these exceptional cases, as well as one non exceptional
3220         base case.
3222 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
3224         Improve error checking in tramp-adb.el
3225         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
3226         Improve error checking.  "ls -l" on Android in Enforcing mode can
3227         print "lstat './FILENAME failed: Permission denied".
3229 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
3231         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
3232         non-struct vectors.
3234 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
3236         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
3237         * lisp/window.el: fix typo that broke build
3238         (display-buffer--action-function-custom-type): add
3239         `display-buffer-use-some-frame'
3240         (display-buffer): add `display-buffer-use-some-frame' to doc string
3242         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
3243         * lisp/window.el (display-buffer-use-some-frame): Add support for
3244         'inhibit-same-window in alist.
3245         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
3246         'inhibit-same-window in alist.
3248 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
3250         Avoid infinite loop in display of invisible text in strings
3251         * src/xdisp.c (handle_invisible_prop): If the next change of
3252         invisibility spec does not mean the beginning of a visible text,
3253         update the string position from which to start the search for the
3254         next invisibility change.  This avoids an infinite loop when we
3255         have more than one invisibility spec that are made inactive by
3256         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
3257         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
3258         for the situation that caused bug #21200.
3260 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3262         * lisp/emacs-lisp/package.el: Simplify describe-package-1
3263         (package-help-section-name-face): New face.
3264         (package--print-help-section): New function.
3265         (describe-package-1): Refactor section printing.
3266         (package-make-button): Use face instead of font-lock-face, which
3267         doesn't work on buttons.
3269         * lisp/emacs-lisp/package.el: Define custom faces
3270         (package-name-face, package-description-face)
3271         (package-status-built-in-face, package-status-external-face)
3272         (package-status-available-face, package-status-new-face)
3273         (package-status-held-face, package-status-disabled-face)
3274         (package-status-installed-face, package-status-dependency-face)
3275         (package-status-unsigned-face, package-status-incompat-face)
3276         (package-status-avail-obso-face): New faces.
3277         (package-menu--print-info-simple): Use them.
3279 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
3281         Fix some confusion with ‘format’
3282         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
3283         (allout-graphics-modification-handler):
3284         Protect arbitrary string in a format context with "%s" format.
3285         * lisp/avoid.el:
3286         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
3287         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
3288         * lisp/erc/erc-button.el (erc-button-beats-to-time):
3289         * lisp/gnus/message.el (message-send-form-letter):
3290         * lisp/org/ob-core.el (org-babel-check-evaluate)
3291         (org-babel-confirm-evaluate):
3292         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
3293         * lisp/org/ox-latex.el (org-latex-compile):
3294         * lisp/org/ox-man.el (org-man-compile):
3295         * lisp/org/ox-odt.el (org-odt-template):
3296         * lisp/org/ox-texinfo.el (org-texinfo-compile):
3297         * lisp/progmodes/prolog.el (prolog-help-info)
3298         (prolog-view-predspec):
3299         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
3300         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
3301         * lisp/textmodes/rst.el (rst-replace-lines):
3302         Change (message (format ...)) to (message ...), and likewise
3303         for ‘error’.  This lessens the probability of confusion when the
3304         output of ‘format’ contains ‘%’.
3306 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
3308         * lisp/replace.el (replace-character-fold): Default to nil
3310         * lisp/character-fold.el: Fix lax whitespace
3311         (character-fold-table): Don't make space match other whitespace chars.
3312         (character-fold-to-regexp): Simplify lax behaviour.
3314 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
3316         Preserve window point in xref-find-definitions-other-window
3317         Fix the problem reported by Ingo Logmar in
3318         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
3319         * lisp/progmodes/xref.el (xref--goto-char): Extract from
3320         xref--goto-location.
3321         (xref--pop-to-location): Use it. Replace xref--goto-location with
3322         a direct xref-location-marker call.
3323         (xref--show-location): Likewise.
3324         (xref--display-position): Use xref--goto-char.
3326         * lisp/progmodes/project.el: Add a paragraph to the front matter.
3328 2015-08-04  David Kastrup  <dak@gnu.org>
3330         Do not overwrite preexisting contents of unread-command-events
3331         * lisp/vc/emerge.el (emerge-show-file-name):
3332         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
3333         (vhdl-comment-insert, vhdl-hooked-abbrev):
3334         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
3335         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
3336         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
3337         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
3338         * lisp/obsolete/vip.el (vip-escape-to-emacs)
3339         (vip-prefix-arg-value, vip-prefix-arg-com):
3340         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
3341         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
3342         (quail-tibkey-update-translation):
3343         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3344         * lisp/leim/quail/lao.el (quail-lao-update-translation):
3345         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
3346         (quail-japanese-self-insert-and-switch-to-alpha):
3347         * lisp/leim/quail/hangul.el (hangul2-input-method)
3348         (hangul3-input-method, hangul390-input-method):
3349         * lisp/language/hanja-util.el (hangul-to-hanja-char):
3350         * lisp/international/robin.el (robin-input-method):
3351         * lisp/international/quail.el (quail-start-translation)
3352         (quail-start-conversion):
3353         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
3354         (gnus-article-describe-key-briefly):
3355         * lisp/eshell/em-hist.el (eshell-list-history):
3356         * lisp/term.el (term-dynamic-list-input-ring)
3357         (term-dynamic-list-completions):
3358         * lisp/subr.el (momentary-string-display):
3359         * lisp/simple.el (read-quoted-char):
3360         * lisp/pcomplete.el (pcomplete-show-completions):
3361         * lisp/kmacro.el (kmacro-repeat-on-last-key):
3362         * lisp/info.el (Info-summary):
3363         * lisp/ehelp.el (electric-help-command-loop):
3364         * lisp/ebuff-menu.el (electric-buffer-list)
3365         (Electric-buffer-menu-exit):
3366         * lisp/double.el (double-translate-key):
3367         * lisp/comint.el (comint-dynamic-list-input-ring)
3368         (comint-dynamic-list-completions): Do not overwrite preexisting
3369         contents of `unread-command-events' when putting new events into
3370         it.
3372 2015-08-04  Daniel Colascione  <dancol@dancol.org>
3374         Improve ansi-color filtering of unrecognized escape sequences
3375         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
3376         escape sequences.
3377         (ansi-color-filter-apply): Filter out unrecognized escape sequences
3378         (ansi-color-apply): Filter out unrecognized escape sequences
3380 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
3382         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
3383         definitions to `easy-menu-define', improve a couple to account for
3384         async, and add a couple of new commands.
3386 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
3388         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
3390 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
3392         Add new 'calendar-weekend-days' option
3393         Make the days receiving the 'calendar-weekend-header' face freely
3394         customizable, as they differ by region/culture.
3395         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
3396         new variable.
3397         * lisp/calendar/calendar.el (calendar-generate-month): New variable
3398         calendar-weekend-days to customize day header fontification.
3400 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
3402         Redo text-quoting-style variable
3403         Rename help-quote-translation to text-quoting-style,
3404         and use symbols rather than characters as values.
3405         This follows suggestions along these lines by Alan Mackenzie in:
3406         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
3407         and by Drew Adams in:
3408         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
3409         * doc/lispref/help.texi (Keys in Documentation)
3410         * etc/NEWS:
3411         * lisp/cus-start.el (standard):
3412         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
3413         Document and/or implement the new behavior instead of the old.
3414         (syms_of_doc): New symbols 'grave' and 'straight'.
3416 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
3418         nnimap.el: Use IMAP MOVE extension if available
3419         * lisp/gnus/nnimap.el (nnimap-request-move-article)
3420         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
3421         Use MOVE extension if available.
3423         nnimap.el: Explicitly ask for server capabilities
3424         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
3425         capabilities will be returned in the login-result.
3427 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3429         Treat help strings like other doc strings
3430         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
3431         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
3432         substitute-command-keys.
3433         * src/keyboard.c (show_help_echo, parse_menu_item): Call
3434         substitute-command-keys on the help string before displaying it.
3436         Also mention "curly quotes"
3437         See Drew Adams's email in:
3438         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
3439         * doc/lispref/help.texi (Keys in Documentation):
3440         Add index entry "curly quotes".
3441         * etc/NEWS: Use the phrase "curly quotes" too.
3443         ede-proj-target-makefile docstring tweaks
3444         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
3445         Consistently use "all:" to describe the all: target,
3446         replacing three different and confusingly-quoted usages.
3448 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
3450         Whitespace fixes
3452 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
3454         Don't abort emacsclientw when -a was specified
3455         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
3456         out if we are in emacsclientw and -a was specified.
3458 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
3460         Fix handling of 1st keystroke on MS-Windows
3461         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
3462         This is needed to correctly handle the session's first keystroke,
3463         if it has any modifiers.  (Bug#19994)
3465 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3467         Substitute some customization etc. doc strings
3468         These changes apply substitute-command-keys to some
3469         doc strings that were going through untranslated
3470         when creating customization or other widgets.
3471         * lisp/cus-edit.el (custom-group-value-create):
3472         * lisp/wid-edit.el (widget-default-create):
3473         (widget-push-button-value-create):
3474         Treat the widget tag as a doc string.
3475         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
3476         Treat the :documentation value as a doc string.
3477         * lisp/wid-edit.el (widget-choose):
3478         Treat the choice names as doc strings.
3479         (widget-default-create): Treat the :doc value as a doc string.
3480         (widget-toggle-value-create): Treat the :on and :off values
3481         as doc strings.
3482         (widget-documentation-string-value-create):
3483         Substitute the doc string.
3485 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
3487         Add a second argument to project-ignores
3488         * lisp/progmodes/project.el (project-ignores): Add a second
3489         argument DIR.
3490         * lisp/progmodes/project.el (project-ignores): Only include the VC
3491         ignores if DIR is the VC root.
3492         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
3494 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
3496         Prevent incorrect display when 'line-spacing' variable is set
3497         * src/xdisp.c (try_window_id): Give up this optimization if the
3498         buffer has its 'line-spacing' variable set non-nil.
3500 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
3502         Don't pass NOVISIT to find-file
3503         * lisp/progmodes/etags.el (next-file):
3504         Don't pass NOVISIT to find-file (bug#21175).
3506         Ignore buffer restriction for tags-loop-eval
3507         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
3508         restriction (bug#21167).
3510 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
3512         Fix a thinko in 'ffap-gopher-at-point'
3513         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
3515         Honor 'line-spacing' for empty lines
3516         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
3517         property and 'line-spacing' frame parameter or variable or
3518         property for empty lines, by doing the same processing as in
3519         x_produce_glyph for newline characters.  (Bug#21165)
3521 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3523         Simplify by assuming C99 integer division
3524         * src/floatfns.c (ceiling2, floor2, truncate2):
3525         Assume C99 (i.e., Fortran) semantics for integer division.
3526         This simplifies the code.
3528 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
3530         Don't overflow if computing approximate percentage
3531         * lisp/align.el (align-region):
3532         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
3533         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
3534         * lisp/cus-edit.el (custom-buffer-create-internal):
3535         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
3536         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
3537         (checkdoc-next-message-error):
3538         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
3539         * lisp/epa.el (epa-progress-callback-function):
3540         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
3541         * lisp/ffap.el (ffap-menu-rescan):
3542         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
3543         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
3544         * lisp/gnus/nneething.el (nneething-retrieve-headers):
3545         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
3546         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
3547         * lisp/gnus/nnml.el (nnml-retrieve-headers):
3548         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
3549         * lisp/gnus/nntp.el (nntp-retrieve-headers)
3550         (nntp-retrieve-articles):
3551         * lisp/imenu.el (imenu--relative-position):
3552         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
3553         (skkdic-convert-okuri-nasi):
3554         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
3555         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
3556         * lisp/org/org-list.el (org-update-checkbox-count):
3557         * lisp/org/org.el (org-table-map-tables)
3558         (org-update-parent-todo-statistics):
3559         * lisp/play/decipher.el (decipher-insert-frequency-counts)
3560         (decipher-analyze-buffer):
3561         * lisp/profiler.el (profiler-format-percent):
3562         * lisp/progmodes/cc-cmds.el (c-progress-update):
3563         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
3564         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
3565         (idlwave-list-load-path-shadows):
3566         * lisp/progmodes/opascal.el (opascal-step-progress):
3567         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
3568         (vhdl-scan-directory-contents):
3569         * lisp/textmodes/bibtex.el (bibtex-progress-message):
3570         * lisp/textmodes/flyspell.el (flyspell-small-region)
3571         (flyspell-external-point-words):
3572         * lisp/textmodes/table.el (table-recognize):
3573         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
3574         progress-report percentages and the like.  This avoids problems
3575         if (* 100 NUMERATOR) would overflow.
3576         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
3577         * lisp/gnus/registry.el (registry-reindex):
3578         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
3579         * lisp/descr-text.el (describe-char):
3580         * lisp/org/org-colview.el (org-nofm-to-completion):
3581         * lisp/ps-print.el (ps-plot):
3582         * lisp/simple.el (what-cursor-position):
3583         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
3584         more-complicated and less-accurate approximation.
3586         Fix some int overflows in profiler.c
3587         * src/profiler.c (make_log): Make args EMACS_INT, not int,
3588         to avoid unwanted behavior on 'int' overflow.
3589         (make_log, evict_lower_half, record_backtrace):
3590         Use ptrdiff_t, not int, for object indexes.
3592         Port to pedantic memcpy
3593         * src/keyboard.c (menu_bar_items, tool_bar_items):
3594         * src/xrdb.c (magic_db):
3595         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
3597         Merge from gnulib
3598         This incorporates:
3599         2015-07-29 time_rz: port to pedantic memcpy
3600         * lib/time_rz.c: Copy from gnulib.
3602 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
3604         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
3605         When updating the very last entry, tabulated-list-print would
3606         erase it and then try to look at the next one (which obviously
3607         isn't there).
3609 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
3611         Allow to use the old key processing code on MS-Windows
3612         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
3613         New variable.
3614         (w32_wnd_proc): Use it to invoke the old code that processed
3615         character keys, as fallback, when this variable is non-nil.  Fix
3616         typos in comments.  (Bug#19994)
3618 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
3620         Improve handling of Unicode keyboard input on MS-Windows
3621         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
3622         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
3623         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
3624         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
3625         successful, don't call TranslateMessage.  (Bug#19994)
3627 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
3629         Fix default-directory in changeset diffs after vc-print-log
3630         * lisp/vc/log-view.el (log-view-diff-common): Move the
3631         revision-granularity check back into log-view-diff-changeset.
3632         (log-view-diff-changeset): Bind default-directory to the current
3633         VC root.
3635         Rename project-directories to project-roots
3636         * lisp/progmodes/project.el (project-search-path-function)
3637         (project-search-path): Update the docstring.
3638         (project-directories): Rename to `project-roots', update all
3639         callers and implementations accordingly.
3640         (project-root): Remove.
3641         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
3642         as the default file mask.
3644 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
3646         Support long URLs in w32-shell-execute
3647         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
3648         and filename_to_ansi to convert the DOCUMENT argument, as it could
3649         be a URL that is not limited to MAX_PATH characters.  Instead, use
3650         MultiByteToWideChar directly, and allocate heap storage as
3651         required to accommodate the converted string.  Likewise with
3652         non-Unicode operation.  Ensure OPERATION is null-terminated, even
3653         if it is longer than 32K bytes.  (Bug#21158)
3655 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
3657         vc-mtn-find-revision handle null rev.
3658         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
3660 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
3662         Add docs for display-buffer action display-buffer-use-some-frame
3663         * lisp/window.el (display-buffer-use-some-frame): improve doc string
3664         * doc/lispref/windows.texi (Display Action Functions): add
3665           display-buffer-use-some-frame
3666         * etc/NEWS: mention display-buffer-use-some-frame
3668         Add display-buffer action display-buffer-use-some-frame
3669         * lisp/window.el (display-buffer-use-some-frame): new
3671         Handle vc-mtn error more gently
3672         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
3674 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
3676         Fix Tramp problems with multihops, and nc.
3677         * lisp/net/tramp-cache.el (tramp-get-file-property)
3678         (tramp-set-file-property, tramp-flush-file-property)
3679         (tramp-get-connection-property, tramp-set-connection-property)
3680         (tramp-flush-connection-property): Remove hop from vector.
3681         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
3682         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
3683         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
3684         netstat to 60".
3685         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
3686         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
3687         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
3688         Keep hop in result.
3689         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
3690         Add hop tests.
3692 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
3694         Resurrect highlighting of repeated words by Flyspell Mode
3695         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
3696         characters between point and the doublon candidate, so that
3697         flyspell-word-search-backward finds it.  (Bug#21157)
3699         Fix redisplay of large images on expose events
3700         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
3701         between signed negative values and unsigned values.  This
3702         prevented redisplay on expose events when the window showed a very
3703         large image.
3705 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
3707         Remove unnecessary stack overflow dependency
3708         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
3709         Don't worry about $ac_cv_header_sys_resource_h and
3710         $ac_cv_func_getrlimit, as they're no longer needed for this.
3711         Problem reported by Eli Zaretskii in:
3712         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
3714 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
3716         Pacify compilation -Wincompatible-pointer-types warnings
3717         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
3718         warning.
3719         (CompareStringW_Proc): New typedef.
3720         (w32_compare_strings): Use it, to pacify compiler warnings under
3721         "-Wincompatible-pointer-types".
3722         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
3723         (GetDiskFreeSpaceExA_Proc): New typedefs.
3724         (Ffile_system_info): Use them, to pacify compiler warnings under
3725         "-Wincompatible-pointer-types".
3727 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
3729         Fix subscript error in calculate_direct_scrolling
3730         Use slightly-longer cost vectors.  Without this change,
3731         calculate_direct_scrolling can have a subscript violation when
3732         FRAME_LINES (frame) <= delta.
3733         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
3734         (line_ins_del, do_line_insertion_deletion_costs):
3735         Allocate and use slightly-larger cost vectors, ones based on
3736         FRAME_TOTAL_LINES instead of FRAME_LINES.
3738         Fix uninitalized value in encode_coding_object
3739         * src/coding.c (encode_coding_object): Also initialize
3740         coding->src_pos and coding->src_pos_byte when NILP (src_object).
3741         This avoids later use of uninitialized storage.
3743 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
3745         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
3747 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
3749         Merge from gnulib
3750         This incorporates:
3751         2015-07-27 time_rz: port better to MinGW
3752         2015-07-27 time: port __need_time_t to MinGW
3753         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
3754         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
3755         * lib/time-internal.h: New file, from gnulib.
3757 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
3759         Handle NULL pointers in w32heap.c allocation routines
3760         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
3761         freeable".
3762         (realloc_after_dump, realloc_before_dump, free_before_dump):
3763         Handle NULL pointers gracefully, as Emacs now seems to expect
3764         that.
3766         Fix Cairo build without PNG
3767         * src/image.c: Define PNG function when USE_CAIRO is defined, even
3768         if HAVE_PNG is not.  (Bug#21133)
3770         MS-Windows follow-up for recent TZ-related changes
3771         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
3772         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
3773         picking up 'struct timespec' from pthread.h, if it is installed on
3774         the user's system.  We want either the definitions from MinGW
3775         system headers, if available, or the Gnulib replacements if not.
3776         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
3777         lib/time.h.
3778         * lib/time.in.h: Don't let __need_* symbols affect what happens on
3779         MinGW.  These symbols are defined by MinGW system headers, but we
3780         don't want that to affect whether Gnulib portions of the header
3781         are or aren't used.
3783 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
3785         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
3787         New optional ZONE arg for format-time-string etc.
3788         This simplifies time conversions in other time zones.
3789         It also prevents display-time-world tampering with TZ (Bug#21020).
3790         * admin/admin.el (add-release-logs):
3791         Use improved add-log-time-format API.
3792         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
3793         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
3794         * configure.ac (tzalloc): Remove test for this, since
3795         Emacs no longer uses HAVE_TZALLOC directly.
3796         * doc/lispref/os.texi (Time of Day, Time Conversion)
3797         (Time Parsing):
3798         * etc/NEWS: Document the new behavior.
3799         Merge from gnulib, incorporating:
3800         2015-07-25 strftime: fix newly-introduced bug on Solaris
3801         2015-07-23 fprintftime, strftime: use timezone_t args
3802         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
3803         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
3804         * m4/time_h.m4:
3805         Update from gnulib.
3806         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
3807         New files from gnulib.
3808         * lisp/time-stamp.el (time-stamp-string):
3809         * lisp/time.el (display-time-world-list)
3810         (display-time-world-display):
3811         Use new API, with time zone arg.
3812         * lisp/time.el (display-time-world-display):
3813         Fix race when current-time advances while we're running.
3814         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
3815         (add-log-iso8601-time-string): Accept optional time zone arg.
3816         * lisp/vc/add-log.el (add-change-log-entry):
3817         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
3818         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
3819         Add rules for the time module, since they're now needed
3820         for tzalloc etc.
3821         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
3822         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
3823         * src/editfns.c: Include errno.h.
3824         (set_time_zone_rule): Omit unnecessary forward decl.
3825         (initial_tz): Remove, replacing with ...
3826         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
3827         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
3828         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
3829         (tzlookup): New static functions.
3830         (init_editfns): New arg DUMPING.  All uses changed.
3831         (init_editfns): Omit most initialization if dumping, not if
3832         !initialized.  Initialize wall_clock_tz and local_tz.
3833         (emacs_nmemftime, format_time_string): Time zone argument can now
3834         be any time zone, not just a boolean for UTC or local time.  All
3835         callers changed.
3836         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
3837         (Fcurrent_time_zone): New optional arg ZONE.
3838         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
3839         the same form as with the other new additions.
3840         (decode_time_zone): Remove; no longer needed.
3841         (tzvalbuf): Now file-scope.
3842         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
3843         (syms_of_editfns): Define Qwall.
3844         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
3845         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
3846         [!HAVE_TZALLOC]:
3847         Remove; now supplied by gnulib.
3848         * src/emacs.c (main):
3849         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
3851 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
3853         Fix infinite loop in delete-consecutive-dups
3854         * lisp/subr.el (delete-consecutive-dups): Work even if the last
3855         element is nil (Bug#20588).  Avoid rescan of a circular list in
3856         deletion of last element.
3858 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
3860         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
3861         * src/nsfns.m (Fx_frame_geometry):
3862         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
3863         terminal frames.
3864         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
3865         (Fx_frame_geometry): Return nil for terminal frames
3867 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
3869         * etc/tutorials/TUTORIAL.ja: Improve translation.
3871 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
3873         Avoid crashes when w32 GUI functions are called in -batch
3874         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
3875         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
3876         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
3878         Fix flyspell-check-previous-highlighted-word
3879         * lisp/textmodes/flyspell.el
3880         (flyspell-check-previous-highlighted-word): Really accept a
3881         numeric argument, as the doc string describes.  Fix an off-by-one
3882         error in looking up overlays, so invocation with point immediately
3883         after a word would check that word.  Clarify the doc string as
3884         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
3886 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
3888         Minor cleanup in tramp-tests.el
3889         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
3890         Implement using the documented interface
3891         `tramp-connection-properties', rather than with internal functions.
3893 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
3895         Pass lambdas to `skeleton-read'
3896         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
3897         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
3898         lambdas to `skeleton-read' (bug#20386).
3900 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
3902         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
3904         Don't require GUI frames and mouse for Flyspell menus
3905         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
3906         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
3907         support, since pop-up menus work with text terminals and can be
3908         controlled via the keyboard.
3910         Improve documentation of Flyspell commands
3911         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
3912         can be invoked via the keyboard.  Mention those commands by name
3913         and add them to the fn index.  (Bug#21125)
3915 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
3917         Fix some Tramp problems with HP-UX
3918         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3919         Add "tab0" to stty call.
3920         * test/automated/tramp-tests.el (tramp-persistency-file-name):
3921         Set to nil.
3922         (tramp--test-hpux-p): New defun.
3923         (tramp--test-utf8): Use it.
3925 2015-07-22  Glenn Morris  <rgm@gnu.org>
3927         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
3929 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
3931         Fix point positioning in ffap-next-guess
3932         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
3933         as our callers expect.  This was clobbered as part of fixing
3934         bug#5673.  (Bug#21107)
3935         (ffap-gopher-at-point): Set ffap-string-at-point-region.
3937 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
3939         Fix customization type of `even-window-sizes'.
3940         * lisp/window.el (even-window-sizes): Fix customization type.
3942         Optionally even widths of `display-buffer' windows.  (Bug#21100)
3943         * lisp/window.el (quit-restore-window): Restore width if
3944         requested.
3945         (display-buffer-record-window): Record width when window is
3946         reused and horizontally combined.
3947         (even-window-sizes): New option to allow evening window widths.
3948         (even-window-heights): Defalias to `even-window-sizes'.
3949         (window--even-window-heights): Rename to
3950         `window--even-window-sizes'.  Handle side-by-side windows.
3951         (display-buffer-use-some-window): Call `window--even-window-sizes'
3952         instead of `window--even-window-heights'.
3953         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
3954         * doc/lispref/windows.texi (Choosing Window Options): Describe
3955         `even-window-sizes'.
3956         (Coordinates and Windows): Fix typo.
3958 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
3960         add file name to autoload error messages.
3961         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
3962           to add file name to error message.
3964 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
3966         Use 0.0.0.1 as test host in Tramp
3967         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
3968         Use 0.0.0.1 as test host.
3970 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3972         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
3973         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
3974         Fix inf-loop (bug#21083).
3976 2015-07-21  Glenn Morris  <rgm@gnu.org>
3978         * test/automated/package-test.el (package-test-signed):
3979         Update for recent changes.
3981         * test/automated/elisp-mode-tests.el
3982         (elisp-xref-finds-both-function-and-variable)
3983         (elisp-xref-finds-only-function-for-minor-mode):
3984         Update for recent xref name changes.
3986 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
3988         Make eldoc timer non-repeatable
3989         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
3990         non-repeatable.  Since it's on post-command hook, that just wasted
3991         CPU cycles.
3993 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
3995         Mention `tramp-connection-properties' in NEWS
3997         Sync with Tramp repository
3998         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
3999         required prior changing its configuration.
4000         (Connection caching, Predefined connection information)
4001         (Remote shell setup): Fix typos.
4002         (Predefined connection information): Describe, how to overwrite
4003         parameters of `tramp-methods'.
4004         (Remote programs, Remote processes, Traces and Profiles):
4005         Simplify example.
4006         (Remote programs): Remove superfluous comment.
4007         * doc/misc/trampver.texi: Update release number.
4008         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
4009         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
4010         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
4011         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
4012         "gvfs-mkdir -p ..." does not work robust.
4013         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
4014         * lisp/net/tramp-sh.el (tramp-methods):
4015         Add `tramp-remote-shell-login' parameter where it fits.
4016         (tramp-get-remote-path): Use it.
4017         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
4018         (all): Adapt `tramp-get-method-parameter' calls.
4019         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
4020         (tramp-get-method-parameter): Replace argument METHOD by VEC.
4021         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
4022         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
4023         (all): Adapt `tramp-get-method-parameter' calls.
4024         * lisp/net/trampver.el Update release number.
4025         * test/automated/tramp-tests.el (tramp--instrument-test-case):
4026         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
4027         (tramp-test13-make-directory, tramp--test-adb-p)
4028         (tramp--test-smb-or-windows-nt-p): Simplify.
4029         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
4030         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
4031         (tramp--test-utf8): Fix docstring.
4033 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
4035         Add new xref-query-replace command
4036         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
4037         function, extracted from xref-pulse-momentarily.
4038         (xref-query-replace): New command.
4039         (xref--query-replace-1): New helper function.
4040         (xref--xref-buffer-mode-map): Add `r' binding.
4042 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
4044         Simplify icalendar decoding of Z dates
4045         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
4046         Simplify calculation of time strings with trailing "Z".
4048 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
4050         Do not corrupt grep-find-ignored-files
4051         * lisp/progmodes/project.el (project-ignores): Change the order of
4052         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
4054         Add xref-match-item, and use it
4055         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
4056         (xref-file-location): Add reader for the column slot.
4057         (xref-match-item): New class.
4058         (xref-match-bounds): A method implementation for it.
4059         (xref-make-match): New constructor function.
4060         (xref--current-item): New private variable.
4061         (xref-pulse-momentarily): Use it.
4062         (xref--pop-to-location): Change the first argument to an xref
4063         item, instead of location, bind xref--current-item.
4064         Update all callers.
4065         (xref-next-line, xref-prev-line, xref--next-error-function)
4066         (xref--mouse-2): Look for the property `xref-item',
4067         instead of `xref-location'.
4068         (xref--item-at-point): Likewise.  This function replaces
4069         `xref-location-at-point'.  Update all callers.
4070         (xref--insert-xrefs): Add the `xref-item' text property, instead
4071         of `xref-location'.
4072         (xref--collect-match): Use xref-make-match.
4074         Rename xref--xref to xref-item
4075         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
4076         Update all references.
4078         Rename xref description slot to summary
4079         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
4080         slot to `summary'.
4082         vc-hg: Perform the print-log call asynchronously
4083         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
4084         asynchronously (bug#21067).
4086         Add xref-after-jump-hook and xref-after-return-hook
4087         * lisp/progmodes/xref.el (xref-after-jump-hook)
4088         (xref-after-return-hook): New hooks.
4089         (xref-pulse-on-jump): Remove, in favor of the above.
4090         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
4091         (xref--pop-to-location, xref--display-position)
4092         (xref-pop-marker-stack): Use the new hooks, as requested in
4093         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
4095 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
4097         Correct js-mode's lighter
4098         * lisp/progmodes/js.el (js-mode): Correct the lighter.
4100 2015-07-19  Leo Liu  <sdl.web@gmail.com>
4102         Fix a bug in cfengine3-mode
4103         * progmodes/cfengine.el (cfengine3-mode): Handle nil
4104           eldoc-documentation-function.
4106 2015-07-18  Julien Danjou  <julien@danjou.info>
4108         sieve-mode: support "body" test command
4109         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
4110         Add missing "body" test command.
4112 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
4114         Fix info-apropos when the default encoding is Latin-N
4115         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
4116         'undecided', so that it is set to the encoding of the Info file we
4117         are about to insert.  Otherwise, 'info-apropos' will fail to find
4118         some index nodes in some UTF-8 encoded files, if the buffer's
4119         previous encoding is Latin-N or some such.
4121 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
4123         * epg.el (epg--start): Check that gpgconf can be found before calling it.
4125         Expose more file types to OS X that Emacs understands.
4126         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
4127         json, and org files.  Export UTIs for el, elc, and org files.
4129 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
4131         Fix visual-order cursor movement when lines are truncated
4132         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
4133         simulate display in a window of infinite width, to allow move_it_*
4134         functions reach positions outside of normal window dimensions.
4135         Remove code that tried to handle a subset of these situations by
4136         manual iteration of buffer text.  (Bug#17777)
4138         Fix following Info cross-references to anchors
4139         * lisp/info.el (Info-read-subfile): Add to the returned value the
4140         length of subfile preamble, after converting it to file's byte
4141         offset, as expected by the caller.  Use bufferpos-to-filepos.
4142         (Info-find-node-2): If searching for a node with a
4143         1000-character slop fails, try again with a 10000-character slop,
4144         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
4145         * lisp/international/mule-util.el (bufferpos-to-filepos): New
4146         function.
4147         * etc/NEWS: Mention bufferpos-to-filepos.
4149         Fix scrolling backwards on TTY frames under scroll-conservatively
4150         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
4151         in moving backwards on TTY frames.  (Bug#21080)
4153 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
4155         Consider a jsdoc tag to be a beginning of a paragraph as well
4156         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
4157         consider a jsdoc tag to be a beginning of a paragraph as well.
4159 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
4161         * lisp/emacs-lisp/package.el: Fix warnings
4163         * lisp/emacs-lisp/package.el (package-buffer-info):
4164         Add author and maintainers to `package-buffer-info'.
4166         * lisp/emacs-lisp/package.el: Many small changes
4167         Replace all instances of 'face with 'font-lock-face.
4168         (describe-package-1): Improve some strings and move the summary up the
4169         list.
4170         (package-install-file): Update docstring.
4171         (package-menu-hide-package): Bind to `H'.
4173         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
4174         Fix error handling.
4176 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
4178         Fix hang with large yanks This should fix the bug fixed by Mike
4179         Crowe's patch in:
4180         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
4181         A problem in this area has been reported by several users; see
4182         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
4183         This fix differs from Mike Crowe's patch in that it should avoid a
4184         race condition that could lose SIGIO signals.  ignore_sigio dates
4185         back to the 1980s when some platforms couldn't block signals, and
4186         could only ignore them, which led to races when signals arrived
4187         while being ignored.  We shouldn't have to worry about those old
4188         platforms now.
4189         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
4190         * src/emacs.c (shut_down_emacs):
4191         Don't call ignore_sigio; unrequest_sigio should suffice.
4192         * src/keyboard.c (kbd_buffer_store_buffered_event):
4193         Use unrequest_sigio, not ignore_sigio.
4194         (kbd_buffer_get_event):
4195         Call request_sigio when getting the ball rolling again.
4197 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
4199         * lisp/obsolete/longlines.el (longlines-search-function):
4200         Fallback on `isearch-search-fun-default'.
4202 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
4204         Support @-mentions
4205         * rcirc.el (rcirc-completion-at-point): Support completion of
4206         mentions/messages with @nick instead of just nick.
4208 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
4210         Fix Bug#20943.
4211         * lisp/autorevert.el (auto-revert-handler): Do not check for
4212         `buffer-modified-p'.
4213         * lisp/files.el (buffer-stale--default-function): Check for
4214         `buffer-modified-p'.
4215         * test/automated/auto-revert-tests.el
4216         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
4218 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
4220         Fix delete-dups bug on long lists
4221         * lisp/subr.el (delete-dups):
4222         Don't mistakenly keep some dups when applied to long lists.
4224 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4226         Better heuristic for C stack overflow
4227         Improve the heuristic for distinguishing stack overflows from
4228         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
4229         the getrlimit method wasn't portable to Cygwin; see:
4230         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
4231         Corinna suggested pthread_getattr_np but this also has problems.
4232         Instead, replace the low-level system stuff with a simple
4233         heuristic based on known good stack addresses.
4234         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
4235         * src/sysdep.c: Don't include <sys/resource.h>.
4236         (stack_direction): Remove.  All uses removed.
4237         (stack_overflow): New function.
4238         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
4239         Make SEGV fatal in non-main threads.
4241 2015-07-16  Daiki Ueno  <ueno@gnu.org>
4243         epg: Automatically start pinentry server
4244         * epg-config.el (epg-gpgconf-program): New variable.
4245         * epg.el (epg--start): Call `pinentry-start' if
4246         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
4248 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
4250         * lisp/gnus/nnimap.el: Fix my last bogus change
4251         Reinstall Stefan Monnier's change that was made in
4252         <83d824bc4041332f338ad7e5e830f443535aa300>.
4254 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4256         Merge from gnulib
4257         This incorporates:
4258         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
4259         2015-07-05 acl-permissions: Fix on FreeBSD
4260         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
4261         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
4262         * lib/set-permissions.c: Copy from gnulib.
4264         Port to stricter C99
4265         * src/keyboard.h (kbd_buffer_store_event_hold):
4266         Don't return a void expression.
4268 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
4270         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
4272 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
4274         New autorevert tests.
4275         * test/automated/auto-revert-tests.el: New file.
4277 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
4279         Clear gcprolist etc. after stack overflow
4280         After stack overflow, command_loop calls init_eval, and this needs to
4281         clear gcprolist and byte_stack_list (Bug#20996).
4282         * src/alloc.c (init_alloc):
4283         Move gcprolist and byte_stack_list initialization from here ...
4284         * src/eval.c (init_eval): ... to here.
4286 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
4288         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
4290 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4292         Avoid deprecated enums in mac-ct font backend driver
4293         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
4294         (mac_ctfont_get_advance_width_for_glyph)
4295         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
4297         Cache font family in mac-ct font backend driver
4298         * src/macfont.m (macfont_family_cache): New variable.
4299         (syms_of_macfont): Initialize it.
4300         (macfont_available_families_cache): New variable.
4301         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
4302         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
4303         (macfont_handle_font_change_notification)
4304         (macfont_init_font_change_handler)
4305         (macfont_copy_available_families_cache): New functions.
4306         (macfont_create_family_with_symbol): Use font family caches.
4307         (macfont_list, macfont_list_family): Use
4308         macfont_copy_available_families_cache instead of
4309         mac_font_create_available_families.
4311 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
4313         Show the default value in the prompt
4314         * lisp/progmodes/xref.el: Add `M-?' binding for
4315         xref-find-references.  Declare functions `grep-read-files' and
4316         `grep-expand-template'.
4317         (xref--read-identifier): Show the default value in the prompt.
4319         When called with prefix argument, ask for file patterns to search as well
4320         * lisp/progmodes/xref.el (xref-find-regexp): When called with
4321         prefix argument, ask for file patterns to search as well.  When
4322         prompting for the directory, require an existing one.
4323         (xref-collect-matches): Add a new argument, FILES.  Use it in the
4324         above function.
4326         Add `project-ignores'
4327         * lisp/progmodes/project.el (project-ignores): New generic
4328         function, and an implementation for the VC project type.
4329         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
4330         variant of rgrep-default-command that handles a generic list of
4331         ignores.
4332         (xref-collect-matches): Use it, and pass through to it the value
4333         of the newly added argument.
4334         (xref-find-regexp): Handle ignored paths within the project.
4335         Remove outdated comment.
4336         * lisp/vc/vc.el (vc-default-ignore-completion-table):
4337         Skip the comments and the empty lines.
4339 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
4341         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
4343 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
4345         gnus-registry.el: Correct function argument order
4346         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
4347         Reverse the order of function arguments.
4349 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
4351         Bind grep-highlight-matches to nil
4352         * lisp/progmodes/xref.el (xref-collect-matches):
4353         Bind grep-highlight-matches to nil (bug#20728).
4355 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
4357         nnimap.el: Fix IMAP message size parsing
4358         * lisp/gnus/nnimap.el (nnimap-transform-headers):
4359         Don't assume that UID comes before RFC822.SIZE.
4361 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4363         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
4364         (auth-source-creation-prompts): Declare.
4365         (nnimap-retrieve-headers, nnimap-status-message)
4366         (nnimap-request-create-group, nnimap-request-delete-group)
4367         (nnimap-close-group, nnimap-request-move-article)
4368         (nnimap-request-accept-article, nnimap-request-newgroups)
4369         (nnimap-request-post, nnimap-dummy-active-number)
4370         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
4371         (nnimap-parse-flags): Remove unused var `p'.
4372         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
4373         (nnimap-flags-to-marks): Remove unused var `totalp'.
4375 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
4377         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
4379 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4381         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
4383 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
4385         Don't check the exit status, it can be misleading
4386         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
4387         exit status, it can be misleading.
4389         Introduce a Project API
4390         * lisp/progmodes/project.el: New file.
4391         * lisp/cedet/ede.el: (project-try-ede): New function.
4392         (project-root): New implementation.
4393         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4394         Set project-search-path-function.
4395         (elisp--xref-find-references): Delegate some logic to
4396         project-search-path.
4397         (elisp-search-path): New function.
4398         (elisp-xref-find): Don't implement `matches' anymore.
4399         * lisp/progmodes/etags.el: Don't implement `matches'.
4400         Delegate some logic to project-search-path.
4401         (etags-search-path): New function.
4402         * lisp/progmodes/xref.el (xref-find-function):
4403         Remove `matches' from the API.
4404         (xref-find-regexp): Move whatever common logic was in elisp and
4405         etags implementations, and search the directories returned by
4406         project-directories and project-search-path.
4408 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
4410         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
4412         Add support for gv.el in map.el
4413         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
4414         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
4415         * test/automated/map-tests.el: Update tests to work with the new
4416         implementations of map-elt and map-put.
4418 2015-07-09  Glenn Morris  <rgm@gnu.org>
4420         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
4422 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
4424         Syntax-propertize until the end of the line first
4425         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
4426         until the end of the line first.
4428 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
4430         * doc/emacs/files.texi (File Archives): Add a cross reference.
4432 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
4434         nnimap.el: Handle plain value for nnimap-stream
4435         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
4436         capabilities, so that a 'plain value for the `nnimap-stream' server
4437         variable is handled correctly.
4438         * doc/misc/gnus.texi (Customizing the IMAP Connection):
4439         Document the 'plain option.
4441 2015-07-08  Leo Liu  <sdl.web@gmail.com>
4443         Fix bug in thing-at-point--bounds-of-well-formed-url
4444         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
4445           sure boundary contains current point.
4447 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
4449         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
4451         Declare whitespace-line-column a safe file-local
4452         * lisp/whitespace.el (whitespace-line-column): Declare to be a
4453         safe file-local when the value is an integer.
4455 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
4457         gnus-group.el: Check if group names are already strings
4458         * lisp/gnus/gnus-group.el (gnus-group-group-name):
4459         The group name may already be a string.
4460         Specifically, in the group list reached from the *Server* buffer,
4461         the 'gnus-group text property returns a string.  Everywhere else
4462         it returns a symbol.
4464         nnimap.el: Remove unused let variables
4465         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
4467 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
4469         Support "maximized" property of runemacs's shortcut
4470         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
4471         the '--maximized' switch to Emacs.
4473         Support "minimized" property of runemacs's shortcut
4474         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
4475         pass the '--iconic' switch to Emacs.  (Bug#20991)
4477 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
4479         Doc fixes
4480         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
4481         C-w' in Diff mode.
4482         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
4483         Add a cross reference.
4485 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
4487         * lisp/obsolete/landmark.el: Add Obsolete-since header
4489 2015-07-07  Glenn Morris  <rgm@gnu.org>
4491         * test/automated/ert-tests.el (ert-test-deftest):
4492         Update for recent changes.
4494 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
4496         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
4497         * lisp/emacs-lisp/gv.el (gv-setter): New function.
4498         (gv-invalid-place): New error.
4499         (gv-get): Use them.
4500         (gv-synthetic-place, gv-delay-error): New places.
4501         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
4502         (cl-defgeneric, cl-defmethod): Use gv-setter.
4504 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
4506         Make vc-tests work with MSYS svn program
4507         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
4508         svn is an MSYS program.
4510 2015-07-07  Ken Brown  <kbrown@cornell.edu>
4512         Improve recent change to emacsclient on Cygwin
4513         * lisp/server.el (server-process-filter): Remove redundant check
4514         that 'cygwin-convert-file-name-from-windows' is defined as a
4515         function on Cygwin.  Don't call that function unless its argument
4516         starts with a drive letter.
4518 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4520         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
4521         Fix void variable due to `found-something' being in the wrong `let'.
4523 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
4525         * lisp/play/landmark.el: Move to lisp/obsolete/
4527 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
4529         Have `x-show-tip' handle `right' and `bottom' frame parameters.
4530         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
4531         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
4532         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
4533         tooltips also via `right' and `bottom' frame parameters.
4535 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
4537         Add online-help support to describe types
4538         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
4539         (describe-symbol): Improve the selection of default.
4540         * lisp/help-mode.el: Require cl-lib.
4541         (describe-symbol-backends): Move from help-fns.el.
4542         (help-make-xrefs): Use it.
4543         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
4544         for types.
4545         (cl--typedef-regexp): New const.
4546         (find-function-regexp-alist): Add entry for types.
4547         (cl-help-type, cl-type-definition): New buttons.
4548         (cl-find-class): New function.
4549         (cl-describe-type): New command.
4550         (cl--describe-class, cl--describe-class-slot)
4551         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
4552         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
4553         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
4554         New functions.  Moved from eieio-opt.el.
4555         (cl--generic-class-parents): New function, extracted from
4556         cl--generic-struct-specializers.
4557         (cl--generic-struct-specializers): Use it.
4558         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
4559         Improve constructor's docstrings.
4560         (cl-struct-unknown-slot): New error.
4561         (cl-struct-slot-offset): Use it.
4562         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
4563         definition in current-load-list.
4564         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
4565         (eieio--add-new-slot): Set it.
4566         (eieio-defclass-internal): Use new name for current-load-list.
4567         (eieio-oref): Add compiler-macro to warn about unknown slots.
4568         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
4569         as compile-time as well.  Improve constructor docstrings.
4570         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4571         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
4572         (eieio-class-def): Remove button.
4573         (eieio-help-constructor): Use new name for load-history element.
4574         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
4575         (eieio-method-documentation): Move to cl-generic.el.
4576         (eieio-display-method-list): Use new names.
4577         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
4578         Add "define-linline".
4579         (lisp-fdefs): Remove "defsubst".
4580         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
4581         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
4582         (macroexp--warn-and-return): Use it to avoid inf-loops.
4583         Add `compile-only' argument.
4585 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4587         python.el: Fix local/remote shell environment setup
4588         * lisp/progmodes/python.el (python-shell-with-environment): Fix
4589         remote/local environment setup.
4590         * test/automated/python-tests.el (python-shell-with-environment-1)
4591         (python-shell-with-environment-2): New tests.
4593 2015-07-06  Glenn Morris  <rgm@gnu.org>
4595         * lisp/simple.el (set-variable): Tweak recent doc fix.
4597 2015-07-06  Ken Brown  <kbrown@cornell.edu>
4599         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
4601 2015-07-06  Glenn Morris  <rgm@gnu.org>
4603         * lisp/simple.el (set-variable): Use user-error for type mismatch.
4605 2015-07-06  Ken Brown  <kbrown@cornell.edu>
4607         * src/emacs.c (main): Don't increase the stack size on Cygwin
4609 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4611         (describe-symbol): Rewrite describe-function-or-variable
4612         * lisp/help-fns.el (describe-symbol-backends): New var.
4613         (help-xref-stack-item): Declare.
4614         (describe-symbol): Rename from describe-function-or-variable.
4615         Rewrite using describe-symbol-backends instead of help-xref-interned.
4616         * lisp/help.el (help-map): Use it.
4617         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
4618         (help-xref-interned): Make it into an obsolete alias.
4620         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
4621         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
4622         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
4624 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
4626         Fix parsing glitches in dired-mark-sexp (bug#13575)
4627         * lisp/dired-x.el (dired-x--string-to-number): New function.
4628         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
4629         of directory-listing-before-filename-regexp.  Consider
4630         forward-word harmful and replace it.  Add more verbiage in
4631         comments and doc string.
4633 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4635         python.el: Respect process environment for remote shells
4636         * lisp/progmodes/python.el
4637         (python-shell-calculate-process-environment): Calculate
4638         process-environment or tramp-remote-process-environment depending
4639         whether current file is remote.
4640         (python-shell-calculate-exec-path): Calculate exec-path or
4641         tramp-remote-path depending whether current file is remote.
4642         (python-shell-with-environment): New macro.
4643         (python-shell-prompt-detect, python-shell-calculate-command)
4644         (python-shell-make-comint, python-check): Use it.
4646         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
4647         * lisp/progmodes/python.el (python-shell--interpreter)
4648         (python-shell--interpreter-args): New vars.
4649         (inferior-python-mode, python-shell-make-comint): Use them.
4651         python.el: Fixes for IPython 3.x  (Bug#20580)
4652         * lisp/progmodes/python.el:
4653         (python-shell-completion-native-setup): Fix IPython 3.x setup.
4654         (python-shell-completion-native-get-completions): Fix timeout
4655         logic.
4657         python.el: Fix mark-defun behavior  (Bug#19665)
4658         * lisp/progmodes/python.el: (python-mark-defun): New function.
4659         * test/automated/python-tests.el (python-mark-defun-1)
4660         (python-mark-defun-2, python-mark-defun-3): New tests.
4662 2015-07-05  Glenn Morris  <rgm@gnu.org>
4664         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
4665         such as "extends(parent), private".  (Bug#20969)
4666         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
4667         New tests.
4669 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4671         Avoid duplicate calls to current_timespec
4672         * src/process.c (wait_reading_process_output):
4673         Cache current_timespec results as long as we're not waiting.
4675 2015-07-05  Ian Kelling  <ian@iankelling.org>
4677         Avoid returning early reading process output due to SIGIO
4678         * src/process.c (wait_reading_process_output): Extend the behavior of
4679         not breaking due to not finding output when a timer has lowered the
4680         timeout to include when SIGIO lowers the timeout.
4682         Don't return as fast reading any process output
4683         * src/process.c (wait_reading_process_output):
4684         The patch for Bug#17647 returns too fast sometimes when reading
4685         from any processes. Revert part of it, and limit the timeout more
4686         sensibly (Bug#20978).
4688         Refactor timeouts in wait_reading_process_output
4689         * src/process.c (wait_reading_process_output):
4690         Simplify timeouts with an enum.  Remove a redundant condition.
4691         (Bug#20978)
4693         Remove ADAPTIVE_READ_BUFFERING ifdef
4694         * src/process.c (make-process, make-pipe-process, deactivate_process)
4695         (wait_reading_process_output, read_process_output, send_process)
4696         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
4697         added in case there was an operating system in which it was not
4698         useful.  That was 11 years ago and it hasn't happened.  Make
4699         development easier by not considering the effect of changes on a
4700         theoretical OS where this is disabled (Bug#20978).
4702 2015-07-05  Glenn Morris  <rgm@gnu.org>
4704         * lisp/simple.el (set-variable): Doc fix.
4706         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
4708 2015-07-05  Ian Kelling  <ian@iankelling.org>
4710         accept-process-output fix
4711         This is a followon to the fix for Bug#17647 (Bug#20976).
4712         * src/process.c (status_notify): Fix too high return in some cases.
4714 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4716         * lisp/character-fold.el (character-fold-table):
4717         Only fold decompositions if at least one character is non-spacing.
4718         (Bug#20975)
4720 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4722         Merge from gnulib
4723         This incorporates:
4724         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
4725         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
4726         2015-07-02 update-copyright: fix test failure with perl >= 5.22
4727         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
4728         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
4729         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
4730         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
4732 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
4734         Respect `prog-indentation-context' in python.el
4735         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
4736         (python-indent-context, python-indent--calculate-indentation)
4737         (python-info-current-defun)
4738         (python-info-dedenter-opening-block-message)
4739         (python-info-line-ends-backslash-p)
4740         (python-info-beginning-of-backslash)
4741         (python-info-continuation-line-p): Use `prog-widen'.
4742         (python-indent--calculate-indentation)
4743         (python-indent--calculate-levels)
4744         (python-indent-calculate-indentation): Use `prog-first-column'.
4745         (python-indent--calculate-levels): Simplify.
4746         Ignore also initial empty lines for syntax calculation.
4747         * lisp/progmodes/python.el (python-indent-context): Return
4748         :no-indent for first non-empty line, not just in line 1.
4749         * test/automated/python-tests.el (python-indent-base-case)
4750         (python-indent-inside-paren-1, python-indent-inside-paren-2)
4751         (python-indent-inside-paren-3, python-indent-inside-paren-4)
4752         (python-indent-inside-paren-5, python-indent-inside-paren-6)
4753         (python-indent-after-backslash-1)
4754         (python-indent-after-backslash-2)
4755         (python-indent-after-backslash-3)
4756         (python-indent-after-backslash-4, python-indent-inside-string-1):
4757         Expect :no-indent for first non-empty line.
4759 2015-07-04  Daniel Colascione  <dancol@dancol.org>
4761         Factor isearch word description into new function
4762         * lisp/isearch.el (isearch--describe-word-mode): New function.
4763         (isearch-message-prefix, isearch-query-replace): Use it.
4765 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
4767         Fix mouse pointer on w32 when a menu is active
4768         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
4769         shape while a menu is in use.  This started happening since we now
4770         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
4772 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
4774         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
4775         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
4776         parameter.  (Bug#17344)
4778         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
4779         * lisp/progmodes/compile.el (compilation-set-window): Take
4780         `window-fringes' from argument window.  (Bug#20829)
4782 2015-07-03  Glenn Morris  <rgm@gnu.org>
4784         Update eieio tests for recent eieio-core change.
4785         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
4786         * test/automated/eieio-tests.el
4787         (eieio-test-32-slot-attribute-override-2):
4788         Replace the deleted eieio--class-v with cl--find-class.
4790 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
4792         Fix some issues with `window-divider-mode'
4793         * lisp/frame.el (window-divider-default-places): New option.
4794         (window-divider-mode): Remove option.
4795         (window-divider-mode): Make it a "regular" minor mode.
4796         (window-divider-width-valid-p): Drop frame- prefix.
4797         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
4798         prefix.  Handle `window-divider-default-places'.
4799         (frame--window-divider-mode-set-and-apply): Remove.
4800         (window-divider-default-bottom-width)
4801         (window-divider-default-right-width): Drop :group entries.
4802         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
4803         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
4804         (menu-bar-no-window-divider): Set `window-divider-default-places'
4805         and call `window-divider-mode'.
4806         * doc/emacs/frames.texi (Window Dividers): Document
4807         `window-divider-default-places'.
4809 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
4811         Add cross references in documentation
4812         * doc/emacs/display.texi (Displaying Boundaries):
4813         * doc/emacs/search.texi (Word Search): Add cross references.
4815 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4817         -batch should not affect ‘’ -> `' display
4818         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
4819         -batch (Bug#20926).
4821 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
4823         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
4824         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
4825           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
4826         Use cl--find-class instead.
4828         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
4830 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
4832         Some further fixes in Change Window node.  (Bug#20183)
4833         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
4834         by "resizing" in section title.  Add some concept indices.
4835         Suggested by N. Jackson (Bug#20183).
4837         Reference window dividers in Change Window section.
4838         * doc/emacs/windows.texi (Change Window): Reference window
4839         dividers.
4841         Document new `window-divider-mode'.
4842         * lisp/frame.el (window-divider-mode): Fix doc-string.
4843         * doc/emacs/frames.texi (Window Dividers): New section.
4845         Improve accessibility of window dividers.  (Bug#20183)
4846         * lisp/faces.el (window-divider)
4847         (window-divider-first-pixel, window-divider-last-pixel): Change
4848         membership from `frames' to `window-divider' customization group.
4849         * lisp/frame.el (window-divider): New customization group.
4850         (window-divider-mode): New minor mode.
4851         (window-divider-default-bottom-width)
4852         (window-divider-default-right-width): New options.
4853         (frame--window-divider-previous-mode): New variable.
4854         (frame-window-divider-width-valid-p)
4855         (frame--window-divider-mode-apply)
4856         (frame--window-divider-mode-set-and-apply): New functions.
4857         * lisp/menu-bar.el (menu-bar-options-save): Save
4858         window-divider-mode settings.
4859         (menu-bar-window-divider-customize)
4860         (menu-bar-bottom-and-right-window-divider)
4861         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
4862         (menu-bar-no-window-divider): New functions.
4863         (menu-bar-showhide-window-divider-menu): New variable.
4864         (menu-bar-showhide-menu): Show/hide window divider menu.
4865         * lisp/mouse.el (mouse-split-window-vertically)
4866         (mouse-split-window-horizontally): Replace `error' by
4867         `user-error'.  Bind `window-combination-resize' to nil.
4868         (top-level): Add/reorder mouse key bindings on mode- and
4869         vertical-line.
4871 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4873         Don't display ‘’ as `' under X in en_GB
4874         The curved quote setup code invokes (char-displayable-p ?‘),
4875         but this isn’t reliable until after the X frame replaces the
4876         terminal frame (Bug#20926).
4877         * lisp/international/mule-cmds.el (set-locale-environment):
4878         Move curved quote setup code from here ...
4879         * lisp/startup.el (command-line): ... to here, after creating
4880         the X frame.
4882 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
4884         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
4886         Add argument to reverse the meaning of ido-restrict-to-matches
4887         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
4888         to reverse the meaning (Bug#15631).
4890 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
4892         Be more tolerant to fonts named "Foobar-12"
4893         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
4894         don't barf; instead, request a new fontset to be generated.  This
4895         avoids unnecessarily rejecting fonts named against XLFD rules.  See
4896         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
4897         for the description of the original problem.
4898         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
4899         by a hyphen in a font's name.
4901         Fix value of posn-at-pont in R2L lines
4902         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
4903         coordinate of -1, for a newline in a right-to-left line that
4904         overflowed into the left fringe.
4906 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
4908         (cl--copy-slot-descriptor): Copy the `props' alist as well
4909         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
4910         Rename from cl--copy-slot-descriptor.
4911         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
4913 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4915         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
4916         (xterm-query-timeout): New var.
4917         (xterm--query): Use it.  Fallback on async method if we timeout before
4918         getting the first byte of the reply (bug#12354).
4920 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4922         Spelling fixes
4924 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
4926         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
4928 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4930         In strings, prefer plain ` and ' to \` and \'
4931         * lisp/allout.el (allout-insert-listified):
4932         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
4933         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
4934         (ls-lisp-string-lessp):
4935         * lisp/menu-bar.el (menu-bar-open):
4936         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
4937         * lisp/progmodes/compile.el (compile):
4938         * lisp/progmodes/etags.el (tags-loop-scan):
4939         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
4940         * lisp/subr.el (posn-actual-col-row):
4941         * lisp/term/pc-win.el (x-list-fonts):
4942         * lisp/textmodes/texinfmt.el (texinfmt-version):
4943         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
4944         * lisp/time.el (display-time-world-list):
4945         * lisp/tmm.el (tmm-menubar):
4946         * src/buffer.c (syms_of_buffer):
4947         * src/fileio.c (syms_of_fileio):
4948         Omit unnecessary and confusing backslash before quote.
4949         * lisp/erc/erc.el (erc-cmd-LASTLOG):
4950         * lisp/progmodes/flymake.el (flymake-fix-file-name):
4951         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
4952         Fix string that was intended to escape a backslash and not a quote.
4954 2015-06-30  Glenn Morris  <rgm@gnu.org>
4956         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
4958         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
4959         Replace hard-coded lists with wildcard + filter-out.
4961         * configure.ac (system-configuration-features): Add X11, NS.
4963         Improve reproducibility of generated loaddefs file.
4964         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
4965         Make the return value the modtime of the input file (if no autoloads).
4966         (update-directory-autoloads): In the "no autoloads" section,
4967         use "most recent modtime" rather than "current time".
4969 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4971         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
4972         (Bug#20930)
4974 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
4976         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
4978         Add seq-min and seq-max
4979         Bump version number.
4980         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
4981         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
4983 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
4985         Make sure sleep-for always delays for as long as it's told
4986         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
4987         a loop, to ensure we always wait exactly the required amount of
4988         time.  (Bug#15990)
4990 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4992         Fix pointer signedness glitch
4993         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
4995 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
4997         Don't block changes in mouse pointer inside 'track-mouse'
4998         * etc/NEWS:
4999         * doc/lispref/frames.texi (Mouse Tracking): Document the special
5000         effect of setting 'track-mouse' to 'dragging'.
5001         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
5002         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
5003         * lisp/mouse-drag.el (mouse-drag-throw):
5004         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
5005         to avoid changes in the shape of the mouse pointer.
5006         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
5007         pointer shape when do_mouse_tracking has the value of 'dragging',
5008         not just any non-nil value.  (Bug#20934)
5009         (syms_of_xdisp): DEFSYM 'dragging'.
5011 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
5013         * lisp/isearch.el (isearch-toggle-word): Fix toggle
5015         * lisp/emacs-lisp/package.el (package-compute-transaction):
5016         Don't assume version sorting.
5018         * lisp/emacs-lisp/package.el (package--save-selected-packages):
5019         Don't save before init time, to avoid overwriting configurations.
5020         (Bug#20855)
5022 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
5024         Add cross references.
5025         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
5026         references.
5028 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
5030         cfengine.el: update for the upcoming CFEngine 3.7 release
5031         Update for the upcoming CFEngine 3.7 release: support macros and
5032         quoted context strings; reformat JSON; indent promise attributes 2
5033         units by default; give function parameter descriptions in the eldoc
5034         glue.
5035         * cfengine.el: Update version and docs and fix name.  Autoload
5036         `json-pretty-print'.  Support new features in 3.7.
5037         (cfengine-parameters-indent): Set default promise attribute indent to
5038         2 more than the promise itself.
5039         (cfengine3-macro-regex): New variable to match the new macro syntax.
5040         (cfengine3-font-lock-keywords): Use it to highlight macros.
5041         (cfengine3-indent-line): Use it to indent macros to column 0.
5042         (cfengine3-class-selector-regex): Update for the new quoted strings
5043         format.
5044         (cfengine3-reformat-json-string): New function to reformat a JSON
5045         string using `json-pretty-print'.
5046         (cfengine3-format-function-docstring): Use function parameter
5047         description if it's provided by the cf-promises syntax dump.
5049 2015-06-29  Michael R. Mauger  <michael@mauger.com>
5051         Cygwin emacsclient handles w32 file names
5053 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
5055         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
5057 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
5059         * doc/lispref/text.texi (Sticky Properties): Improve wording.
5060         (Bug#20924)
5062         Allow font names that end in "-NN", where NN is a number
5063         * src/font.c (font_load_for_lface): If the font-spec didn't match
5064         any available fonts, try again without interpreting trailing "-NN"
5065         as the font size.  For the description of the original problem, see
5066         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
5068         .gdbinit followup to changes in !USE_LSB_TAG
5069         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
5070         !USE_LSB_TAG, as Emacs no longer does.
5072 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
5074         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
5075         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
5077 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5079         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
5080         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
5082 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5084         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
5086         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
5088 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
5090         apropos-library quoting fix
5091         * lisp/apropos.el (apropos-library): Quote library consistently
5092         with the rest of the quoting used by apropos.
5094         Clarify interpreter-mode-alist doc
5095         * lisp/files.el (interpreter-mode-alist):
5096         Reword to avoid confusing quoting that wasn't working anyway.
5098 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
5100         Sync with Tramp 2.2.12
5101         * doc/misc/trampver.texi:
5102         * lisp/net/trampver.el: Update release number.
5103         * test/automated/tramp-tests.el (tramp-test13-make-directory):
5104         Fix cleanup.
5106 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5108         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
5109         (bug#20913)
5111 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
5113         Bind grep-highlight-matches around the rgrep call
5114         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
5115         around the rgrep call (bug#20728).
5117         Put "--color" before the other options in grep-command
5118         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
5119         before the other options in grep-command (bug#20912).
5121         Add --color Grep option to the command dynamically
5122         * lisp/progmodes/grep.el (grep-template, grep-find-template):
5123         Update the description for <C>.  (Bug#20728)
5124         (grep-compute-defaults): Don't add the --color option to
5125         grep-options.  Only add it to grep-command.
5126         (grep-expand-keywords): Expand the env value opts into <C>.
5127         (grep-expand-template): Replace cf in the env with the opts list,
5128         that can include -i and --color.
5129         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
5130         "--color=always" from the template, because we don't have to.
5132 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
5134         cl-extra fixes for most-negative-fixnum
5135         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
5136         Don't mishandle an argument equal to most-negative-fixnum,
5137         whose absolute value equals itself.
5138         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
5140         Initialize cl--gensym-counter to 0
5141         Previously it was initialized to a random value, which made it
5142         harder to reproduce earlier Emacs runs.  The need for a random
5143         value went away when Emacs introduced and used the #: syntax for
5144         uninterned symbols (Bug#20862).
5145         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
5146         Document that cl--gensym-counter now starts with 0.
5147         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
5148         (cl--random-time): Move to near only remaining use.
5149         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
5151         Improve docstring for macroexp-let2
5152         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
5153         Improve as per suggestion by RMS in:
5154         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
5155         Also, rename args to match new doc string.
5157 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
5159         Fix VC test suite on MS-Windows
5160         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
5161         always starts with 3 slashes after the colon.
5162         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
5163         'w32-application-type' to invoke CVS on MS-Windows with properly
5164         formatted CVSROOT directory name.
5166         Add a new function w32-application-type
5167         * src/w32proc.c (Fw32_application_type): New function.
5169         Avoid error in TLS connections due to incorrect format
5170         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
5171         the call to 'error', instead of the unsupported %u.  Reported by
5172         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
5174 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
5176         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
5178 2015-06-26  Leo Liu  <sdl.web@gmail.com>
5180         Fix indentation for with-output-to-string
5181         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
5182           `with-output-to-string' in elisp.
5183           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
5184           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
5186 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
5188         Minor corrections in ELisp manual
5189         * doc/lispref/nonascii.texi (Character Properties): Correct
5190         inaccuracies in description of values of the Unicode properties.
5192         Fix invisible mouse pointers on Windows.
5193         * src/w32fns.c: Include windowsx.h.
5194         (w32_wnd_proc): If the mouse moved and the mouse pointer is
5195         invisible, make it visible again even when the main (Lisp)
5196         thread is busy.
5197         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
5198         garbaging the frame have the input thread call SetCursor.
5200 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
5202         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
5203         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
5204         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
5205         * src/w32term.c (w32_hide_hourglass): Handle
5206         f->pointer_invisible.
5207         (w32_toggle_invisible_pointer): New function.
5208         (w32_create_terminal): Add w32_toggle_invisible_pointer as
5209         toggle_invisible_pointer_hook for this terminal.
5211 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
5213         Doc fix for deletion commands
5214         'delete-char' does not respect the value of 'delete-active-region'.
5215         * doc/emacs/killing.texi (Deletion):
5216         Fix documentation for some single-char deletion commands.
5218         * doc/emacs/help.texi (Apropos):
5219         Improve documentation of 'apropos-do-all'.
5221         * doc/emacs/help.texi (Help Summary):
5222         Improve documentation of 'describe-mode'.
5224 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5226         Fix submake dependency bug with .h files
5227         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
5228         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
5229         before the submake in $(libsrc) would spin off a subsubmake
5230         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
5232 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
5234         * lisp/character-fold.el (character-fold-table): Reuse `table'
5236 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5238         Translate undisplayable ‘ to `
5239         * doc/lispref/help.texi (Keys in Documentation):
5240         * lisp/international/mule-cmds.el (set-locale-environment):
5241         * lisp/term/w32console.el (terminal-init-w32console):
5242         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
5243         If ‘ is not displayable, transliterate it to `, not to '.  See:
5244         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
5246         Fix C99 incompatibilities in Cairo code
5247         * src/image.c (xpm_load) [USE_CAIRO]:
5248         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
5249         Fix pointer signedness problem.
5251 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
5253         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
5254         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
5255           `with-output-to-string' should have the same indent as `progn'.
5256           This is in line with the declaration of `with-output-to-string'.
5258 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5260         Get ‘./configure; make -C src emacs’ to work
5261         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
5262         * lib-src/Makefile.in (../lib/libgnu.a):
5263         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
5265 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
5267         Fix GC bugs --with-wide-int and Qnil == 0
5268         Use the same alignment for the !USE_LSB_TAG case as for the
5269         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
5270         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
5271         once we changed the representation of symbols so that Qnil == 0.
5272         Problem reported by Eli Zaretskii (Bug#20862).
5273         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
5274         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
5275         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
5276         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
5277         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
5278         This optimization in the !USE_LSB_TAG case is no longer valid when
5279         symbols are represented via offsets.  Change the only use to
5280         assume that pointers might hide in objects.
5281         * src/lisp.h (alignas) [!USE_LSB_TAG]:
5282         Require support in this case, too.
5283         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
5284         This is OK, because the !USE_LSB_TAG case now applies only when
5285         Lisp_Object is wider than void *, so there's no longer any need
5286         to shift the offset.  Not shifting the offset means that
5287         symbol representations have the same alignment as pointers,
5288         which the GC assumes.
5290 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
5292         * doc/lispintro/emacs-lisp-intro.texi (Data types):
5293         Improve documentation of 'substring'.
5295 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
5297         * lisp/character-fold.el (character-fold-table): Fix table generation
5299 2015-06-24  Glenn Morris  <rgm@gnu.org>
5301         * nextstep/Makefile.in (all): Make it the first target.
5302         (../src/emacs${EXEEXT}): Add rule for making it.
5304 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
5306         * etc/NEWS: Fix mention to old function name
5308         * lisp/character-fold.el: New file (Bug#20887)
5309         (character-fold-to-regexp): New function.
5310         * lisp/replace.el (replace-search): Check value of
5311         `character-fold-search'.
5312         * lisp/isearch.el: Move character-folding code to
5313         character-fold.el
5314         (isearch-toggle-character-fold): New command.
5315         (isearch-mode-map): Bind it to "\M-sf".
5316         (isearch-mode): Check value of `character-fold-search'.
5318 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5320         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
5321         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
5322         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
5324         * lisp/progmodes/xref.el: Avoid init-args in oref.
5325         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
5326         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
5328 2015-06-24  Glenn Morris  <rgm@gnu.org>
5330         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
5332 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5334         * lisp/gnus/nnmaildir.el: Silence lexical warnings
5335         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
5336         functional style.
5337         (nnmaildir--update-nov): Remove unused var `numdir'.
5338         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
5339         (nnmaildir-request-group, nnmaildir-request-create-group)
5340         (nnmaildir-request-post, nnmaildir-request-move-article)
5341         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
5342         (nnmaildir-get-new-mail, nnmaildir-group-alist)
5343         (nnmaildir-active-file): Declare.
5344         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
5345         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
5346         `mark', `end', `new-mark', and `mark-sym'.
5347         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
5348         `nlist2'.
5349         (nnmaildir-request-expire-articles):
5350         Remove unused vars `article', `stop' and `nlist2'.
5351         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
5352         `end'.  Use nnmaildir--article when dyn-binding is needed.
5353         Give the value directly in the `let' for `del-mark', `del-action',
5354         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
5355         (nnmaildir-close-server): Declare those local vars that need to be
5356         dyn-bound.
5358 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
5360         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
5362         Port selection info fix to clang
5363         * src/keyboard.h (kbd_buffer_store_event_hold):
5364         Don't assume C11 semantics for alignof (Bug#20756).
5366         Fix bug that munged selection info
5367         On some optimizing C compilers, copying a structure did not
5368         copy the padding bytes between elements, and the type punning
5369         between struct input_data and struct selection_input_data did
5370         not work.  Change the C code to use a proper union type instead.
5371         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
5372         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
5373         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
5374         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
5375         (mark_kboards):
5376         Use union buffered_input_event, not struct input_event.
5377         (clear_event, deliver_input_available_signal, process_special_events):
5378         Remove unnecessary forward decls.
5379         (kbd_buffer_store_buffered_event): New function, mostly just the
5380         old kbd_buffer_store_event_hold, except its argument is of type
5381         union buffered_input_event, not struct input_event.
5382         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
5383         not needed otherwise.  Argument is now of type
5384         struct selection_input_event *, not struct input_event *.
5385         All callers changed.
5386         (clear_event): Arg is now of type union buffered_input_event *,
5387         not struct input_event *.  All callers changed.
5388         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
5389         (union buffered_input_event): New type.
5390         (kbd_buffer_store_event_hold): Now an inline function,
5391         defined here.
5392         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
5393         (struct input_event): Use it.
5394         * src/xselect.c (struct selection_event_queue):
5395         Make elements be of type struct selection_input_event,
5396         not struct input_event.
5397         (selection_input_event_equal): New static function.
5398         (x_queue_event): Use it.
5399         (x_queue_event, x_decline_selection_request)
5400         (x_selection_current_request, x_reply_selection_request)
5401         (x_handle_selection_request, x_handle_selection_clear)
5402         (x_handle_selection_event): Use struct selection_input_event,
5403         not struct input_event.  All callers changed.
5404         (x_convert_selection): Omit unused first arg.  All callers changed.
5405         (Fx_disown_selection_internal): Omit unnecessary union.
5406         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
5407         rather than rolling our own equivalent.  Prefer sie.kind when
5408         setting up that kind of structure.
5409         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
5410         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
5411         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
5412         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
5413         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
5414         (SELECTION_EVENT_TIME, x_handle_selection_event):
5415         Arg is now of type struct selection_input_event *)
5416         not struct input_event *.  All callers changed.
5418 2015-06-23  Glenn Morris  <rgm@gnu.org>
5420         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
5422 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5424         * lisp/isearch.el: Fold many unicode characters to ASCII
5425         (isearch-character-fold-search, isearch--character-fold-extras)
5426         (isearch--character-fold-table): New variable.
5427         (isearch--character-folded-regexp): New function.
5428         (isearch-search-fun-default): Use them.
5429         * lisp/replace.el (replace-character-fold): New variable.
5430         (replace-search): Use it.
5431         * etc/NEWS: Document it.
5433 2015-06-23  Glenn Morris  <rgm@gnu.org>
5435         Check for an input event before showing a dialog box.  (Bug#20813)
5436         * lisp/subr.el (y-or-n-p):
5437         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
5438         as last-nonmenu-event.
5440 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
5442         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
5443         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
5444         (switch-to-prev-buffer, switch-to-next-buffer): Respect
5445         switch-to-visible-buffer independent of the windows history.
5447 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5449         * src/keyboard.c (last_timer_event): Remove unused var.
5451 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5453         * test/automated/package-test.el (package-test-update-listing):
5454         Fix test.
5456 2015-06-23  Glenn Morris  <rgm@gnu.org>
5458         Revert 2014-06-25 nextstep/Makefile change.
5459         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
5460         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
5461         not as an order-only prerequisite.
5463         * configure.ac (--with-ns): Enable by default on OS X.
5465 2015-06-23  Leo Liu  <sdl.web@gmail.com>
5467         Fix shell-for/backward-command to exclude spaces
5468         * lisp/shell.el (shell-forward-command, shell-backward-command):
5469           Handle the 'move case from re-search-forward/backward.
5470           fixes debbugs:20873
5472 2015-06-22  Juri Linkov  <juri@linkov.net>
5474         * lisp/replace.el (query-replace-read-from): Add separator to
5475         the local binding of text-property-default-nonsticky.  (Bug#20690)
5477         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
5478         (Bug#20785)
5480 2015-06-22  Ken Brown  <kbrown@cornell.edu>
5482         Enable CPU profiling on Cygwin
5483         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
5484         change that undefined this.
5485         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
5486         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
5487           Cygwin.
5489         Improve diagnostics of profiler-cpu-start
5490         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
5491         return -1 if the sampling interval is invalid.
5492         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
5493         fails.  (Bug#20843)
5495 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5497         * lisp/emacs-lisp/package.el: Exclude packages by name
5498         (package-hidden-regexps): New variable.
5499         (package-menu--refresh): Use it.
5500         (package-menu-hide-package): New command.
5502         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
5504 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
5506         Fix debug-timer-check on systems without HAVE_TIMERFD
5507         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
5508         the expired timers, since wait_reading_process_output doesn't.
5509         (debug_timer_callback): Enlarge the tolerance to 20 msec.
5511         Fix RCS crashes in vc-test
5512         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
5513         ports of 'ci' on MS-Windows by always passing the -t- switch.
5515 2015-06-22  Glenn Morris  <rgm@gnu.org>
5517         * doc/emacs/package.texi (Packages):
5518         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
5520         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
5522 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
5524         Port tests to help-quote-translation
5525         * test/automated/ert-x-tests.el (ert-test-describe-test):
5526         * test/automated/package-test.el (package-test-describe-package)
5527         (package-test-signed): Allow straight quotes, too.
5529 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
5531         Make find-function-on-key use the current window
5532         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
5533         Extract from `find-function-on-key', add a second argument.
5534         (find-function-on-key): Use it (bug#19679).
5535         (find-function-on-key-other-window)
5536         (find-function-on-key-other-frame): New commands.
5538 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
5540         Revert "Define `map-elt' as a generalized variable"
5541         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
5543 2015-06-21  Ken Brown  <kbrown@cornell.edu>
5545         Drop support for CPU profiling on Cygwin
5546         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
5547         (Bug#20843)
5549 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5551         Fix some “nested” quoting confusion in doc strings
5552         * lisp/emacs-lisp/advice.el (ad-map-arglists):
5553         * lisp/kermit.el (kermit-clean-on):
5554         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
5555         * src/keyboard.c (Frecursive_edit):
5556         Use curved quotes when quoting text containing apostrophe,
5557         so that the apostrophe isn't curved in the output.
5559 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
5561         Define `map-elt' as a generalized variable
5562         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
5563         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
5564         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
5565         `setf' with `map-elt'.
5566         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
5568 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
5570         Improve error handling in tramp-adb.el
5571         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
5572         Improve error handling.
5574 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
5576         Reuse `alist-get' in map.el
5577         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
5578         elements.
5580 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
5582         Fix bytecomp-tests--warnings when $TMPDIR has a long name
5583         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
5584         Allow the warning to begin on the 3rd, not only 2nd line, which
5585         happens if temporary-file-directory has a very long name.
5587         Expect 2 icalendar tests to fail on MS-Windows
5588         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
5589         (icalendar-real-world): Make them expected failures on MS-Windows.
5591 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5593         Improve port of settings UI to older displays
5594         * lisp/cus-start.el (standard): Don't assume curved quotes are
5595         easily distinguishable when users are tinkering with a setting
5596         that affects how curved quotes are generated.
5598         Fix quoting in electric-quote-mode doc string
5599         * lisp/electric.el (electric-quote-mode): Fix quoting.
5600         This is a fallout from the recent change introducing
5601         ‘help-quote-translation’.
5603         Spelling fix
5605         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
5607         * src/doc.c (syms_of_doc): Remove unused symbols.
5609 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
5611         In ‘window-state-put’ undedicate target window.  (Bug#20848)
5612         * lisp/window.el (window-state-put): Undedicate target window
5613         before putting STATE into it.  (Bug#20848)
5615 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5617         Merge from origin/emacs-24
5618         a5e6f33 Fixes: debbugs:20832
5619         b9f02cf Fixes: debbugs:20832
5621 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
5623         Fix file-in-directory-p when the directory is UNC
5624         * lisp/files.el (file-in-directory-p): Support files and
5625         directories that begin with "//".  (Bug#20844)
5627 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
5629         (Bug#20832)
5630         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
5631         in the minibuffer.
5633 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
5635         (Bug#20832)
5636         * lisp/calendar/todo-mode.el (todo-show): Signal an error
5637         if buffer for adding new todo file is empty but modified.
5639 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5641         (filepos-to-bufferpos): Further tweaks to the utf-16 code
5642         * lisp/international/mule-util.el (filepos-to-bufferpos):
5643         Fix typo.  Move non-exact check to the utf-16 branch (the only one
5644         affected).  Don't use byte-to-position for the utf-16 case.
5646 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
5648         Minor fixes in filepos-to-bufferpos
5649         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
5650         test for utf-8-emacs.  Exempt single-byte encodings from the
5651         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
5652         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
5653         UTF-16 encoded files for CR-LF EOLs.
5655 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5657         Improve the optional translation of quotes
5658         Fix several problems with the recently-added custom variable
5659         help-quote-translation where the code would quote inconsistently
5660         in help buffers.  Add support for quoting 'like this', which
5661         is common in other GNU programs in ASCII environments.  Change
5662         help-quote-translation to use more mnemonic values: values are now the
5663         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
5664         traditional Emacs help-buffer quoting style `like this'.  Change the
5665         default behavior of substitute-command-keys to match what's done in
5666         set-locale-environment, i.e., quote ‘like this’ if displayable,
5667         'like this' otherwise.
5668         * doc/lispref/help.texi (Keys in Documentation): Document
5669         new behavior of substitute-command-keys, and document
5670         help-quote-translation.
5671         * doc/lispref/tips.texi (Documentation Tips):
5672         Mention the effect of help-quote-translation.
5673         * etc/NEWS: Mention new behavior of substitute-command-keys,
5674         and merge help-quote-translation news into it.
5675         When talking about doc strings, mention new ways to type quotes.
5676         * lisp/cedet/mode-local.el (overload-docstring-extension):
5677         Revert my recent change to this function, which shouldn't be
5678         needed as the result is a doc string.
5679         * lisp/cedet/mode-local.el (mode-local-print-binding)
5680         (mode-local-describe-bindings-2):
5681         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5682         * lisp/cus-theme.el (describe-theme-1):
5683         * lisp/descr-text.el (describe-text-properties-1, describe-char):
5684         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
5685         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
5686         (eieio-help-constructor):
5687         * lisp/emacs-lisp/package.el (describe-package-1):
5688         * lisp/faces.el (describe-face):
5689         * lisp/help-fns.el (help-fns--key-bindings)
5690         (help-fns--compiler-macro, help-fns--parent-mode)
5691         (help-fns--obsolete, help-fns--interactive-only)
5692         (describe-function-1, describe-variable):
5693         * lisp/help.el (describe-mode):
5694         Use substitute-command-keys to ensure a more-consistent quoting
5695         style in help buffers.
5696         * lisp/cus-start.el (standard):
5697         Document new help-quote-translation behavior.
5698         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
5699         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
5700         (help-xref-url-regexp):
5701         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
5702         * lisp/wid-edit.el (widget-documentation-link-regexp):
5703         Also match 'foo', in case we're in a help buffer generated when
5704         help-quote-translation is ?'.
5705         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
5706         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
5707         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
5708         (Fsubstitute_command_keys): Document and implement new behavior.
5709         (Vhelp_quote_translation): Document new behavior.
5711 2015-06-18  Glenn Morris  <rgm@gnu.org>
5713         * lisp/cus-start.el (help-quote-translation): Add :version.
5715         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
5717 2015-06-18  Alan Mackenzie  <acm@muc.de>
5719         Make translation of quotes to curly in doc strings optional.
5720         src/doc.c (traditional, prefer-unicode): new symbols.
5721         (help-quote-translation): new variable.
5722         (Fsubstitute_command_keys): make translation of quotes dependent on
5723         `help-quote-translation'; also translate curly quotes back to ASCII
5724         ones.
5725         lisp/cus-start.el (top-level): Add a customization entry for
5726         `help-quote-translation'.
5728 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
5730         * lisp/emacs-lisp/package.el: Don't always propagate async errors
5731         (package--with-work-buffer-async): Only propagate the error if the
5732         callback returns non-nil.
5733         (package--download-one-archive): Return nil on the signature
5734         checking callback if we accept unsigned.
5735         (package--download-and-read-archives): Return non-nil on the
5736         archive download callback.
5738 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
5740         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
5741         * src/nsfns.m (Fx_create_frame):
5742         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
5743         image_cache_refcount before first x_default_parameter call.
5745 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
5747         Improve and extend filepos-to-bufferpos
5748         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
5749         Don't barf if F returns nil for some argument.
5750         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
5751         that every encoding of type 'charset' is single-byte.
5753 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
5755         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
5756         Properly delete packages.  (Bug#20836)
5758 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
5760         Update data files from just-released Unicode 8.0
5761         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
5762         status.
5763         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
5764         * admin/unidata/BidiMirroring.txt:
5765         * admin/unidata/BidiBrackets.txt:
5766         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
5768 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
5770         Document curved quotes a bit better
5771         * doc/emacs/basic.texi (Inserting Text):
5772         Mention C-x 8.  Change example to use curved quote rather
5773         than infinity, as this lets us give more ways to do it.
5774         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
5775         and quotation marks.
5776         * doc/emacs/text.texi (Quotation Marks):
5777         * doc/lispref/tips.texi (Documentation Tips):
5778         Add "curly quotes" and "curved quotes" to the index.
5779         * doc/emacs/text.texi (Quotation Marks):
5780         Give the C-x 8 shorthands for curved quotes.
5781         Cross-reference to "Quotation Marks".
5783 2015-06-17  Daiki Ueno  <ueno@gnu.org>
5785         Add pinentry.el for better GnuPG integration
5786         * lisp/pinentry.el: New file.
5787         * etc/NEWS: Add entry about pinentry.el.
5788         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
5789         (Bug#20550)
5791 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5793         * lisp/emacs-lisp/package.el: Slightly better error reporting.
5795 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
5797         (define-minor-mode): Use setq-default for :global minor modes
5798         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
5799         Use setq-default for :global minor modes (bug#20712).
5801 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
5803         Avoid infloop in redisplay with tall images
5804         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
5805         down near ZV.  (Bug#20808)
5806         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
5807         instead of CHARPOS.
5809 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5811         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
5812         Fix error reporting.
5814         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
5816         * lisp/emacs-lisp/package.el: Revert buffer after any operation
5817         Call `package-menu--post-refresh' after any operation that changes
5818         the package database (`package-install' and `package-delete').  To
5819         avoid performance issues in large transactions, these functions
5820         add `post-refresh' to `post-command-hook' instead of calling it
5821         immediately.
5822         (package-menu--mark-or-notify-upgrades): New function.
5823         (list-packages): Add it to `package--post-download-archives-hook'.
5824         (package-menu--post-refresh): Lose the upgrade-checking code, add
5825         code to remove itself from `post-command-hook'.
5826         (package-install, package-delete): Add it to `post-command-hook'.
5827         (package-menu-execute): Don't call `package-menu--post-refresh'.
5829 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
5831         Add missing function xref-location-group for elisp-mode.
5832         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
5834 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
5836         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
5837         The behavior now matches the description in the manual.  (Bug#20783)
5839 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
5841         Update tutorials/TUTORIAL.cn
5842         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
5844 2015-06-17  Glenn Morris  <rgm@gnu.org>
5846         Generate char-script-table from Unicode source.  (Bug#20789)
5847         * admin/unidata/Makefile.in (AWK): New, set by configure.
5848         (all): Add charscript.el.
5849         (blocks): New variable.
5850         (charscript.el, ${unidir}/charscript.el): New targets.
5851         (extraclean): Also remove generated charscript.el.
5852         * admin/unidata/blocks.awk: New script.
5853         * admin/unidata/Blocks.txt: New data file, from unicode.org.
5854         * lisp/international/characters.el: Load charscript.
5855         * src/Makefile.in (charscript): New variable.
5856         (${charscript}): New target.
5857         (${lispintdir}/characters.elc): Depend on charscript.elc.
5858         (temacs$(EXEEXT)): Depend on charscript.
5860         * lisp/international/characters.el (char-script-table): Tweak
5861         some ranges to better match the source.  (Bug#20789#17)
5863         Remove "no-byte-compile: t" from a few files.
5864         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
5865         * lisp/obsolete/patcomp.el: No reason not to compile these.
5867 2015-06-16  Glenn Morris  <rgm@gnu.org>
5869         Fix some typos in copied Unicode data.  (Bug#20789)
5870         * lisp/international/characters.el (char-script-table):
5871         * lisp/international/fontset.el (script-representative-chars)
5872         (setup-default-fontset): Fix typos.
5874         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
5875         Don't print filename twice (it's in the prefix now).
5877         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
5878         No longer needed.
5880         Address a compilation warning.
5881         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
5882         Replace 't' with '_' in pcase.
5884         Address some check-declare warnings.
5885         * lisp/simple.el (tabulated-list-print):
5886         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
5887         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
5888         (ns-get-selection): Update declarations.
5890         Address some compilation warnings.
5891         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
5892         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
5893         Replace 't' with '_' in pcase.
5895         Address some compilation warnings.
5896         * lisp/face-remap.el (text-scale-adjust):
5897         * lisp/menu-bar.el (popup-menu-normalize-position):
5898         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
5899         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
5900         * lisp/emacs-lisp/generator.el (cps--transform-1):
5901         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
5902         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
5903         * lisp/progmodes/octave.el (octave-goto-function-definition)
5904         (octave-find-definition-default-filename):
5905         Replace 't' with '_' in pcase.
5907         * lisp/emacs-lisp/pcase.el (pcase--u1):
5908         Paper-over today's bootstrap failure.
5910 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
5912         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
5914         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
5916         Better confirmation message in `find-alternate-file' (Bug#20830)
5917         * lisp/files.el (find-alternate-file'): Improve the confirmation
5918         message to show the buffer name.
5920         Better docstring for null. (Bug#20815)
5921         * src/data.c (null): Improves the docstring, saying what null returns
5922         when OBJECT is non-nil.
5924 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5926         * lisp/net/newst-treeview.el: Use lexical-binding.
5928         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
5929         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
5930         New auxiliary function, extracted from filepos-to-bufferpos.
5931         Make sure it terminates.
5932         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
5933         Add support for the `exact' quality.
5935 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
5937         Identify feeds in newsticker treeview with :nt-feed property
5938         * lisp/net/newst-treeview.el:
5939         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
5941 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5943         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
5944         (pcase--self-quoting-p): Floats aren't self-quoting.
5945         (pcase): Tweak docstring.
5946         (pcase--u1): Deprecate the t pattern.  Improve error detection for
5947         the nil pattern.
5948         (\`): Tweak docstring.  Signal an error for unrecognized cases.
5949         (bug#20784)
5951 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
5953         Fix infloop in filepos-to-bufferpos
5954         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
5955         offset calculation, and make it conditional on the eol-type of the
5956         file's encoding.  (Bug#20825)
5958 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
5960         Fix handling of image cache refcounts.  (Bug#20802)
5961         This backports Eli Zaretskii's solution of this problem for W32
5962         to X and NS.
5963         * src/nsfns.m (image_cache_refcount): Define unconditionally.
5964         (unwind_create_frame): If the image cache's reference count
5965         hasn't been updated yet, do that now.
5966         (Fx_create_frame): Set image_cache_refcount unconditionally.
5967         * src/xfns.c (image_cache_refcount): Define unconditionally.
5968         (unwind_create_frame): If the image cache's reference count
5969         hasn't been updated yet, do that now.
5970         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
5971         unconditionally.
5972         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
5973         X and NS.
5975 2015-06-16  Nils Ackermann  <nils@ackermath.info>
5977         Improve reftex-label-regexps default value
5978         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
5979         keyvals label regexp more strict to better cope with unbalanced
5980         brackets common in math documents.
5982 2015-06-16  Glenn Morris  <rgm@gnu.org>
5984         * doc/emacs/calendar.texi (Format of Diary File):
5985         Move "nonmarking" from here...
5986         (Displaying the Diary): ... to here.
5988         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
5989         Swap the order of these nodes.
5990         * doc/emacs/emacs.texi: Update detailed menu for the above change.
5992         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
5993         Update date of examples.
5994         (Diary, Format of Diary File): Move example from former to latter.
5995         Reduce duplication.
5997         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
5998         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
5999         Don't set no-byte-compile in the outputs.
6000         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
6002 2015-06-15  Glenn Morris  <rgm@gnu.org>
6004         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
6005         * doc/emacs/calendar.texi (Diary, Format of Diary File):
6006         Update for above diary-file change.
6007         : * etc/NEWS: Mention this.
6009         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
6010         (apply-macro-to-region-lines): Use user-error.
6012         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
6013         (pages-directory-for-addresses): Doc fixes.
6015 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6017         * lisp/info.el: Cleanup bytepos/charpos issues
6018         * lisp/international/mule-util.el: Use lexical-binding.
6019         (filepos-to-bufferpos): New function.
6020         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
6021         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
6022         (Info-read-subfile, Info-search): Use 0-based file positions.
6024         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
6025         (perl--syntax-exp-intro-keywords): New var.
6026         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
6027         (bug#20800).
6029 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
6031         Fix quoting when making derived mode docstring
6032         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
6033         Nest regexp-quote inside format, not the reverse.
6034         Problem reported by Artur Malabarba in:
6035         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
6037 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
6039         Fix current-iso639-language on MS-Windows
6040         * lisp/international/mule-cmds.el (set-locale-environment):
6041         Downcase the locale name before interning it.  This is so the
6042         'current-iso639-language' on MS-Windows matches the ':lang'
6043         property of font-spec objects.
6045         Limit Symbola usage some more
6046         * lisp/international/fontset.el (setup-default-fontset): Limit
6047         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
6048         (Bug#20727)
6050 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
6052         * lisp/emacs-lisp/map.el (map-let): Better docstring.
6054 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
6056         Spelling fixes
6058 2015-06-14  Glenn Morris  <rgm@gnu.org>
6060         * lisp/version.el (emacs-repository-version-git): Demote errors.
6061         Check result is a hash.
6063 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
6065         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
6066         Catch errors that happen before going async.  (Bug#20809)
6068 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
6070         Another improvement of documentation of set-fontset-font
6071         * doc/lispref/display.texi (Fontsets): Say explicitly that
6072         CHARACTER can be a single codepoint.
6073         * src/fontset.c (Fset_fontset_font): Doc fix.
6075         Another improvement for symbol and punctuation characters
6076         * lisp/international/fontset.el (setup-default-fontset): Exclude
6077         from Symbola character ranges for symbols and punctuation covered
6078         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
6079         installed and where its coverage of symbols and punctuation is
6080         known to be good.  (Bug#20727)
6082 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
6084         Some generic support for multi-mode indentation.
6085                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
6086                 variable.
6087                 (prog-first-column, prog-widen): New convenience functions.
6089 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
6091         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
6092         Don't assume that `tabulated-list-printer' will leave point at the
6093         end of the buffer.  (Bug#20810)
6095 2015-06-13  Glenn Morris  <rgm@gnu.org>
6097         Tweaks for getting repository version; a bit more like it was for bzr.
6098         * lisp/version.el (emacs-repository-version-git)
6099         (emacs-repository--version-git-1): New functions,
6100         split from emacs-repository-get-version.
6101         (emacs-repository-get-version): Make the second argument meaningful.
6103         * lisp/startup.el (command-line-1): Inform if skipping relative
6104         file names due to deleted PWD.
6106         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
6107         when starup directory is missing.  (Bug#18851)
6108         (errno.h): Include it.
6110 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
6112         Better fix for documenting `X as "`X"
6113         Fix suggested by Stefan Monnier.
6114         * lisp/help-fns.el (help-fns--signature):
6115         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
6116         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
6117         Don't treat `X specially, as help-fns--signature now handles this.
6119 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
6121         Improve the default fontset when Symbola is not installed
6122         * lisp/international/fontset.el (setup-default-fontset): Only
6123         prepend Symbola and FreeMono font specs for symbols and
6124         punctuation; do not replace the default spec for them.  This
6125         should have better results when Symbola/FreeMono are not
6126         installed.  (Bug#20727)
6128         Improve documentation of ':lang' in font specs
6129         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
6130         use of the ':lang' property of the font spec.
6131         * doc/emacs/frames.texi (Fonts): Document the language names that
6132         can be in the STYLE part of XLFD.
6133         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
6134         property.
6136         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
6138         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
6140         Revert last change in fontset.el
6141         * lisp/international/fontset.el (setup-default-fontset): Revert
6142         the change "Configure Symbola font only if installed", since font
6143         search is evidently not yet set up when this function is called.
6144         (Bug#20727)
6146 2015-06-12  Glenn Morris  <rgm@gnu.org>
6148         Ensure early startup warnings are visible at the end.  (Bug#20792)
6149         * lisp/emacs-lisp/warnings.el (display-warning):
6150         If startup isn't complete, delay the warning.
6151         * lisp/startup.el (normal-top-level, command-line):
6152         Let display-warning automatically handle the needed delays.
6153         Run delayed-warnings-hook.
6155         * lisp/version.el (emacs-repository-get-version):
6156         Avoid calling external executable if possible.  (Bug#20799)
6158 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
6160         Document `X as "`X", not as "(` X)"
6161         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
6162         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
6164         * src/print.c (print_object): Minor simplification.
6166 2015-06-12  Glenn Morris  <rgm@gnu.org>
6168         * src/buffer.c (init_buffer): Add final newline to message.
6170 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
6172         Configure Symbola font only if installed
6173         * lisp/international/fontset.el (setup-default-fontset):
6174         Don't specify the Symbola font if it's not installed.
6175         Likewise for FreeMono.  (Bug#20727)
6177 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
6179         Configure Symbola font only for symbols and punctuation
6180         * lisp/international/fontset.el (setup-default-fontset): Leave
6181         only symbols and punctuation in the fontset setup for Symbola
6182         font; remove "Greek and Coptic" and "Cyrillic Supplement".
6183         (Bug#20798)
6185 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
6187         Fix crash in fontset-info
6188         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
6189         non-nil.
6191 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
6193         Port to Solaris 10 sparc + Sun C 5.13
6194         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
6195         Adjust to process.c change.
6196         * src/process.c (create_process): Declare volatile variables at
6197         top level of this function, so that they're less likely to be
6198         reused later in the function in the code executed by the vforked
6199         child.  Do not declare locals used only in the vforked child, as
6200         they might share memory with locals still live in the parent.
6201         Instead, use the same variables in the child as in the parent.
6202         This works around a subtle bug that causes a garbage collector
6203         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
6205 2015-06-12  Glenn Morris  <rgm@gnu.org>
6207         * lisp/startup.el (normal-top-level): Don't let *Messages* get
6208         a nil default-directory.
6210 2015-06-11  Glenn Morris  <rgm@gnu.org>
6212         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
6214         Some progress towards starting with PWD deleted.  (Bug#18851)
6215         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
6216         * lisp/startup.el (normal-top-level, command-line-1):
6217         * lisp/minibuffer.el (read-file-name-default):
6218         Handle default-directory being nil.
6220 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6222         Fix "not a tty" bug on Solaris 10
6223         * configure.ac (PTY_OPEN): Define to plain 'open'
6224         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
6225         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
6226         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
6227         hosts that call grantpt which does its work via a setuid subcommand
6228         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
6229         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
6230         seems relevant in that case too.
6232 2015-06-11  Juri Linkov  <juri@linkov.net>
6234         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
6235         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
6236         (Bug#20785)
6238 2015-06-11  Glenn Morris  <rgm@gnu.org>
6240         * lisp/international/characters.el (char-script-table): Fix typo.
6242 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6244         Fix quoting of help for functions with odd names
6245         While investigating Bug#20759, I discovered other quoting problems:
6246         C-h f mishandled characters like backslash and quote in function names.
6247         This fix changes the behavior so that 'C-h f pcase RET' now
6248         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
6249         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
6250         in src/lread.c's read1 function says that the backslash will be
6251         needed starting in Emacs 25, which implies that 'format' is
6252         correct and the old pcase documention was wrong to omit the backslash.
6253         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
6254         * lisp/help-fns.el (help-fns--signature):
6255         * lisp/help.el (help-add-fundoc-usage):
6256         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
6257         Use help--make-usage-docstring rather than formatting
6258         help-make-usage.
6259         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
6260         Return raw docstring.
6261         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
6262         raw docstring.  Take more care to distinguish raw from cooked dstrings.
6263         (describe-function-1): Let help-fns--signature substitute
6264         command keys.
6265         * lisp/help.el (help--docstring-quote): New function.
6266         (help-split-fundoc): Use it, to quote funny characters more
6267         systematically.
6268         (help--make-usage): Rename from help-make-usage, since this
6269         should be private.  Leave an obsolete alias for the old name.
6270         (help--make-usage-docstring): New function.
6271         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
6273 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6275         * lisp/thingatpt.el (in-string-p): Revert last change,
6276         since in-string-p is not used in thingatpt.el but only from outside.
6277         Also, use lexical binding.
6279 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6281         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
6282         * test/automated/let-alist.el (let-alist-cons): Test it.
6284 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6286         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
6288 2015-06-10  Glenn Morris  <rgm@gnu.org>
6290         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
6292         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
6293         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
6294         * admin/gitmerge.el (gitmerge-commit-message):
6295         Exclude "skipped" messages from ChangeLog once again.
6297         Slight namespace cleanup for thingatpt.el.
6298         * lisp/thingatpt.el (thing-at-point--in-string-p)
6299         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
6300         (thing-at-point--read-from-whole-string): Rename from
6301         old versions without "thing-at-point--" prefix.
6302         Keep old versions as obsolete aliases.  Update all uses.
6304         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
6305         Move requiring of finder from here...
6306         (checkdoc-package-keywords): ... to here.
6308         Use 'user-error' in a few calendar files.
6309         * lisp/calendar/appt.el (appt-add):
6310         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
6311         (calendar-generate):
6312         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
6313         Replace 'error' with 'user-error'.
6315         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
6317         * lisp/files-x.el (add-file-local-variable):
6318         Special-case 'lexical-binding'.  (Bug#20641)
6320         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
6321         No longer autoload.
6322         * doc/misc/autotype.texi (Executables):
6323         Undocument executable-self-display.
6325         * lisp/progmodes/executable.el (executable-self-display):
6326         Use non-obsolete tail syntax.  (Bug#20779)
6327         (executable-self-display): Doc update.
6329 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6331         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
6332         (finder-known-keywords): Silence byte-compiler.
6334 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6336         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
6338         * lisp/progmodes/sh-script.el: Better handle nested quotes
6339         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
6340         (sh-font-lock-quoted-subshell): Make sure double quotes within single
6341         quotes don't mistakenly end prematurely the surrounding string.
6343         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
6345 2015-06-09  Glenn Morris  <rgm@gnu.org>
6347         * test/automated/Makefile.in (ELFILES): Sort.
6349         * Makefile.in (SUBDIR_MAKEFILES):
6350         * lwlib/Makefile.in (WARN_CFLAGS):
6351         Use built-in Make functions rather than echo+sed.
6353 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
6355         Update char-script-table
6356         * lisp/international/characters.el (char-script-table): Update
6357         from Unicode 8.0 Draft.
6359         Improve font selection for punctuation and other symbols
6360         * src/fontset.c (face_for_char): If the character's script is
6361         'symbol', and the font used for ASCII face has a glyph for it, use
6362         the font for the ASCII face instead of searching the fontsets.
6363         This comes instead of NS-specific code that used the current
6364         face's font instead, which is now disabled due to undesirable
6365         consequences.  (Bug#20727)
6367 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
6369         Skip past `#' to find BEG
6370         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
6371         past `#' to find BEG (bug#20771).
6372         * test/automated/elisp-mode-tests.el
6373         (elisp-completes-functions-after-hash-quote): New test.
6375 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
6377         Fix compilation warning/error in --without-x builds
6378         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
6379         code on HAVE_WINDOW_SYSTEM.
6381         Improve the default fontset wrt symbols
6382         * lisp/international/fontset.el (setup-default-fontset): Better
6383         setup of fontset-default for symbols: use Symbola and FreeMono.
6384         (Bug#20727)
6386 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
6388         Add new command checkdoc-package-keywords
6389         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
6390           defcustom.
6391         (checkdoc-list-of-strings-p): Add doc.
6392         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
6393         non-nil, call `checkdoc-package-keywords'.
6394         (checkdoc-get-keywords): New defun.
6395         (checkdoc-package-keywords): New command. Warns if the current file
6396         has package.el-style keywords that aren't in `finder-known-keywords'.
6397         * etc/NEWS: Add entry.
6399 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
6401         Avoid crashes when key-binding is called from a timer
6402         * src/keymap.c (Fkey_binding): Don't segfault if called with an
6403         empty vector as KEY.  (Bug#20705)
6405         Fix a thinko in arc-mode.el
6406         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
6407         non-Zip64 case.  (Bug#20769)
6409 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
6411         * lisp/emacs-lisp/package.el (package-delete): Make interactive
6413 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
6415         checkdoc.el (checkdoc-file): New function
6416         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
6417           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
6418           to the standard output.
6419         (bug#20754)
6421 2015-06-07  Glenn Morris  <rgm@gnu.org>
6423         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
6425         * src/font.c (syms_of_font) <font-log>: Doc fix.
6427         Remove the obsolete leading "*" from some C doc strings.
6428         * src/coding.c (syms_of_coding):
6429         * src/font.c (syms_of_font): Remove leading "*" from docs.
6430         * lisp/cus-start.el (enable-character-translation): Add it.
6432 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
6434         Move gen_origin from program to data
6435         That way, 'make change-history' needs to change only ChangeLog.2,
6436         instead of having to change two files.
6437         * ChangeLog.2: Add commit info for range that this file covers.
6438         * Makefile.in (new_commit_regexp): New macro.
6439         (change-history-nocommit): Simplify, by putting what used to be
6440         the gen_origin value into the data (ChangeLog.2) rather than
6441         into the program (gitlog-to-emacslog).
6442         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
6443         the input file (e.g., ChangeLog.2) rather than by having a
6444         constant in the program.  Substitute it into the output.
6446 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
6448         Escape any quotes in the function name
6449         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
6450         function name (bug#20759).
6452 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
6454         Adapt 'struct timespec' to next release of MinGW runtime
6455         * nt/inc/ms-w32.h (struct timespec): Don't declare if
6456         __struct_timespec_defined is defined.
6458 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
6460         Merge from gnulib
6461         This incorporates:
6462         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
6463         2015-06-05 stdio: Don't redefine gets when using C++
6464         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
6465         2015-06-02 file-has-acl: fix build on Mac OS X 10
6466         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
6467         2015-06-01 pthread_sigmask: discount system version if a simple macro
6468         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
6469         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
6470         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
6471         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
6472         * lib/gnulib.mk: Regenerate.
6474 2015-06-06  Juri Linkov  <juri@linkov.net>
6476         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
6477         before calling grep-compute-defaults because now it affects the
6478         command lines computed in grep-compute-defaults. (Bug#20728)
6480 2015-06-06  Glenn Morris  <rgm@gnu.org>
6482         Address some compilation warnings.
6483         * lisp/international/mule-cmds.el (w32-get-console-codepage)
6484         (w32-get-console-output-codepage):
6485         * lisp/progmodes/elisp-mode.el (xref-collect-references):
6486         * lisp/version.el (cairo-version-string): Declare.
6487         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
6489 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
6491         Fix display when a font claims large values of ascent and descent
6492         This fixes bug#20628.
6493         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
6494         coordinate of a hollow cursor glyph when the original glyph's
6495         ascent is too small.
6496         (get_font_ascent_descent, normal_char_ascent_descent)
6497         (normal_char_height): New functions.
6498         (handle_single_display_spec, append_space_for_newline)
6499         (calc_pixel_width_or_height, produce_stretch_glyph)
6500         (calc_line_height_property): Use normal_char_ascent_descent and
6501         normal_char_height.
6502         (x_produce_glyphs): When font-global values of ascent and descent
6503         are too large, use per-character glyph metrics instead, if
6504         possible.  But don't allow the glyph row's ascent and descent
6505         values become smaller than the values from the metrics of the
6506         font's "normal" character.
6507         * src/xftfont.c (xftfont_draw):
6508         * src/w32font.c (w32font_draw): Correct the values of ascent and
6509         descent used to draw glyphless characters' hex code in a box.
6510         * src/xterm.c (x_draw_glyph_string_background):
6511         * src/xdisp.c (x_produce_glyphs):
6512         * src/w32term.c (x_draw_glyph_string_background):
6513         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
6514         to detect fonts whose global ascent and descent values are too
6515         large to be used in layout decision, and redraw the background
6516         when that happens.
6517         * src/dispextern.h (FONT_TOO_HIGH): New macro.
6518         (get_font_ascent_descent): Add prototype.
6519         * src/xterm.c (x_new_font):
6520         * src/w32term.c (x_new_font):
6521         * src/nsterm.m (x_new_font):
6522         * src/font.c (font_open_entity):
6523         * src/composite.c (composition_gstring_width): Use
6524         get_font_ascent_descent to obtain reasonable values for ascent and
6525         descent of a font.
6527 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
6529         Add assertion in adjust_point_for_property
6530         * src/keyboard.c (adjust_point_for_property): Add eassert for
6531         current buffer being shown in selected window.
6533 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
6535         Replace uses of in-string-p; make it obsolete
6536         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
6537         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
6539 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
6541         Fix Dired display of an explicit list of files by ls-lisp.el
6542         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
6543         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
6544         correct for when displaying individual files separately, not as
6545         part of listing a directory, in which case these values are not
6546         recomputed by 'ls-lisp-insert-directory', but used verbatim.
6548         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
6550 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
6552         Do not adjust point in a non-selected window
6553         * src/keyboard.c (command_loop_1): Do not adjust point when
6554         current buffer is not shown in selected window (Bug#20590).
6556         * etc/DEBUG: Mention 'maybe_call_debugger'
6558 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
6560         Fix a unit test for map.el
6561         * test/automated/map-tests.el (test-map-let): Fix the test to work
6562         with the new syntax of `map-let'.
6564         * lisp/emacs-lisp/map.el (map-let): Better docstring.
6566         Better syntax for the map pcase pattern
6567         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
6568         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
6570         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
6572         Fix a byte-compiler error in map-put and map-delete
6573         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
6574         called with a symbol.
6576 2015-06-05  Glenn Morris  <rgm@gnu.org>
6578         * admin/gitmerge.el (gitmerge-commit-message):
6579         Revert to including "skipped" messages in ChangeLog once again.
6581 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
6583         Use string> instead of equiv lambda with string<
6584         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
6585         lambda with string<.
6587 2015-06-05  Glenn Morris  <rgm@gnu.org>
6589         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
6590         (map--delete-array): Fix typo.
6592         * test/automated/map-tests.el: Replace "assert" with "should".
6594         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
6595         (SUBDIRS_REL): Derive from SUBDIRS.
6597         Tweak some build messages.
6598         * lisp/Makefile.in ($(lisp)/loaddefs.el):
6599         * lisp/cus-dep.el (custom-make-dependencies):
6600         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
6601         * lisp/international/titdic-cnv.el (batch-titdic-convert):
6602         Don't say how to compile.
6604 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
6606         Omit U+0332 COMBINING LOW LINE in previous change
6607         It turns out that it does not work on Ubuntu 15.04.
6609         Fix transliteration of Bahá'í months
6610         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
6611         Improve quality of Latin transliteration of Bahá'í month names.
6613         Fix curved quotes in a few places
6614         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
6615         The strings in question are not doc strings, so this partially
6616         undoes the recent change that assumed they were doc strings.
6617         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
6618         * lisp/info.el (Info-finder-find-node):
6619         Use curved quotes.
6620         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
6621         Also allow curved quotes in doc strings.
6623 2015-06-04  Glenn Morris  <rgm@gnu.org>
6625         * lisp/Makefile.in (AM_V_at): Add missing definition.
6627         * lisp/Makefile.in: Quieten output a bit.
6628         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
6629         Don't echo directories, since the commands we invoke print them.
6631         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
6632         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
6633         (SUBDIRS_SUBDIRS): New variables.
6634         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
6635         Remove.
6636         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
6637         (update-subdirs, compile-main, compile-clean):
6638         Replace "setwins" usage with new "SUBDIRS" variables.
6640         * lisp/vc/compare-w.el (compare-windows-get-window-function):
6641         Fix :version tag.
6643 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6645         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
6647         Undo removal of x_clear_area call on expose for GTK3 or cairo.
6648         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
6649         exposed area.  (Bug#20677)
6651 2015-06-04  Glenn Morris  <rgm@gnu.org>
6653         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
6655         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
6657         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
6658         Rename from quail-lao-update-translation, since lao.el defines that.
6660 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
6662         Handle new-style advice in find-funct
6663         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
6664         Handle new-style advice.  Return the symbol's function definition.
6665         (Bug#20718)
6666         (find-function-library): Update accordingly.
6668 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
6670         Merge branch 'map'
6672         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
6674         Add new function string-greaterp
6675         * lisp/subr.el (string-greaterp): New function.  Also aliased to
6676         `string>'.
6677         * test/automated/subr-tests.el (string-comparison-test): Add unit
6678         tests for `string>'and `string<'.
6679         * src/fns.c (string-lessp): Better docstring.
6681 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
6683         Fix timezone-related functions on MS-Windows
6684         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
6685         'xputenv', even if no reallocation of tzvalbuf was necessary.
6686         This fixes a bug in timezone-related functions on MS-Windows.
6687         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
6689 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
6691         Don't pass raw directory name to 'error'
6692         * lisp/files.el (basic-save-buffer-2): Avoid format error if
6693         a directory name contains a string like "%s".
6695 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
6697         Override 'grep --color=always'
6698         * lisp/progmodes/xref.el (xref-collect-matches):
6699         Override --color=always in grep-find-template.
6701 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
6703         Fix error introduced recently in file-notify-tests.el
6704         * test/automated/file-notify-tests.el
6705         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
6706         (file-notify--deftest-remote): Revert previous patch, not
6707         necessary anymore.
6709 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
6711         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
6712         Starting from a display string after a newline, point went to the
6713         previous line.  Also, fix an inadvertent use of a buffer position
6714         with FETCH_BYTE.  (Bug#20701)
6716 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
6718         Instrument file-notify-test.el in order to catch hydra error.
6719         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
6720         Wrap body by `ignore-case', in order to trap non-local errors.
6722 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6724         Undo previous changes in non-toolkit scroll bar drawing.
6725         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
6726         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
6728 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
6730         * .gitignore: Also ignore doc/*/*/*.html and .ps.
6732         Support quotes 'like this' in info files
6733         This is possible when 'makeinfo --disable-encoding' is used
6734         in Texinfo 5.
6735         * lisp/calc/calc-help.el (calc-describe-thing):
6736         * lisp/gnus/gnus-art.el (gnus-button-alist):
6737         * lisp/info.el (Info-find-index-name):
6738         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
6739         Also support quotes 'like this'.
6740         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
6741         * lisp/finder.el (finder-font-lock-keywords): Remove var that
6742         hasn't been used in years, instead of bothering to fix its quoting.
6744 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6746         * .gitignore: Remove !test/etags/html-src/*.html.
6747         It's no longer needed, since *.html was removed.  Sort.
6749 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
6751         Restore <D> instead of '.' in grep-find-template
6752         * lisp/cedet/semantic/symref/grep.el
6753         (semantic-symref-grep-use-template): Update a comment.
6754         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
6755         instead of '.' in grep-find-template (bug#20719).
6756         (rgrep): Pass nil as the directory to rgrep-default-command.
6757         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
6758         default value for DIR.
6759         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
6760         workaround.
6762 2015-06-02  Glenn Morris  <rgm@gnu.org>
6764         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
6766         * configure.ac (emacs_config_features): Add Cairo.
6768         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
6770 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
6772         Ensure, that autorevert works for remote files in file-notify-tests.el
6773         * test/automated/file-notify-tests.el (file-notify--test-desc):
6774         New defvar.
6775         (file-notify--test-remote-enabled)
6776         (file-notify-test00-availability, file-notify-test01-add-watch)
6777         (file-notify-test02-events): Use it.
6778         (file-notify--test-event-test): Check proper descriptor.
6779         (file-notify-test03-autorevert): Ensure, that
6780         `visited-file-modtime' has changed.
6781         (Bug#20392)
6783 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
6785         Add a pcase pattern for maps and `map-let' based on it
6786         * lisp/emacs-lisp/map.el (map-let): New macro.
6787         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
6788         * test/automated/map-tests.el: New test for `map-let'.
6790 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
6792         Reuse rgrep mechanics in xref-find-regexp
6793         * lisp/progmodes/grep.el (rgrep-default-command):
6794         Extract from `rgrep'.
6795         * lisp/progmodes/xref.el (xref-collect-references): Split from
6796         `xref-collect-matches'.  Only handle the case of symbol search.
6797         (xref-collect-matches): Instead of Semantic Symref, use
6798         `rgrep-default-command', to take advantage of its directory and
6799         file ignore settings.
6800         (xref--collect-match): Remove the last argument, leaving the
6801         regexp construction up to the caller.
6802         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
6803         Change to take the xref-collect- function to use as an argument.
6804         (elisp-xref-find): Update accordingly.
6805         * lisp/progmodes/etags.el (etags--xref-find-matches)
6806         (etags-xref-find): Same.
6808         Move xref-elisp-location to elisp-mode.el
6809         * lisp/progmodes/xref.el (xref-elisp-location)
6810         (xref-make-elisp-location, xref-location-marker): Remove here.
6811         (xref--xref): Don't limit the type of the location slot.
6812         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
6813         Define as a cl-struct here.
6814         (xref-location-marker): Move here.
6816 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
6818         Minor tweaks for .gitignore
6819         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
6820         ignore admin/notes/tags that might be ignored as TAGS on
6821         case-insensitive filesystems.  (Bug#20710)
6823 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6825         Generate curved quotes in ert doc
6826         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
6827         (ert-results-mode-menu)
6828         (ert-results-pop-to-backtrace-for-test-at-point)
6829         (ert-results-pop-to-messages-for-test-at-point)
6830         (ert-results-pop-to-should-forms-for-test-at-point)
6831         (ert-describe-test):
6832         Quote ‘like this’, not `like this', when generating doc strings
6833         and the like.
6834         * test/automated/ert-x-tests.el (ert-test-describe-test):
6835         Allow quoting ‘like this’.
6837 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
6839         Add test for previous commit
6840         * test/automated/replace-tests.el: New file.
6841         (query-replace--split-string-tests): Add test for previous commit.
6843         Avoid confusion in query-replace history when replacing NUL chars
6844         * lisp/replace.el (query-replace--split-string): New function.
6845         (query-replace-read-from): Rely on the 'separator' property
6846         instead of searching for the NUL character (Bug#20690).
6848 2015-06-02  Glenn Morris  <rgm@gnu.org>
6850         Merge from origin/emacs-24
6851         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
6853         * admin/gitmerge.el (gitmerge-commit-message):
6854         Exclude "skipped" messages from ChangeLog.
6856 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
6858         Sync with Tramp repository
6859         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
6860         messages.
6861         (tramp-handle-make-auto-save-file-name): When calling
6862         `make-auto-save-file-name' internally, make sure it uses Unix-like
6863         behavior, not Windows-like behavior.
6864         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
6865         the local case, because "chown" might fail on w32.
6866         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
6867         for XEmacs.
6869 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
6871         MS-Windows followup for batch stdout/stderr output changes
6872         * lisp/international/mule-cmds.el (set-locale-environment): In
6873         batch mode, use console codepages for keyboard and terminal
6874         encoding.  (Bug#20545)
6876         Update .gitattributes for DOS EOL files
6877         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
6878         CRLF end-of-line format.
6880         NS equivalents of xterm.c and w32term.c changes
6881         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
6882         glyph string background also when the font in use claims
6883         preposterously large global height value.  Helps to remove
6884         artifacts left from previous displays when glyphless characters
6885         are displayed as hex code in a box.
6886         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
6887         value for FRAME_LINE_HEIGHT, even when a font claims very large
6888         value for its height.
6890 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6892         Avoid grave accent quoting in stderr diagnostics
6893         A few Emacs diagnostics go directly to stderr, and so can't easily
6894         contain curved quotes (as non-UTF-8 locales might mishandle them).
6895         Instead of bothering to add support for this rarity, reword the
6896         diagnostics so that they don't use grave accent to quote.
6897         * src/alloc.c (mark_memory): Fix comment.
6898         * src/buffer.c (init_buffer):
6899         * src/dispnew.c (init_display):
6900         * src/emacs.c (main, sort_args):
6901         * src/lread.c (dir_warning):
6902         * src/term.c (init_tty):
6903         * src/unexmacosx.c (unexec):
6904         * src/xfns.c (select_visual):
6905         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
6906         Reword stderr diagnostics to avoid quoting `like this'.
6907         * src/unexmacosx.c: Include errno.h.
6908         * src/xfns.c (select_visual): Encode value for locale.
6910 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6912         Treat batch stdout/stderr like standard display
6913         Calls like (print FOO) could generate improperly encoded or
6914         hard-to-read output if FOO contains characters outside the system
6915         locale.  Fix this by treating batch stdout and stderr like
6916         interactive standard display, when it comes to transliterating and
6917         encoding characters (Bug#20545).
6918         * doc/emacs/mule.texi (Communication Coding):
6919         * doc/lispref/display.texi (Active Display Table):
6920         * doc/lispref/nonascii.texi (Locales):
6921         * etc/NEWS:
6922         * src/coding.c (syms_of_coding):
6923         * src/dispnew.c (syms_of_display):
6924         Document this.
6925         * src/print.c: Include disptab.h.
6926         (printchar_to_stream): New function, with much of the guts of the
6927         old Fexternal_debugging_output, except this one also uses the
6928         standard display table.
6929         (printchar, strout, Fexternal_debugging_output): Use it.
6931 2015-05-31  Glenn Morris  <rgm@gnu.org>
6933         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
6935 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6937         Remove unused DEFSYMs
6938         Remove DEFSYMs that aren't used at the C level.  Also:
6939         * src/decompress.c (Qzlib_dll):
6940         * src/font.c (Qunicode_sip):
6941         * src/frame.c (Qtip_frame):
6942         * src/ftfont.c (Qserif):
6943         * src/gnutls.c (Qgnutls_dll):
6944         * src/xml.c (Qlibxml2_dll):
6945         Move from here ...
6946         * src/w32fns.c (syms_of_w32fns): ... to here,
6947         as these are used only on MS-Windows.
6949 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
6951         Use another default value for tramp-histfile-override
6952         * lisp/net/tramp-sh.el (tramp-histfile-override):
6953         Use ".tramp_history" as default.
6954         Fixes: debbugs:#20446
6956 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
6958         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
6960 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
6962         * etc/NEWS: Add an entry about map.el
6964         Improve the docstring of functions in map.el
6965         Since a map is not a data structure but a concept, adding information
6966         about the possible types of maps can be useful information.
6967         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
6968         each public function.
6970 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
6972         Faster implementation of map-empty-p
6973         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
6974         specific tests depending on the type of the map.
6976         * lisp/emacs-lisp/map.el: Better docstrings.
6978 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6980         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
6982 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
6984         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
6986         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
6988         Fix a false negative in `map-elt' with alists and values being nil
6989         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
6990         found but its associated value is nil, do not return the default
6991         value.
6992         * test/automated/map-tests.el: Add a regression test.
6994 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
6996         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
6998         Do not signal an error when trying to delete a key from an array
6999         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
7000         the key is present to avoid signaling an error.
7001         * test/automated/map-tests.el: Add a test for deleting non-existing
7002         keys from maps.
7004         * lisp/emacs-lisp/map.el: Better docstring.
7006         Minor improvement in map-elt.
7007         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
7008         doing a lookup in arrays, but check the boundaries of the array
7009         instead.
7010         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
7011         and a negative integer as key.
7013 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
7015         * test/automated/map-tests.el: Refactoring of test methods.
7017         * test/automated/map-tests.el: Renamed from map-test.el.
7019 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
7021         * lisp/emacs-lisp/map.el (map-into): Better error message.
7023         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
7025         Throw an error when converting a map into an unknown map type
7026         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
7027         * test/automated/map-test.el: Add a regression test.
7029         New library map.el similar to seq.el but for mapping data structures.
7030         * test/automated/map-test.el: New file.
7031         * lisp/emacs-lisp/map.el: New file.
7033 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
7035         Make sure there's no explicit tag name
7036         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
7037         there's no explicit tag name (bug#20629).
7039 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
7041         Remove format2
7042         * src/editfns.c, src/lisp.h (format2): Remove.
7043         It is more trouble than it's worth, now that we have CALLN.
7044         This is just a minor refactoring.
7045         * src/buffer.c (Fkill_buffer):
7046         * src/dbusbind.c (XD_OBJECT_TO_STRING):
7047         * src/fileio.c (barf_or_query_if_file_exists):
7048         Adjust to format2 going away.
7050         Don't misencode C-generated messages
7051         Also, be more consistent about calls to 'Fmessage' vs 'message'.
7052         * src/alloc.c (Fgc_status):
7053         Prefer AUTO_STRING to build_string for Fmessage call.
7054         * src/data.c (Fmake_variable_buffer_local)
7055         (Fmake_local_variable, Fmake_variable_frame_local):
7056         * src/doc.c (store_function_docstring):
7057         Use Fmessage, not message, since the argument can contain
7058         non-ASCII characters, and this can cause the resulting message
7059         to be incorrectly encoded for the current environment.
7060         * src/fns.c (maybe_resize_hash_table):
7061         * src/xselect.c (x_clipboard_manager_save_all):
7062         Use message, not Fmessage, since Fmessage's power isn't needed here.
7063         * src/process.c (Fmake_network_process): Reword message to avoid %s.
7064         * src/xdisp.c (vmessage): Document restrictions on message contents.
7065         (message_nolog) [false]: Remove unused code.
7067         Use \r rather than ^M in string literals
7068         This is less likely to cause problems on platforms that
7069         use CRLF (or CR!) termination for lines.
7071         Update .gitattributes to match current sources
7072         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
7073         * .gitattributes: Accommodate tests that insist on DOS format.
7074         Remove test/automated/data/decompress/foo-gzipped.
7075         Add etc/e/eterm-color.
7077 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
7079         Document 'face-ignored-fonts'
7080         * doc/emacs/mule.texi (Modifying Fontsets): Document
7081         face-ignored-fonts.  (Bug#20628)
7083         Add etags test for the new -Q option
7084         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
7085         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
7086         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
7087         test-case changes below.
7088         * test/etags/ETAGS.good_6: New file.
7089         * test/etags/cp-src/x.cc: New file.
7090         * test/etags/Makefile (CPSRC): Add x.cc.
7091         (check): Add one more test, for -Q.
7093 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
7095         Use list for the tags completion table, not obarray
7096         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
7097         list instead of an obarray
7098         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
7099         (tags-completion-table): Combine those lists.
7100         (tags-completion-table): Update the docstring.
7102 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
7104         Restore EOL format testing in etags
7105         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
7106         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
7107         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
7108         test-case changes below.
7109         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
7110         * test/etags/cp-src/c.C (B): Add back stray CR character.
7111         * test/etags/c-src/dostorture.c: Add back.
7112         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
7114 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
7116         Declare Emacs on MS-Windows to be DPI-aware
7117         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
7118         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
7119         This avoids Windows entering compatibility mode for Emacs,
7120         which causes fonts to look less nice.
7122 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
7124         Improve Tramp traces.
7125         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
7126         * lisp/net/tramp.el (tramp-debug-message): Use it.
7128 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
7130         backup-buffer minor reworking of internals
7131         * lisp/files.el (backup-buffer): Rework to avoid a couple of
7132         unused locals inadvertently introduced in the previous change.
7134         backup-buffer now reports .emacs.d/%backup% ills
7135         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
7136         fails due to disk space exhaustion or whatever, do not pretend
7137         that it succeeded.  More generally, do a better job of checking
7138         for I/O failures, and limit the scope of the condition-case to
7139         just the operations where file errors should be caught and ignored
7140         (Bug#20595).  Also, don't bother trying to delete later backups if
7141         an earlier deletion fails, as this is a sign of trouble and it's
7142         better to stop when there's trouble.
7144         copy-file now truncates output after writing
7145         * src/fileio.c (Fcopy_file): Truncate output after writing rather
7146         than before.  This is more likely to work than truncation before
7147         writing, if the file system is out of space or the user is over
7148         disk quota (Bug#20595).  Also, check for read errors.
7150 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7152         * lisp/emacs-lisp/package.el: Don't load from parent dir
7153         (package-load-all-descriptors): Don't load descriptors from
7154         directories above the package directories.
7156 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
7158         Merge from gnulib
7159         This incorporates the following (Bug#20681):
7160         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
7161         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
7162         * lib/set-permissions.c: Copy from gnulib.
7164 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
7166         Improve Tramp traces.
7167         * lisp/net/tramp.el (tramp-call-process-region): New defun.
7168         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
7170 2015-05-29  Glenn Morris  <rgm@gnu.org>
7172         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
7174 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
7176         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
7177         The signature was changed in the cairo branch, merged on 2015-05-23.
7178         This oversight broke compiling only the non-toolkit X version.
7180 2015-05-29  Samer Masterson  <samer@samertm.com>
7182         * doc/lispref/os.texi: Update initial-buffer-choice docs.
7184 2015-05-29  Glenn Morris  <rgm@gnu.org>
7186         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
7187         Mark as an expected failure.
7189 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
7191         Change package test to look for curved quotes
7192         * test/automated/package-test.el (package-test-describe-package)
7193         (package-test-signed): Search for curved single quotes as well as
7194         for grave accent and apostrophe.
7196 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
7198         gnus-art.el: Re-revert last change
7199         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
7200         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
7202 2015-05-28  Samer Masterson  <samer@samertm.com>
7204         Show files when `initial-buffer-choice' is non-nil
7205         * startup.el (command-line-1): When Emacs is given a file as an
7206         argument and `initial-buffer-choice' is non-nil, display both the file
7207         and `initial-buffer-choice'.  For more than one file, show
7208         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
7209         commands out of the command line arg parser.
7210         (initial-buffer-choice): Clarify docstring.
7212 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
7214         Fix last commit
7215         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
7216         (gnulib module qcopy-acl): Add back, as it is harmless.  This
7217         minimizes differences wrt lib/gnulib.mk.
7219         Fix the MS-Windows build as followup to gnulib update
7220         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
7221         set-permissions.c, as they don't compile on MinGW.
7222         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
7224 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
7226         Revert my change to gnus-art.el
7227         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
7228         It wasn't that important, and it caused a Gnus build to fail.  See:
7229         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
7231         New minor mode Electric Quote
7232         This lets you easily insert quotes ‘like this’ by typing
7233         quotes `like this', and similarly you can easily insert
7234         quotes “like this” by typing quotes ``like this'' (Bug#20545).
7235         * doc/emacs/basic.texi (Inserting Text):
7236         * doc/emacs/modes.texi (Minor Modes):
7237         * etc/NEWS: Document it.
7238         * doc/emacs/text.texi (Quotation Marks): New section.
7239         * lisp/electric.el (electric-quote-comment)
7240         (electric-quote-string, electric-quote-paragraph):
7241         New custom vars.
7242         (electric--insertable-p)
7243         (electric-quote-post-self-insert-function): New functions.
7244         (electric-quote-mode, electric-quote-local-mode): New minor modes.
7245         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
7246         Add curved single quotes to electric-pair-text-pairs.
7247         Set electric-quote-string in this buffer.
7249         A few more doc string fixes (Bug#20385)
7251         Accept curved quotes in doc strings
7252         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7253         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
7255         Generate curved quotes in pseudo-info nodes
7256         * lisp/info.el (Info-virtual-index-find-node)
7257         (Info-virtual-index, Info-apropos-find-node, info-apropos):
7258         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
7260         Fix minor quoting problems in doc strings
7261         Most of these fixes involve escaping grave accents that are
7262         actually intended to be grave accents, not left quotes.
7263         (Bug#20385)
7265         Support curved quotes in doc strings
7266         Emacs's traditional doc string style has been to quote symbols
7267         `like this'.  This worked well on now-obsolete terminals where
7268         ` and ' were symmetric quotes, but nowadays curved quotes
7269         ‘like this’ look better.  Support quoting the new way too.
7270         (Bug#20385)
7271         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
7272         ‘like-this’ as well as `like-this'.
7273         * etc/NEWS: Mention this.
7274         * lisp/cedet/mode-local.el (overload-docstring-extension)
7275         (mode-local-print-binding, mode-local-describe-bindings-2):
7276         * lisp/cus-theme.el (describe-theme-1):
7277         * lisp/descr-text.el (describe-text-properties-1, describe-char):
7278         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
7279         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
7280         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
7281         (eieio-help-constructor):
7282         * lisp/emacs-lisp/package.el (describe-package-1):
7283         * lisp/faces.el (describe-face):
7284         * lisp/help-fns.el (help-fns--key-bindings)
7285         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
7286         (help-fns--interactive-only, describe-function-1):
7287         (describe-variable):
7288         * lisp/help.el (describe-mode):
7289         * lisp/international/mule-cmds.el (describe-input-method)
7290         (describe-language-environment):
7291         * lisp/international/mule-diag.el (describe-character-set)
7292         (print-coding-system-briefly, list-input-methods)
7293         (list-input-methods-1):
7294         Insert curved quotes rather than grave accent and apostrophe.
7295         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
7296         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
7297         (checkdoc-proper-noun-region-engine):
7298         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
7299         (lisp-cl-font-lock-keywords-2):
7300         * lisp/finder.el (finder-font-lock-keywords):
7301         * lisp/gnus/gnus-art.el (gnus-button-alist):
7302         * lisp/help-fns.el (help-do-arg-highlight)
7303         (describe-function-1, describe-variable):
7304         * lisp/help-mode.el (help-xref-symbol-regexp)
7305         (help-xref-info-regexp, help-xref-url-regexp):
7306         * lisp/help.el (describe-mode):
7307         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
7308         * lisp/wid-edit.el (widget-documentation-link-regexp):
7309         Parse symbols quoted ‘like-this’ as well as `like-this'.
7310         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
7311         Add "‘" and "’" to electric-pair-text-pairs.
7312         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
7313         (elisp-completion-at-point, elisp--preceding-sexp):
7314         Also treat "‘" and "’" as quoting chars.
7316         substitute-command-keys now curves quotes
7317         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
7318         * doc/lispref/help.texi (Keys in Documentation):
7319         * etc/NEWS: Document this.
7320         * src/doc.c (Fsubstitute_command_keys): Implement it.
7322 2015-05-28  Glenn Morris  <rgm@gnu.org>
7324         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
7325         (rmail-summary-by-topic, rmail-summary-by-senders):
7326         No longer strip leading/trailing whitespace.
7328         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
7329         (f90-no-block-limit): Add "enum".  (Bug#20680)
7330         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
7331         New tests.
7333 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7335         * lisp/isearch.el (isearch--current-buffer): Give a default value.
7337         Un-revert changes mistakenly dropped by f9fabb2b
7339 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
7341         Merge from gnulib
7342         This incorporates:
7343         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
7344         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
7345         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
7346         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
7347         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
7348         2015-05-26 stdio: fix probe on mingw under gcc 5.1
7349         * admin/merge-gnulib (GNULIB_MODULES):
7350         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
7351         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
7352         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
7353         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
7354         Get latest versions from gnulib.
7355         * lib/get-permissions.c, lib/set-permissions.c: New files.
7356         * lib/gnulib.mk, m4/gnulib-comp.m4:
7357         Regenerate.
7358         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
7360 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
7362         Delete the old process in vc-setup-buffer
7363         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
7364         process here.
7365         (vc-do-command): Rather than here (bug#20608).
7367 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
7369         Avoid gratuitous delete-dups in face-at-point.
7370         * lisp/faces.el (face-at-point): Do not compute the properly
7371         ordered, duplicate-free list if only a single value is
7372         requested anyway.  (Bug#20519)
7374         Show the exact C-x 8 RET invocation in describe-char.
7375         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
7376         invocation instead of a template.  (Bug#20522)
7378 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7380         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
7381         (package-menu--post-refresh): Call `tabulated-list-print' with the
7382         UPDATE argument.  This only affects the refresh action, the revert
7383         action still erases tags.
7384         (package-menu-get-status): Change `assq' to `assoc'.
7385         (package-menu--mark-upgrades-1): New function.
7386         (package-menu--mark-upgrades-pending): New variable.
7387         (package-menu-mark-upgrades): Use them to delay marking until
7388         after refresh is done.
7389         (package-menu--post-refresh): Call mark-upgrades-1 if
7390         mark-upgrades-pending is non-nil.
7392 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
7394         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
7396 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7398         * lisp/isearch.el (isearch--current-buffer): New var
7399         (isearch-update): Set cursor-sensor-inhibit here.
7400         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
7402         Change inhibit-point-motion-hooks to t
7403         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
7404         to t and document it as obsolete.
7406 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
7408         Support ZIP files that use Zip64 extensions
7409         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
7410         format of central directory offsets used by Zip64 extensions.
7411         (Bug#20665)
7413 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
7415         New test tramp-test30-make-auto-save-file-name
7416         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
7417         (tramp-test31-special-characters)
7418         (tramp-test31-special-characters-with-stat)
7419         (tramp-test31-special-characters-with-perl)
7420         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
7421         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
7422         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
7423         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
7425         Improve tramp-handle-make-auto-save-file-name
7426         * tramp.el (tramp-auto-save-directory): Add :tags.
7427         (tramp-handle-make-auto-save-file-name): Let native
7428         `make-auto-save-file-name' use `auto-save-file-name-transforms',
7429         if `tramp-auto-save-directory' is not set.
7431 2015-05-27  Glenn Morris  <rgm@gnu.org>
7433         No longer set dired-directory in eshell.  (Bug#16477)
7434         * lisp/eshell/esh-mode.el (eshell-mode):
7435         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
7437         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
7439         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
7440         * lisp/progmodes/cc-mode.el (c-mode-help-address):
7441         Change to submit@debbugs.
7442         (c-mode-bug-package): New constant.
7443         (mail-position-on-field): Declare.
7444         (c-submit-bug-report): Insert X-Debbugs-Package header.
7445         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
7446         Mention debbugs.gnu.org.
7448 2015-05-26  Glenn Morris  <rgm@gnu.org>
7450         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
7451         (rmail-summary-by-recipients, rmail-summary-by-topic)
7452         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
7453         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
7455 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
7457         Handle curved quotes in info files
7458         * lisp/calc/calc-help.el (calc-describe-thing):
7459         * lisp/info.el (Info-find-index-name)
7460         (Info-try-follow-nearest-node, Info-fontify-node):
7461         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
7462         In info files, process quotes ‘like this’ the same way we process
7463         quotes `like this'.  This catches a few places we missed earlier.
7465 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
7467         xref-prompt-for-identifier: Use a list value
7468         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
7469         value, to be interpreted as a list of commands.
7470         (xref--prompt-p): New function.
7471         (xref--read-identifier): Use it.
7473 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
7475         Teach MS-Windows font back-end return per-glyph ascent/descent
7476         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
7477         values.
7478         * src/w32font.c (w32font_text_extents): Compute, cache, and
7479         accumulate per-glyph ascent and descent values, instead of copying
7480         global values from the font.  If the values are not available from
7481         the font data, i.e., non-TTF fonts, fall back on font-global values.
7482         (compute_metrics): Compute and return per-glyph ascent and descent
7483         values, if returned by GetGlyphOutlineW, falling back on
7484         font-global values.  (Bug#20628)
7485         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
7486         height of rectangle to be drawn, to be compatible with
7487         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
7488         box, when per-glyph ascent/descent values are used.
7490 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
7492         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
7493         (tabulated-list-print): Don't sort if sorter is nil
7495 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
7497         Fix Bug#20621
7498         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
7499         are major modes which set `auto-save-mode' on their own rules;
7500         Tramp shall not overwrite such settings.
7501         (Bug#20621)
7503 2015-05-26  Glenn Morris  <rgm@gnu.org>
7505         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
7506         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
7507         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
7508         Doc updates.
7509         (vc-dir-mode): Remove unnecessary autoload.
7511 2015-05-25  Philipp Stephani  <phst@google.com>
7513         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
7514         (xterm--extra-capabilities-type): Add `getSelection'.
7515         (xterm--query): Add `no-async' argument.
7516         (xterm--init-activate-get-selection): New function.
7517         (terminal-init-xterm): Use it.
7518         (xterm--init-modify-other-keys): Rename from
7519         terminal-init-xterm-modify-other-keys.
7520         (xterm--init-bracketed-paste-mode): Rename from
7521         terminal-init-xterm-bracketed-paste-mode.
7522         (xterm--init-activate-set-selection): Rename from
7523         terminal-init-xterm-activate-set-selection.
7524         (xterm--selection-char): New function.
7525         (gui-backend-set-selection): Use it.  Use the &context to only apply
7526         this method in terminals where we enabled the feature.
7527         (gui-backend-get-selection): New method.
7529 2015-05-25  Daniel Colascione  <dancol@dancol.org>
7531         Add C-language keyword constants to C++
7532         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
7533         keyword constants to C++.
7535 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7537         Make TAGS files more portable to MS-Windows
7538         * etc/NEWS: Document this.
7539         * lib-src/etags.c (readline_internal) [DOS_NT]:
7540         Don't treat CRs differently from GNUish hosts.
7541         * lisp/progmodes/etags.el (etags-goto-tag-location):
7542         Adjust STARTPOS to account for the skipped CRs in dos-style files.
7544 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
7546         Improve fix of debbugs:20634 in tramp-sh.el
7548 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
7550         Fix a typo in last commit
7551         * lib-src/etags.c (C_entries): Fix a typo.
7552         * test/etags/ETAGS.good_1:
7553         * test/etags/ETAGS.good_2:
7554         * test/etags/ETAGS.good_3:
7555         * test/etags/ETAGS.good_4:
7556         * test/etags/ETAGS.good_5:
7557         * test/etags/CTAGS.good: Update due to the change in etags.c.
7559         Fix tagging of class members in C-like OO languages
7560         * lib-src/etags.c (longopts): Add new option --class-qualify and
7561         its shorthand -Q.
7562         (print_help): Add help text for --class-qualify.
7563         (main): Add handling of -Q.
7564         (consider_token, C_entries) <omethodparm>: Append argument types
7565         to Objective C methods only if --class-qualify was specified.
7566         Qualify C++, Objective C, and Java class members with their class
7567         names only if --class-qualify was specified.
7568         (C_entries): If --class-qualify was not specified, remove the
7569         namespace and class qualifiers from tag names of C++ methods.
7570         This allows to use etags.el as xref back-end without the
7571         tag-symbol-match-p method, which greatly increases the number of
7572         potentially false positives.  (Bug#20629)
7573         * doc/man/etags.1: Update to document the new --class-qualify
7574         option.
7575         * test/etags/ETAGS.good_1:
7576         * test/etags/ETAGS.good_2:
7577         * test/etags/ETAGS.good_3:
7578         * test/etags/ETAGS.good_4:
7579         * test/etags/ETAGS.good_5:
7580         * test/etags/CTAGS.good: Update due to changes in etags.c.
7582 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7584         (cl-generic-define-method): Side effects are evil (bug#20644)
7585         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
7586         cons-cells that might be used as keys in an `equal' hash-table.
7588 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7590         Make erc timestamps visible again
7591         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
7592         timestamps visible again (if requested).
7594 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
7596         Fix last change in etags.c that broke tagging compresed files
7597         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
7598         quoting of decompression shell command for MS-Windows/MS-DOS.
7600 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7602         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
7603         (Bug#20639)
7605 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
7607         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
7609 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
7611         Fix IPv6 addresses in Tramp
7612         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
7613         Add sqare brackets around host name.
7615 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
7617         Inhibit `epa-file-handler' in Tramp
7618         (Bug#20634)
7619         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
7620         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
7621         `epa-file-handler'.
7623 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7625         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
7626         (pcase-let): Document the behavior in case the pattern doesn't match.
7628 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7630         * lisp/emacs-lisp/tabulated-list.el: New optional print method
7631         (tabulated-list-print): New optional argument, UPDATE.  If
7632         non-nil, the list is printed by only adding and deleting the
7633         changed entries, instead of erasing the whole buffer.  This method
7634         is much faster when few or no entries have changed.
7635         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
7636         * etc/NEWS: Document it.
7638         * lisp/emacs-lisp/tabulated-list.el: Improve printing
7639         (tabulated-list--get-sorter): New function.
7640         (tabulated-list-print): Restore window-line when remember-pos is
7641         passed and optimize away the `nreverse'.
7643 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7645         Simpilify etags TEX mode scanning
7646         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
7647         Remove static vars.
7648         (TeX_commands): Deduce escapes here instead.
7649         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
7650         This removes the need for a reset_input call.
7652         Improve etags I/O error reporting
7653         * lib-src/etags.c:
7654         Don't include sys/types.h and sys/stat.h; no longer needed.
7655         (infilename): New static var.
7656         (process_file_name): Don't call 'stat'.  Instead, just open the
7657         file for reading and report any errors.  Don't bother making
7658         a copy of the file argument; it's not needed.  Be more careful to
7659         use the failing errno when reporting an error.
7660         Quote the real name better (though no perfectly)
7661         when passing it to the shell.
7662         (reset_input): New function, which reports I/O errors.
7663         All uses of 'rewind' changed to use this function.
7664         (perhaps_more_input): New function, which also checks for
7665         I/O errors.  All uses of 'feof' changed to use this function.
7666         (analyze_regex): Report an error if fclose fails.
7667         (readline_internal): Report an error if getc fails.
7668         (etags_mktmp): Return an error if close fails.
7670         etags.c: avoid side effects in 'if'
7671         * lib-src/etags.c (process_file_name, Perl_functions)
7672         (TEX_decode_env): Hoist side effects into previous statement.
7674         .gitignore tweaks
7675         * .gitignore: Ignore all *.stamp files.  Sort.
7676         Ignore [0-9]*.txt (commonly used name for git patches)
7677         and /vc-dwim-log-* (vc-dwim temporary).
7679 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
7681         Fix last change in etags.c, which failed the test suite
7682         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
7683         before the last change.
7685 2015-05-23  Glenn Morris  <rgm@gnu.org>
7687         Remove charset map files from repository, generate in first bootstrap
7688         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
7689         (all): Create the stamp file.
7690         (extraclean): Delete the stamp file.
7691         * src/Makefile.in (lispintdir, charsets): New variables.
7692         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
7693         New rules.
7694         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
7695         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
7696         * etc/charsets/*.map: Remove from repository.
7698 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7700         Cleanup etags.c to use locale-independent code
7701         Although this doesn't alter behavior (as etags doesn't use
7702         setlocale), the new version is more clearly locale-independent and
7703         the executable is a bit smaller on my platform.
7704         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
7705         Include <c-ctype.h> instead of <ctype.h>.
7706         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
7707         (begtk, midtk):
7708         Remove; no longer needed.
7709         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
7710         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
7711         c_islower, c_tolower, respectively.
7712         (notinname, begtoken, intoken, endtoken): Rewrite as functions
7713         instead of macros, and initialize the tables at compile-time
7714         rather than at run-time.
7716         Put default action first in src/Makefile
7717         * src/Makefile.in (all): Put this rule before lisp.mk.
7718         That way, plain 'make' works in the src directory again.
7720 2015-05-23  Glenn Morris  <rgm@gnu.org>
7722         * Makefile.in: Fix extraclean rule.
7723         (extraclean_dirs): New.
7724         (extraclean): Use it.
7726 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7728         Avoid compiler warning in image.c on MS-Windows
7729         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
7730         warning in image.c.
7732 2015-05-23  Glenn Morris  <rgm@gnu.org>
7734         Fix --without-toolkit-scroll-bars builds.
7735         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
7736         Add new argument to x_clear_area1.
7737         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
7738         Update x_clear_area arguments.
7740         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
7741         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
7742         Change to included version.
7743         (LOCAL, local, totalclean): Remove.
7744         (extraclean): Delete all generated files.
7746 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
7748         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
7750         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
7752         tags-completion-at-point-function: Don't trust the find-tag function
7753         * lisp/progmodes/etags.el (tags-completion-at-point-function):
7754         Don't trust the find-tag function.
7756 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7758         Pacify --enable-gcc-warnings
7759         * src/frame.h (x_query_color): Remove redundant extern decl.
7760         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
7761         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
7762         (ftcrfont_text_extents, ftcrfont_draw):
7763         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
7764         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
7765         (x_ins_del_lines, frame_highlight, frame_unhighlight)
7766         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
7767         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
7768         (x_update_window_begin, x_connection_closed)
7769         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
7770         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
7771         (*x_gc_get_ext_data, x_extension_initialize)
7772         (x_cr_accumulate_data):
7773         Remove redundant static decl.  Many of these GCC doesn't complain
7774         about, but we might as well clean out the duplication while we're
7775         in the neighborhood.
7776         * src/xterm.c (x_fill_trapezoid_for_relief):
7777         Remove decl of nonexistent function.
7779 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
7781         Replace gui-method macros with cl-generic with &context
7782         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
7783         (gui-method-declare, gui-call): Remove.
7784         (frame-creation-function): Use cl-defgeneric.
7785         (make-frame): Adjust callers.
7786         * lisp/menu-bar.el (menu-bar-edit-menu):
7787         Use gui-backend-selection-exists-p.
7788         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
7789         (gui-backend-get-selection): New cl-generic to replace
7790         gui-get-selection method.
7791         (gui-backend-set-selection): New cl-generic to replace
7792         gui-set-selection method.
7793         (gui-selection-owner-p): New cl-generic to replace
7794         gui-selection-owner-p method.
7795         (gui-backend-selection-exists-p): New cl-generic to replace
7796         gui-selection-exists-p method.  Adjust all callers.
7797         * lisp/server.el (server-create-window-system-frame): Don't ignore
7798         window-system spec even when unsupported.
7799         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
7800         * lisp/startup.el (handle-args-function, window-system-initialization):
7801         Use cl-defgeneric.
7802         (command-line): Adjust calls accordingly.
7803         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
7804         a window-system-initialization method.
7805         (handle-args-function, frame-creation-function): Use cl-defmethod.
7806         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7807         (gui-get-selection): Use cl-defmethod on the new functions instead.
7808         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
7809         a gui-backend-get-selection method.
7810         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
7811         Use cl-defmethod on the new functions instead.
7812         (msdos-window-system-initialization): Turn into
7813         a window-system-initialization method.
7814         (frame-creation-function, handle-args-function): Use cl-defmethod.
7815         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
7816         a window-system-initialization method.
7817         (handle-args-function, frame-creation-function): Use cl-defmethod.
7818         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7819         (gui-get-selection): Use cl-defmethod on the new functions instead.
7820         * lisp/term/x-win.el (x-window-system-initialization): Turn into
7821         a window-system-initialization method.
7822         (handle-args-function, frame-creation-function): Use cl-defmethod.
7823         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7824         (gui-get-selection): Use cl-defmethod on the new functions instead.
7825         * lisp/term/xterm.el (xterm--set-selection): Turn into
7826         a gui-backend-set-selection method.
7827         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
7828         (Fns_selection_owner_p): Remove unused arg `terminal'.
7829         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
7831 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7833         Revert "Fix etags Bug#20629 that broke C++ support."
7834         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
7836 2015-05-23  Jan D  <jan.h.d@swipnet.se>
7838         Fix etags Bug#20629 that broke C++ support.
7839         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
7840         from Sun May 10 (Bug#20629).
7842         Merge branch 'cairo'.
7843         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
7844         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
7846         Merge branch 'master' into cairo
7848         Fixes to compile cairo branch without cairo.
7849         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
7850         first argument.
7851         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
7852         USE_CAIRO.
7854 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
7856         * lisp/emacs-lisp/package.el: Always update selected-packages
7857         (package--update-selected-packages): New function.
7858         (package-menu-execute): Use it before starting the transaction,
7859         this way the list of selected packages is updated even when the
7860         transaction fails.
7861         (package-menu--perform-transaction): Don't edit selected-packages.
7863 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7865         Fix etags reading of compressed files
7866         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
7867         Include fcntl.h, for O_CLOEXEC.
7868         (process_file_name): Don't use 'popen', whose streams cannot be
7869         rewound.  Instead, uncompress the file to a temporary file,
7870         created by 'etags_mktmp', and read from that as usual.
7871         (etags_mktmp): New function.
7872         * test/etags/ETAGS.good_1:
7873         * test/etags/ETAGS.good_2:
7874         * test/etags/ETAGS.good_3:
7875         * test/etags/ETAGS.good_4:
7876         * test/etags/ETAGS.good_5: Update to be consistent with latest
7877         changes in etags.c regarding reading compressed files.
7879         Improve documentation of 'set-fontset-font'
7880         * doc/lispref/display.texi (Fontsets): Document the value of nil
7881         for the 3rd argument of 'set-fontset-font'.
7883         Fix documentation of forward-line
7884         * src/cmds.c (Fforward_line): Clarify the return value if the line
7885         at end of accessible portion of the buffer has no newline.
7886         * doc/lispref/positions.texi (Text Lines): Document what happens
7887         if the line at end of accessible portion of buffer has no newline.
7888         (Bug#20587)
7890 2015-05-22  Glenn Morris  <rgm@gnu.org>
7892         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
7894         * admin/charsets/mapconv (LC_ALL): Set to C.
7896         * Makefile.in: Add admin/charsets into top-level clean rules.
7897         (clean): Add admin/charsets.
7898         (maybeclean_dirs): New variable.
7899         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
7901         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
7903 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7905         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
7907 2015-05-22  Glenn Morris  <rgm@gnu.org>
7909         Generate admin/charsets Makefile via configure, and make more portable.
7910         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
7911         (admin/charsets/Makefile): Generate it.
7912         * admin/charsets/Makefile.in: Rename from Makefile.
7913         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
7914         New variables, set by configure.
7915         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
7916         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
7917         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
7918         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
7919         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
7920         (all): Declare PHONY.
7921         (local): New PHONY target.
7922         (map_template): New template.  Use to define short PHONY aliases.
7923         (*.map): Add directory prefixes to targets and prerequisites.
7924         Respect make verbosity.
7925         (JISC6226.map): Replace non-portable sed append without newline.
7926         (install): Remove rule.
7927         (clean): Only delete temporary sedscript.
7928         (bootstrap-clean, distclean, maintainer-clean, extraclean)
7929         (totalclean): New PHONY rules.
7930         * admin/charsets/mapconv (BASE): Replace basename with expr.
7931         (FILE): Add "mapfiles" subdirectory.
7932         (AWK): New variable.  Use throughout in place of "awk".
7933         (main): Use "gunzip -c" in place of "zcat".
7934         Don't leave whitespace before "p", for older sed.
7935         * admin/charsets/mapfiles/PTCP154: Add final newline,
7936         to make older sed versions happy.
7938 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
7940         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
7941         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
7942         (auto-revert-notify-watch-descriptor): Use defvar-local.
7943         (find-file-hook, auto-revert-tail-mode, )
7944         (auto-revert-notify-add-watch): Use setq-local.
7945         (auto-revert-notify-add-watch): Don't call make-local-variable on
7946         kill-buffer-hook (bug#20601).
7948 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7950         Change defgeneric so it doesn't completely redefine the function
7951         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
7952         previously defined methods.
7953         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
7954         (cl--generic-prefill-dispatchers): Only define during compilation.
7955         (cl-method-qualifiers): Remove redundant alias.
7956         (help-fns-short-filename): Silence byte-compiler.
7957         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
7959 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
7961         (package-menu-execute): Remove reference to remove-dups
7963 2015-05-21  kwhite  <kwhite@gnu.org>
7965         * lisp/erc/erc.el: Hide network/channel messages
7966         (erc-network-hide-list, etc-channel-hide-list): New lists to define
7967         message types per network/channel.
7968         (erc-add-targets): New function to parse list of targets
7969         (erc-hide-current-message-p): Modified to check for new targets
7971 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
7973         Don't quote nil and t in doc strings
7974         This is as per "Tips for Documentation Strings" in the elisp manual.
7975         For consistency, do the same in diagnostics and comments.
7977 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
7979         Fix a minor problem with mouse-face on mode line
7980         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
7981         mouse face also if the mouse pointer hovers above mode-line glyphs
7982         that don't come from any Lisp string.  (Bug#20620)
7984 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
7986         * lisp/emacs-lisp/package.el: Fix selected-package logic
7987         (package-menu-execute): Mark as selected all non-upgrade packages
7988         being installed.
7989         (package-menu--perform-transaction): Don't mark anything.
7991         * lisp/emacs-lisp/package.el: Mode-line progress report
7992         (package-menu--transaction-status): New variable.
7993         (package-menu-mode, package-menu--perform-transaction): Use it.
7995         * lisp/emacs-lisp/package.el: Better transaction messages
7996         (package-menu--partition-transaction): New function.
7997         (package-menu--prompt-transaction-p, package-menu-execute): Use
7998         it.
7999         (package-menu--perform-transaction): Don't do any messaging.
8001         * lisp/emacs-lisp/package.el: Revert async package transactions
8002         (package-menu-async): Update doc.
8003         (package-install-from-archive, package-download-transaction)
8004         (package-install, package-menu--perform-transaction)
8005         (package-menu-execute): Remove asynchronous functionality.
8007 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
8009         Revert doc string changes to f90.el
8010         Problem reported by Glenn Morris in:
8011         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
8012         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
8013         Revert recent changes to doc strings, as it's intended that they
8014         use grave accent, not quote.
8016 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
8018         Improve parameter name
8020         Add new inline function `hash-table-empty-p'
8022 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
8024         Don't require help-fns when not needed
8025         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
8026         * lisp/emacs-lisp/elint.el:
8027         Don't require help-fns at the top level.
8028         * lisp/emacs-lisp/advice.el (ad-arglist):
8029         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
8030         Don't require help-fns.  (Bug#17001)
8032 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
8034         Fix slash collapsing in etags on MS-Windows
8035         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
8036         MS-Windows code from the Posix code, and support collapsing both
8037         forward- and back-slashes on MS-Windows.  Fixes a regression found
8038         by the test suite.
8040         Improve documentation of glyphless-char-display
8041         * doc/lispref/display.texi (Glyphless Chars): Improve
8042         documentation of glyphless character display.
8044         Fix "acronym" display of glyphless characters on w32
8045         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
8046         ignore "acronym" substitutes of 1 character for glyphless characters.
8048 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
8050         Add an automated test for let-when-compile
8051         * test/automated/subr-tests.el (let-when-compile): New test.
8053         Add let-when-compile macro instead of using pcase-let
8054         * lisp/subr.el (let-when-compile): New let-like macro that makes its
8055         bindings known to macros like `eval-when-compile' in the body.
8056         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
8057           `let-when-compile'. Also comment out the unused lexical var
8058           `el-kws-re'.
8059         The change greatly improves readability, while providing almost the
8060         same (even shorter) byte code: instead of pre-evaluating 10 variables,
8061         tossing them into a list, and destructuring that list a full screen
8062         page later, the variables are simply bound as they are evaluated,
8063         wrapped individually in `eval-when-compile'.
8065 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
8067         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
8068         (package-delete-button-action): New function.
8069         (describe-package-1): Add Delete button.
8071         * lisp/emacs-lisp/package.el: Better dependency description
8072         (package--used-elsewhere-p): New optional arg, ALL, and return
8073         package-desc objects instead of names.
8074         (package-delete): Update accordingly.
8075         (describe-package-1): Describe which packages require the package.
8077 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
8079         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
8080         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
8081         Fix doc-string (Bug#20533).
8083         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
8084         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
8085         (switch-to-buffer): If the selected window is strongly dedicated
8086         to its buffer, signal error before prompting for buffer name.  Handle
8087         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
8088         * doc/lispref/windows.texi (Switching Buffers): Document
8089         `switch-to-buffer-in-dedicated-window'.
8091 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8093         Prefer "this" to “this” in doc strings
8094         This mostly just straightens quotes introduced in my previous patch.
8095         Suggested by Dmitry Gutov in:
8096         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
8097         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
8098         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
8099         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
8100         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
8101         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
8102         Prefer straight double quotes to curved double quotes in doc strings.
8104         Fix minor quoting problems in doc strings
8105         These were glitches regardless of how or whether we tackle the
8106         problem of grave accent in doc strings.
8107         * lisp/calc/calc-aent.el (math-restore-placeholders):
8108         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
8109         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
8110         * lisp/leim/quail/hebrew.el ("hebrew-new")
8111         ("hebrew-biblical-sil"):
8112         * lisp/leim/quail/thai.el ("thai-kesmanee"):
8113         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
8114         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
8115         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
8116         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
8117         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
8118         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
8119         (semantic-tag-components):
8120         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
8121         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
8122         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
8123         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
8124         * lisp/emacs-lisp/generator.el (iter-next):
8125         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
8126         (gnus-article-mode-syntax-table):
8127         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
8128         * lisp/net/soap-client.el (soap-wsdl-get):
8129         * lisp/net/telnet.el (telnet-mode):
8130         * lisp/org/org-compat.el (org-number-sequence):
8131         * lisp/org/org.el (org-remove-highlights-with-change)
8132         (org-structure-template-alist):
8133         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
8134         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
8135         (handwrite-12pt, handwrite-13pt):
8136         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
8137         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
8138         * lisp/progmodes/verilog-mode.el (verilog-tool)
8139         (verilog-string-replace-matches, verilog-preprocess)
8140         (verilog-auto-insert-lisp, verilog-auto-insert-last):
8141         * lisp/textmodes/makeinfo.el (makeinfo-options):
8142         * src/font.c (Ffont_spec):
8143         Fix minor quoting problems in doc strings, e.g., missing quote,
8144         ``x'' where `x' was meant, etc.
8145         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
8146         Fix minor quoting problem in other string.
8147         * lisp/leim/quail/ethiopic.el ("ethiopic"):
8148         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
8149         Omit unnecessary quotes.
8150         * lisp/faces.el (set-face-attribute, set-face-underline)
8151         (set-face-inverse-video, x-create-frame-with-faces):
8152         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
8153         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
8154         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
8155         * lisp/net/tramp.el (tramp-methods):
8156         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
8157         * lisp/textmodes/artist.el (artist-ellipse-right-char)
8158         (artist-ellipse-left-char, artist-vaporize-fuzziness)
8159         (artist-spray-chars, artist-mode, artist-replace-string)
8160         (artist-put-pixel, artist-text-see-thru):
8161         * lisp/vc/ediff-util.el (ediff-submit-report):
8162         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
8163         Use double-quotes rather than TeX markup in doc strings.
8164         * lisp/skeleton.el (skeleton-pair-insert-maybe):
8165         Reword to avoid the need for grave accent and apostrophe.
8166         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
8167         Don't use grave and acute accents to quote.
8169 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
8171         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
8173 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8175         Try to port new etags tests to MS-Windows
8176         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
8177         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
8178         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
8179         Adjust to test-case changes below.
8180         * test/etags/Makefile (CSRC): Remove dostorture.c.
8181         Whatever it was trying to test, wasn't working portably.
8182         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
8183         just a line-ending problem.
8184         * test/etags/c-src/dostorture.c: Remove.
8185         * test/etags/cp-src/c.C: Remove stray CR.
8186         * test/etags/html-src/algrthms.html: Remove trailing CRs.
8187         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
8188         but if someone edits it later it should stay UTF-8-compatible.
8190 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
8192         Fix display of overlapping window-specific overlays
8193         * src/keyboard.c (adjust_point_for_property): When adjusting point
8194         due to display strings, ignore overlays that are specific to
8195         windows other than the currently selected one.
8196         * src/xdisp.c (handle_single_display_spec): If the display
8197         property comes from an overlay, arrange for buffer iteration to
8198         resume only after the end of that overlay.  (Bug#20607)
8200 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
8202         New command icomplete-force-complete-and-exit
8203         * lisp/icomplete.el (icomplete-force-complete-and-exit):
8204         New command
8205         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
8206         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
8207         (icomplete-minibuffer-map): Bind C-j to it.
8208         (icomplete-forward-completions, icomplete-backward-completions):
8209         Mention the new command in the docstring.
8210         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
8211         the previous fix for bug#17545.
8213 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
8215         Fix last commit
8217         In Elisp manual explain how to override window manager positioning (Bug#20552)
8218         * doc/lispref/frames.texi (Position Parameters): Give example of
8219         how to override a window manager positioning decision.
8221         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
8222         * src/frame.c (Fdelete_frame): In doc-string mention that frame
8223         can't be deleted if it has a surrogate minibuffer.
8224         * doc/lispref/frames.texi (Minibuffers and Frames)
8225         (Deleting Frames): Explain "surrogate minibuffer frames".
8227         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
8228         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
8230 2015-05-18  Glenn Morris  <rgm@gnu.org>
8232         Add option to ignore commit lines matching a pattern in ChangeLog.
8233         * build-aux/gitlog-to-changelog: Add --ignore-line option.
8234         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
8236 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
8238         Don't skip new etags tests on non-UTF-8 hosts
8239         Problem reported by Eli Zaretskii for MS-Windows.
8240         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
8241         (LC_ALL): Set to C if the current locale isn't UTF-8.
8242         (.PHONY): Remove ediff_1 thru ediff_5.
8243         (check): Always run.
8245 2015-05-18  Glenn Morris  <rgm@gnu.org>
8247         * lisp/calculator.el (calculator-funcall):
8248         * lisp/textmodes/artist.el (artist-spray-random-points):
8249         Use standard degree/radian conversion utilities.
8251         Further lisp-complete-symbol related cleanup.
8252         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
8253         Unadvertise non-functional argument.  Replace obsolete alias.
8255 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
8257         Add a test case for Maven warning ouput
8258         * test/automated/compile-tests.el
8259         (compile-tests--test-regexps-data): Add a case for Maven warning
8260         ouput.
8261         (compile--test-error-line): Check the compilation message type, if
8262         it's specified in the test data.
8264 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
8266         Update Maven compilation-mode entry to distinguish warnings
8267         * lisp/progmodes/compile.el
8268         (compilation-error-regexp-alist-alist): Update Maven entry to
8269         distinguish warnings (bug#20556).
8271 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
8273         * test/automated/sgml-mode-tests.el: New file.
8275 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
8277         Improve handling of the first Git revision
8278         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
8279         there's no next entry, delete until the end of the buffer.
8280         (log-view-end-of-defun-1): Stop at eob.
8281         * lisp/vc/vc-annotate.el
8282         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
8283         when previous-revision is nil.
8284         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
8285         with `--' to avoid ambiguity.
8286         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
8287         returned revision string.
8288         (vc-git-annotate-time): Expect `^' before the first revision.
8289         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
8290         REV1 is nil, and REV2 is not.
8291         * lisp/vc/vc.el: Update the description of the `diff' function.
8293 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
8295         Allow checkdoc to be called in batch
8296         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
8297           is non-nil, echo the error with `warn'.
8298         How it can be used in -batch:
8299         (with-current-buffer (find-file "checkdoc.el")
8300           (checkdoc-current-buffer t))
8302 2015-05-18  Glenn Morris  <rgm@gnu.org>
8304         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
8306 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
8308         * admin/notes/unicode: New section "binary files".
8310         Change new etags test to use UTF-8 encoding
8311         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
8312         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
8313         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
8314         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
8315         * test/etags/html-src/softwarelibero.html:
8316         Switch to UTF-8 encoding.
8317         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
8318         Remove Makefile, as it's too incestuous to have the test input
8319         include the build procedure.
8320         (UTF8_LOCALE, UTF_ENCODING): New macros.
8321         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
8322         (check): Skip if not UTF-8.
8323         (.PHONY): New rule.
8324         (FRC): Remove, as superseded by .PHONY.  All uses removed.
8325         (regexfile): Prefer printf to echo when outputting oddball chars.
8326         (.PRECIOUS): Remove, as these files are not built.
8328         Rename 'foo-gzipped' to 'foo.gz'
8329         * test/automated/data/decompress/foo.gz:
8330         Rename from test/automated/data/decompress/foo-gzipped,
8331         to make it easier for other tools to tell that it's compressed.
8332         * test/automated/zlib-tests.el (zlib--decompress):
8333         Adjust to renamed file.
8335 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
8337         Set up default-directory
8338         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
8339         binding for `v'.
8340         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
8341         appropriate value for default-directory.
8343 2015-05-17  Samer Masterson  <samer@samertm.com>
8345         * lisp/eshell/em-term.el (eshell-term-sentinel):
8346         No-op by default, only kills term buffer if
8347         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
8348         (eshell-destroy-buffer-when-process-dies): New custom to preserve
8349         previous behavior.
8351         eshell: Introduce new buffer syntax
8352         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
8353         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
8354         needed (Bug#19319).
8355         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
8356         (eshell-get-target): Remove shorthand-specific code.
8357         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
8358         '#<buffer-name>'.
8360 2015-05-17  Jan D  <jan.h.d@swipnet.se>
8362         Merge branch 'master' into cairo
8364 2015-04-26  Jan D  <jan.h.d@swipnet.se>
8366         Merge branch 'master' into cairo
8368         Add PBM support for cairo.
8369         * src/image.c (xcolor_to_argb32): New function.
8370         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
8371         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
8372         XImagePtr if ! USE_CAIRO.
8373         (pbm_load): Add cairo support.
8375 2015-04-12  Jan D  <jan.h.d@swipnet.se>
8377         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
8378         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
8379         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
8380         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
8381         x_free_cr_resources.
8383         Handle specified bg in images.  Use generic libpng code for PNG:s.
8384         * src/image.c (get_spec_bg_or_alpha_as_argb)
8385         (create_cairo_image_surface): New functions when USE_CAIRO.
8386         (xpm_load): Call the above functions.  Handle XPM without mask
8387         when USE_CAIRO.
8388         (png_load_body): Handle USE_CAIRO case.
8389         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
8390         instead.
8391         (jpeg_load_body): Call create_cairo_image_surface.
8392         (gif_load, svg_load_image): Handle specified background, call
8393         create_cairo_image_surface.
8394         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
8396 2015-04-11  Jan D  <jan.h.d@swipnet.se>
8398         Support GIF and Tiff with cairo.
8399         * configure.ac: Allow jpeg with cairo.
8400         Allow tiff and gif with cairo.
8401         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
8402         (tiff_load): Create cairo image surface if USE_CAIRO.
8403         (gif_load): Ditto.
8405         Support JPEG with USE_CAIRO.
8406         * configure.ac: Allow jpeg with cairo.
8407         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
8409 2015-04-05  Jan D  <jan.h.d@swipnet.se>
8411         Support RSVG and cairo.
8412         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
8413         * src/dispextern.h (struct image): add cr_data2 if cairo.
8414         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
8415         (x_clear_image): Free cr_data and cr_data2 if set.
8416         (xpm_load): Assign data to cr_data2.
8417         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
8419 2015-04-03  Jan D  <jan.h.d@swipnet.se>
8421         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
8422         * configure.ac (HAVE_RSVG): Move after cairo.
8423         (USE_CAIRO): Disable rsvg, don't disable Xpm.
8424         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
8425         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
8426         don't return early.
8427         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
8428         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
8429         and create a surface.
8431         Tool tips for menus did not show any text.
8432         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
8433         tip frames, the geometry may be wrong.
8435         Merge branch 'master' into cairo, fixes tooltips not shown.
8437         Merge branch 'master' into cairo
8439         Add CAIRO_CFLAGS to lwlib/Makefile.in
8440         * Makefile.in (CAIRO_CFLAGS): Add.
8442 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8444         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
8446 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8448         Draw outermost line using black relief and erase corners also for cairo.
8449         * xterm.c [USE_CAIRO]: Include math.h.
8450         (enum corners) [USE_CAIRO]: New enum.
8451         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
8452         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
8453         than 1, draw the outermost line using the black relief.
8455         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
8457 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8459         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
8461         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
8463         Use int instead of unsigned int for width and height args.
8464         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
8465         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
8466         width and height args.
8468         Modernize k&r cairo-related function declarations.
8469         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
8470         (xg_print_frames_dialog): Modernize k&r declarations.
8471         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
8472         (Fx_print_frames_dialog): Modernize k&r declarations.
8473         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
8474         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
8475         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
8476         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
8477         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
8478         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
8479         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
8480         (x_clear_area): Modernize k&r declarations.
8482         Implement wave-style variant of underlining for cairo.
8483         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
8484         (x_draw_underwave) [USE_CAIRO]: Use it.
8486         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
8488 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8490         Fix fringe bitmap initialization for cairo.
8491         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
8492         cairo image surface.
8493         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
8495 2015-02-11  Jan D  <jan.h.d@swipnet.se>
8497         Add cairo drawing.
8498         * configure.ac (with-cairo): New option.
8499         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
8500         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
8501         Output "Does Emacs use cairo?".
8502         * lisp/version.el (emacs-version): Add cairo version.
8503         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
8504         (FONT_OBJ): Add comment about ftcrfont.
8505         (ALL_CFLAGS): Add CAIRO_CFLAGS.
8506         (LIBES): Add CAIRO_LIBS.
8507         * src/dispextern.h (struct image): Add cr_data for cairo.
8508         (x_cr_init_fringe): Declare.
8509         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
8510         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
8511         * src/fringe.c (x_cr_init_fringe): New function name that shares code
8512         with w32_init_fringe.
8513         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
8514         * src/ftfont.c (ftfont_info_size); New global variable.
8515         (ftfont_open2): New extern function almost the same as old ftfont_open,
8516         but takes the font_object as argument.
8517         (ftfont_open): Build font object and call ftfont_open2.
8518         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
8519         * src/gtkutil.c (xg_clear_under_internal_border)
8520         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
8521         queue_draw if not cairo.  Change args to x_clear_area.
8522         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
8523         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
8524         (xg_print_frames_dialog): New functions for printing.
8525         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
8526         (xg_print_frames_dialog): Declare.
8527         * src/image.c: Add defined (USE_CAIRO) for PNG.
8528         Add !defined USE_CAIRO for W32 PNG code.
8529         (x_clear_image): If cairo, destroy the surface in cr_data.
8530         (png_load): Add new cairo compatible implementation.
8531         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
8532         * src/xfns.c: New section Printing.
8533         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
8534         (x-print-frames-dialog): New printing functions.
8535         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
8536         cairo.
8537         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
8538         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
8539         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
8540         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
8541         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
8542         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
8543         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
8544         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
8545         Declare.
8546         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
8547         (max_fringe_bmp, fringe_bmp): New variables.
8548         (x_gc_get_ext_data, x_extension_initialize)
8549         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
8550         (x_set_cr_source_with_gc_foreground)
8551         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
8552         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
8553         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
8554         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
8555         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
8556         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
8557         (x_update_begin): Create cairo surface if needed.
8558         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
8559         (x_update_end): Paint cairo drawing surface to xlib surface.
8560         (x_clear_under_internal_border, x_after_update_window_line): Adjust
8561         arguments to x_clear_area.
8562         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
8563         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
8564         of XSetClipMask.
8565         (x_set_glyph_string_clipping)
8566         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
8567         instead of XSetClipRectangles.
8568         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
8569         x_fill_rectangle instead of XFillRectangle.
8570         (x_draw_glyph_string_foreground)
8571         (x_draw_composite_glyph_string_foreground)
8572         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
8573         of XDrawRectangle.
8574         (x_draw_relief_rect): Add code for USE_CAIRO.
8575         Call x_reset_clip_rectangles instead of XSetClipMask.
8576         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
8577         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
8578         instead of XSetClipMask.
8579         (x_draw_image_foreground, x_draw_image_foreground_1):
8580         x_draw_rectangle instead of XDrawRectangle.
8581         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
8582         XFillRectangle.
8583         (x_draw_image_glyph_string): If img has cr_data, use it as
8584         a cairo surface.
8585         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
8586         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
8587         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
8588         x_reset_clip_rectangles instead of XSetClipMask.
8589         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
8590         (x_clear_area1): New function that calls XClearArea.
8591         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
8592         non-cairo.
8593         (x_clear_frame): x_clear_window instead of XClearWindow.
8594         (x_scroll_run): Set frame garbaged if cairo.
8595         (XTmouse_position): Initialize *part to 0.
8596         (x_scroll_bar_create): Adjust arguments to x_clear_area.
8597         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
8598         x_fill_rectangle instead of XFillRectangle.
8599         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
8600         arguments to x_clear_area.
8601         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
8602         (handle_one_xevent): Adjust arguments to x_clear_area.
8603         Destroy cairo surface for frame if ConfigureNotify.
8604         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
8605         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
8606         x_reset_clip_rectangles instead of XSetClipMask.
8607         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
8608         x_reset_clip_rectangles instead of XSetClipMask.
8609         (x_clear_frame_area): Adjust arguments to x_clear_area.
8610         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
8611         (x_term_init): Call x_extension_initialize if cairo.
8612         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
8613         x_cr_destroy_fringe_bitmap for cairo.
8614         (x_initialize): Call x_cr_init_fringe for cairo.
8615         * src/xterm.h: Add include of cairo header files.
8616         (x_bitmap_record): Add img if cairo.
8617         (x_gc_ext_data): New struct for cairo.
8618         (x_display_info): Add ext_codes for cairo.
8619         (x_output): Add cr_context and cr_surface for cairo.
8620         (x_clear_area): Change arguments from Display*/Window to frame pointer.
8621         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
8622         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
8623         (x_cr_draw_frame, x_cr_export_frames): Declare.
8625 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
8627         Fix integer-valued `mouse-highlight' (Bug#20590)
8628         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
8630 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
8632         MS-Windows followup for ASCIIfication of curved quotes
8633         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
8634         test for curved quotes being displayable, after switching the
8635         terminal encoding.  (Bug#20545)
8637 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
8639         Spelling fixes
8641 2015-05-17  Jan D  <jan.h.d@swipnet.se>
8643         Add comment that x_shift_glyphs_for_insert is never called.
8644         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
8645         comment that this function is never called.
8647 2015-05-16  Glenn Morris  <rgm@gnu.org>
8649         * src/lisp.mk: Remove from repository and generate at build-time.
8650         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
8651         (shortlisp_filter): New variable.
8652         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
8653         (distclean): Remove lisp.mk.
8654         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
8655         * lisp/loadup.el: Tweak layout to make it easier to parse.
8656         * make-dist: Do not distribute src/lisp.mk.
8658 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8660         Display shorter dates in Git annotate output
8661         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
8662         format (when not overridden with vc-git-annotate-switches).
8663         (vc-git-annotate-time): Support the short format, as well as ISO
8664         8601 that has been used until now (bug#5428).
8666 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
8668         ASCIIfy curved quotes on displays lacking them
8669         * lisp/international/mule-cmds.el (set-locale-environment):
8670         If curved quotes don't work, display straight ASCII approximations
8671         (Bug#20545).
8673 2015-05-16  Glenn Morris  <rgm@gnu.org>
8675         Small src/Makefile simplification.
8676         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
8677         * src/Makefile.in (lisp): Derive from shortlisp.
8678         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
8680 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
8682         * lisp/help-mode.el (help-go-forward): Doc fix.
8683         (Bug#20577)
8685         * doc/lispref/debugging.texi (Profiling): Improve indexing.
8686         (Bug#20576)
8688 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8690         Use `unless' to have one fewer `not'
8691         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
8692         have one fewer `not'.
8694         Remove redundant :group declarations from vc-git.el
8695         * lisp/vc/vc-git.el (vc-git-diff-switches)
8696         (vc-git-annotate-switches, vc-git-resolve-conflicts)
8697         (vc-git-program, vc-git-root-log-format): Remove the redundant
8698         :group declarations.
8700 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
8702         Removes the predicate from lisp-complete-symbol (Bug#20456)
8703         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
8704         and remove it from the docstring.
8706 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8708         Add new option vc-git-resolve-conflicts
8709         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
8710         (vc-git-find-file-hook): Add to after-save-hook only when the
8711         above is non-nil.
8712         (vc-git-resolve-when-done): Update to honor the new variable.
8713         (Bug#20292)
8715 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
8717         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
8718         (tabulated-list-init-header): Document new behavior.
8719         (tabulated-list-print-fake-header): No nothing if
8720         `tabulated-list--header-string' is nil.
8721         (tabulated-list--header-string): Add a docstring.
8722         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
8723         * etc/NEWS: Document it.
8725 2015-05-15  Leo Liu  <sdl.web@gmail.com>
8727         Revert "Fix cps--gensym"
8728         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
8729           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
8731 2015-05-15  Glenn Morris  <rgm@gnu.org>
8733         Replace AC_SUBST_FILE in configure with include in Makefiles.
8734         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
8735         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
8736         (AUTO_DEPEND): New output variable.
8737         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
8738         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8739         (lwlib_deps_frag): Replace by conditional include.
8740         * lwlib/autodeps.mk: Remove file.
8741         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
8742         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8743         (oldxmenu_deps_frag): Replace by conditional include.
8744         * oldXMenu/autodeps.mk: Remove file.
8745         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
8746         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8747         (lisp_frag): Replace by an include.
8748         (deps_frag): Replace by conditional include.
8749         * src/autodeps.mk: Remove file.
8751         Tweak japanese.el's loading of dependencies.
8752         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
8753         * lisp/language/japanese.el: Use require rather than load.
8754         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
8755         Provide a feature.
8756         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
8757         Provide a feature in the generated file.
8759 2015-05-15  Jan D  <jan.h.d@swipnet.se>
8761         Fix NS warnings.
8762         * nsmenu.m (ns_popup_dialog)
8763         * nsimage.m (initFromXBM:width:height:fg:bg:)
8764         * nsfns.m (Fx_create_frame): Remove unused variables.
8765         (Fns_read_file_name): Initialize fname, remove ret.
8766         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
8767         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
8768         variable.
8769         (init): Add parantesis in if.
8770         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
8772 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8774         Fix a enum conversion warning in macfont.m
8775         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
8776         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
8778 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
8780         Support de-alt dictionary with Aspell.
8781         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
8782         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
8784 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8786         cus-start.el: Add ns-confirm-quit.
8787         * cus-start.el: Add ns-confirm-quit.
8789         Fix warnings on OSX 10.10.
8790         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
8791         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
8792         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
8793         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
8794         * nsimage.m (allocInitFromFile, setPixmapData): Only call
8795         setScalesWhenResized for OSX < 10.6.
8796         * nsterm.h (EmacsScroller): Declare scrollerWidth.
8797         * nsterm.m (ns_copy_bits): New function that does not use deprecated
8798         NSCopyBits.
8799         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
8800         (runAlertPanel): New function.
8801         (applicationShouldTerminate:): Call runAlertPanel.
8802         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
8803         for OSX < 10.10.
8804         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
8805         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
8806         (draggingEntered:): Returns NSDragOperation.
8807         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
8809 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8811         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
8812         (package--init-file-ensured): New variable.
8813         (package-initialize, package--ensure-init-file): Use it.
8815 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8817         Honor :fore/background for XBM on NS (Bug#14969).
8818         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
8819         initFromXBM takes bg, fg args, remove flip arg.
8820         (ns_image_from_XBM): Add bg, fg args.
8821         * image.c (x_create_bitmap_from_data)
8822         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
8823         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
8824         Remove flip arg.
8825         (initFromSkipXBM): Move code to initFromXBM.
8826         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
8827         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
8828         false.
8829         Remove bit flipping (bitPat, swt), generated incorrect images when
8830         width/height wasn't a multiple of 8.
8831         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
8832         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
8833         flip arg.
8835 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8837         * lisp/emacs-lisp/package.el: Be more careful with the init file
8838         (package--ensure-init-file): Check that user-init-file is set,
8839         exists, is readable, and is writable.  (Bug#20584)
8840         Also expand the docstring.
8842 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
8844         Sync with upstream verilog-mode revision 6232468
8845         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
8846         (verilog-highlight-grouping-keywords): Fix use of face when
8847         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
8848         Pompa.
8849         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
8850         parent is reset, bug906. Reported by Ken Schmidt.
8851         (verilog-auto-inout-module): Add fourth regexp argument to
8852         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
8853         bug856. Reported by John Tillema.
8854         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
8855         modport if signal attachment is itself a modport.  Reported by
8856         Matthew Lovell.
8857         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
8858         always_comb and always_latch, bug844.  Reported by Greg Hilton.
8859         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
8860         with many curly-bracket pairs, bug663.
8861         (verilog-set-auto-endcomments): Fix end comments for functions of
8862         type void, etc.  Reported by Alex Reed.
8863         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
8864         caused by indent-line-to deleting tabls pre 24.5.
8865         (verilog-nameable-item-re): Fix nameable items that can have an
8866         end-identifier to include endchecker, endgroup, endprogram,
8867         endproperty, and endsequence.  Reported by Alex Reed.
8868         (verilog-label-be): When auto-commenting a buffer, consider
8869         auto-comments on all known keywords (not just a subset thereof).
8870         Reported by Alex Reed.
8871         (verilog-auto-end-comment-lines-re)
8872         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
8873         Automatically comment property/endproperty blocks to match other
8874         similar blocks like sequence/endsequence, function/endfunction,
8875         etc. Reported by Alex Reed.
8876         (verilog-set-auto-endcomments): Detect the function- or task-name
8877         when auto-commenting blocks that lack an explicit
8878         portlist. Reported by Alex Reed.
8879         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
8880         allow post-AUTO user fixups, bug826. Reported by Dennis
8881         Muhlestein.
8882         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
8883         is nil, fix indenting initial/final to match always statements,
8884         bug825. Reported by Tim Clapp.
8885         (verilog-extended-complete-re): Fix indentation of DPI-C imports
8886         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
8887         Mao and Jason Forkey.
8888         (verilog-read-decls): Fix parsing typed interfaces.  Fix
8889         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
8890         Fix localparam not being ignored in AUTOINSTPARAM,
8891         bug889. Reported by Shannon Hill.
8892         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
8893         bug793.  Reported by Pierre-David Pfister.
8894         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
8895         verilog-auto-arg-format to support newlines in AUTOARG. Reported
8896         by Jie Xiao.
8897         (verilog-batch-execute-func): Do not batch re-auto files loaded by
8898         Local Variables. Fix printing "no changes to be saved" with
8899         verilog-batch. Reported by Dan Dever.
8900         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
8901         interface-only modules, bug721.  Reported by Dean Hoyt.
8902         Author: Alex Reed <acreed4@gmail.com>
8903         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
8904         treat '<keyword>:<identifier>' as the start of a labeled
8905         statement, bug905.  Reported by Enzo Chi.
8906         (verilog-directive-re, verilog-compiler-directives)
8907         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
8908         directives (plus some extras) when determining indentation, bug
8909         901.  Reported by Bernd Beuster.
8910         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
8911         iff expression doesn't start with word-character, bug900.
8912         (verilog-optional-signed-range-re, verilog-optional-signed-re):
8913         Fix incorrect indentation/alignment of unsigned declarations,
8914         bug897.
8915         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
8916         always constructs, bug895.
8917         (verilog-calc-1): Fix verilog-mode constraint indentation,
8918         bug324. Reported by Eric Mastromarchi.
8919         (verilog-beg-of-statement): Fix indenting for some forms of
8920         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
8921         continued assignment incorrect if first line ends with ']',
8922         bug437. Reported by Dan Dever.  Fix indention of cover inside an
8923         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
8924         blocks, bug842.
8925         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
8926         bug859. Reported by Kaushal Modi.
8927         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
8928         (verilog-backward-token): Fix indenting sensitivity lists with
8929         named events, bug840.  Reed.
8930         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
8931         nil not honoring 'forever', 'foreach', and 'do' keywords.
8933 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
8935         Check for invalid GTK+ monitor scales
8936         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
8937         INT_MAX for too-large scales.  All callers changed to assume the
8938         result is valid (Bug#20432).
8939         (xg_frame_set_char_size, xg_update_scrollbar_pos):
8940         Calculate scale only if needed.
8941         show ASCII approximations instead.
8943 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
8945         Fix daemon crashes when linum-mode is turned on early on
8946         * src/window.c (Fwindow_end): Don't try calling display engine
8947         functions on initial-frame frame.  (Bug#20565)
8949         Fix selective diff browsing in Ediff
8950         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
8951         beginning of the region before searching for the
8952         ediff-regexp-focus-* regexps.  (Bug#20568)
8954 2015-05-14  Jan D  <jan.h.d@swipnet.se>
8956         Fixes Bug#20142.
8957         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
8958         in the main loop, even for Gtk 3 (Bug#20142).
8960         Don't access display after i/o error (Bug#19147).
8961         * xterm.c (x_connection_closed): Add third arg ioerror.
8962         If ioerror, set display to 0 (Bug#19147).
8963         (x_error_quitter): Call x_connection_closed with third arg false.
8964         (x_io_error_quitter): Call x_connection_closed with third arg true.
8966         Handle GTK_SCALE, fixes Bug#20432.
8967         * gtkutil.c (xg_get_gdk_scale): New function.
8968         (xg_frame_set_char_size)
8969         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
8970         (xg_get_default_scrollbar_height)
8971         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
8972         when setting sizes (Bug#20432).
8974 2015-05-13  Leo Liu  <sdl.web@gmail.com>
8976         Fix cps--gensym
8977         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
8979 2015-05-13  Glenn Morris  <rgm@gnu.org>
8981         Fix bootstrap (void function cl-member).
8982         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
8983         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
8985 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8987         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
8988         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
8989         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
8990         Avoid defalias for closures which are not immutable.
8991         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
8992         dispatchers table with various entries.
8993         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
8994         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
8996 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
8998         Improve tagging of C bindings in DEFVAR_*
8999         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
9000         from DEFVAR_*.
9002 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
9004         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
9006 2015-05-12  Glenn Morris  <rgm@gnu.org>
9008         * lisp/progmodes/tcl.el (tcl-filter):
9009         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
9011         Add basic VC push support.
9012         * lisp/vc/vc.el (vc-push): New autoloaded command.
9013         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
9014         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
9015         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
9016         (vc-bzr-push): New.
9017         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
9018         (vc-git-pull): Reimplement using vc-git--pushpull.
9019         (vc-git-push): New.
9020         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
9021         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
9022         * doc/emacs/maintaining.texi (Pulling / Pushing):
9023         Rename from "VC Pull".  Mention pushing.
9024         (VC With A Merging VCS, VC Change Log): Update xrefs.
9025         (Branches): Update menu.
9026         * doc/emacs/emacs.texi: Update menu.
9027         * etc/NEWS: Mention this.
9029 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
9031         Improve the seq pcase pattern and the `seq-let' macro
9032         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
9033         object is a sequence, and binds each element of ARGS to the
9034         corresponding element of the sequence.
9036 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
9038         Fix tags created from DEFVAR_* declarations in C
9039         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
9040         to make tags extracted from DEFVAR_* declarations more accurate.
9042         Add a test suite for etags
9043         * test/etags/: New test suite, adapted from
9044         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
9045         whose original author is Francesco Potortì <pot@gnu.org>.
9047         Fix tagging of symbols in C enumerations
9048         * lib-src/etags.c (consider_token): Don't tag symbols in
9049         expressions that assign values to enum constants.  See
9050         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
9051         for details.
9052         (C_entries): Reset fvdef to fvnone after processing a preprocessor
9053         conditional and after a comma outside of parentheses.
9055 2015-05-12  Glenn Morris  <rgm@gnu.org>
9057         * lisp/url/url-handlers.el (url-file-name-completion)
9058         (url-file-name-all-completions): Silence compiler.
9060         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
9062         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
9064 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
9066         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
9067         (cl--generic-mandatory-args): Remove.
9068         (cl--generic-split-args): New function.
9069         (cl-generic-define, cl--generic-lambda): Use it.
9070         (cl-generic-define-method): Use it as well, and add support for
9071         context args.
9072         (cl--generic-get-dispatcher): Handle &context dispatch.
9073         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
9074         (cl--generic-dispatchers): Pre-fill.
9075         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
9077 2015-05-11  Glenn Morris  <rgm@gnu.org>
9079         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
9081 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
9083         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
9084         * lisp/term/rxvt.el: Require term/xterm.
9085         (rxvt-function-map): Use xterm-rxvt-function-map.
9086         (rxvt-standard-colors): Move before first use.
9087         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
9088         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
9089         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
9090         Move shared bindings between rxvt and xterm to it.
9091         (xterm-function-map): Use it.  Move the xterm-paste binding to
9092         xterm-rxvt-function-map (bug#20444).
9093         (xterm-standard-colors): Move before first use.
9094         (xterm--push-map): New function.
9095         (xterm-register-default-colors): Take standard colors as argument.
9096         (terminal-init-xterm): Use it.  Adjust call to
9097         xterm-register-default-colors.
9099 2015-05-11  Glenn Morris  <rgm@gnu.org>
9101         * lisp/term/x-win.el: Quieten --without-x compilation.
9102         (x-own-selection-internal, x-disown-selection-internal)
9103         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
9104         Declare.
9106         * Makefile.in (emacslog): Remove srcdir.
9107         (ChangeLog): Update for the above.
9109 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
9111         Spelling fix
9113 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9115         python.el: better limit for looking-back calls
9116         * lisp/progmodes/python.el (python-shell-accept-process-output):
9117         Use last comint prompt start as limit for looking-back.
9119 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
9121         CEDET (srecode-insert-fcn): Fix use of oref on a class
9122         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
9123         a class.  Reported by Pierre Lorenzon.
9124         (srecode-template-inserter-point): Remove declaration.
9126         CEDET (srecode-create-dictionary): Avoid obsolete object name
9127         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
9128         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
9130 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9132         C-x 8 shorthands for curved quotes, Euro, etc.
9133         Although C-x 8 lets you insert arbitrary Unicode characters,
9134         it's awkward to use this to insert commonly used symbols such as curved
9135         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
9136         characters commonly found in English text and in basic math.
9137         For example, assuming the Alt key works on your keyboard and iso-transl
9138         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
9139         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
9140         (Bug#20499)
9141         * doc/emacs/mule.texi (Unibyte Mode):
9142         A few other printing characters now work too.
9143         * etc/NEWS: Document this.
9144         * lisp/international/iso-transl.el (iso-transl-char-map):
9145         Also support the following characters:
9146         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
9148 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
9150         Add xref-find-regexp
9151         * lisp/progmodes/xref.el (xref-find-function): Describe the
9152         `matches' action.
9153         (xref-find-regexp): New command, using it.
9154         (xref-collect-references): Rename to xref-collect-matches.
9155         (xref--collect-reference): Rename to xref--collect-match.
9156         (xref-collect-matches, xref--collect-match): Accept new argument,
9157         KIND.  Update accordingly.
9158         (xref--regexp-to-extended): New function.
9159         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
9160         `matches' action.
9161         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
9162         * lisp/progmodes/etags.el (etags-xref-find):
9163         Support the `matches' action.
9164         (etags--xref-find-matches): New function.
9166 2015-05-10  Glenn Morris  <rgm@gnu.org>
9168         * Makefile.in: Fixes for recent change-history changes.
9169         (change-history-nocommit): Update footer regexp.
9170         Ensure output script stays executable.
9172 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
9174         New version of `seq-let' based on a pcase pattern
9175         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
9176         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
9178 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
9180         Add basic HTML5 tags and a template
9181         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
9182         (html-tag-alist): Add HTML5 tags.
9183         (html-tag-help): Add new tags descriptions.
9184         (html-navigational-links): Template for nav links.
9185         (html-html5-template): Template for a HTML5 page.
9187 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
9189         semantic/symref/grep: Don't use word boundaries
9190         * lisp/cedet/semantic/symref/grep.el
9191         (semantic-symref-perform-search): Instead of wrapping input in
9192         word boundaries, check that the characters before and after are
9193         not word constituents.
9195         semantic/symref/grep: Support regexp search
9196         * lisp/cedet/semantic/symref.el
9197         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
9198         the search type is regexp.
9199         * lisp/cedet/semantic/symref/grep.el
9200         (semantic-symref-perform-search): Support the regexp search type.
9201         Pass -E to Grep when it's used.
9203         semantic-symref-regexp: Allow to input an arbitrary string
9204         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
9205         Allow to input an arbitrary string interactively.
9207         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
9208         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
9209         Remove tag-symbol-match-p from the default value
9210         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
9212         Declare find-tag obsolete
9213         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
9214         xref-find-definitions.
9216 2015-05-10  Jan D  <jan.h.d@swipnet.se>
9218         Draw composite string correctly (Bug#20537).
9219         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
9220         (ns_draw_glyph_string): Call it (Bug#20537).
9222 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
9224         Avoid infloop in ERC
9225         * lisp/simple.el (line-move-to-column): Ignore field boundaries
9226         while computing line beginning position.  (Bug#20498)
9228 2015-05-08  Glenn Morris  <rgm@gnu.org>
9230         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
9231         * build-aux/gitlog-to-emacslog: Check called from right directory.
9232         (srcprefix): Remove.
9234         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
9235         * Makefile.in (ChangeLog): No longer pass "distprefix".
9236         * make-dist: Update "make ChangeLog" syntax for the above change.
9238         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
9239         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
9241         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
9243         Add command-line option-parsing to gitlog-to-emacslog.
9244         * build-aux/gitlog-to-emacslog: Add command-line options.
9245         By default, refuse to remove an existing output file.
9246         * Makefile.in (CHANGELOG): Update default.
9247         (ChangeLog): Do not test for existing file.
9248         (change-history-nocommit): Ensure temp file does not exist.
9250         Quieten --without-x compilation.
9251         * lisp/term/common-win.el: Provide a feature.
9252         * lisp/term/x-win.el (term/common-win): Require it.
9254         * lisp/dired-aux.el (dired-do-print): Require lpr.
9256         Quieten compilation, eg in --without-x builds.
9257         * lisp/dired-aux.el (lpr-printer-switch):
9258         * lisp/frame.el (tool-bar-height):
9259         * lisp/linum.el (font-info):
9260         * lisp/window.el (font-info, overflow-newline-into-fringe)
9261         (tool-bar-height):
9262         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
9263         * lisp/gnus/gnus-util.el (iswitchb-mode):
9264         * lisp/mail/rmailmm.el (libxml-parse-html-region):
9265         * lisp/net/nsm.el (gnutls-peer-status)
9266         (gnutls-peer-status-warning-describe):
9267         * lisp/net/shr.el (libxml-parse-xml-region):
9268         * lisp/url/url-http.el (gnutls-peer-status): Declare.
9270 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
9272         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
9273         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
9274         `subclass' since they're never called with a class.
9275         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
9276         srecode-dictionary-child-p.
9278 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
9280         help--binding-locus: Document argument POSITION.
9281         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
9283 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
9285         Merge from gnulib.
9286         * doc/misc/texinfo.tex: Get latest version.
9288 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
9290         ffap.el (ffap-read-file-or-url): Fix completing-read call
9291         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
9292           `completing-read' should be a symbol.
9294 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
9296         Verify file modifications by other programs
9297         * src/filelock.c (lock_file): Check whether the file was modified
9298         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
9300         Fix keyboard macros that include function keys
9301         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
9302         keys in the macro before returning.  (Bug#20454)
9304 2015-05-08  Glenn Morris  <rgm@gnu.org>
9306         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
9307         "Copyright-paperwork-exempt".  (Bug#20324)
9309         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
9310         (log-edit-rewrite-tiny-change): New variable.
9311         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
9312         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
9313         * etc/NEWS: Mention this.
9315         * lisp/calc/calc.el (math-zerop): Declare.
9317         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
9319 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
9321         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
9322         Support the case when BINDINGS is a single tuple.  (Bug#20525)
9324         * etc/NEWS: Fix typo in commit 14bb519
9326 2015-05-07  Jan D  <jan.h.d@swipnet.se>
9328         Warn for multiple display crash for all Gtk+ versions.
9329         * configure.ac: Warn for multiple display crash for all Gtk+
9330         versions.  Output URL to Gtk+ bug (Bug#20452).
9332         ns-win.el (ns-paste-secondary): Use gui-get-selection.
9333         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
9335 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
9337         * lisp/emacs-lisp/package.el: New "external" package status
9338         An external package is any installed package that's not built-in
9339         and not from `package-user-dir', which usually means it's from an
9340         entry in `package-directory-list'.  They are treated much like
9341         built-in packages, in that they cannot be through the Package Menu
9342         deleted and are not considered for upgrades.
9343         (package-desc-status): Identify if a package is installed outside
9344         `package-user-dir'.
9345         (package-menu--print-info-simple)
9346         (package-menu--status-predicate): Add support for it.
9347         * etc/NEWS: Document it.
9349 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9351         * lisp/mail/rmail.el: Use lexical-binding
9352         (rmail-bury): Remove unused var `buffer-to-bury'.
9353         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
9354         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
9355         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
9356         (rmail-insert-inbox-text): Remove unused var `movemail'.
9357         (rmail-add-mbox-headers): Remove unused var `limit'.
9358         (rmail-undelete-previous-message): Remove unused var `value'.
9359         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
9360         `resent-reply-to'.
9361         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
9362         (rmail-restore-desktop-buffer): Rename arguments.
9364 2015-05-06  Glenn Morris  <rgm@gnu.org>
9366         * Makefile.in (change-history-commit): Add missing piece of previous.
9368         Avoid unnecessary bumping of Makefile.in's timestamp.
9369         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
9370         (emacslog): New variable.
9371         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
9372         (unchanged-history-files): Use $emacslog rather than Makefile.in.
9373         (change-history-nocommit): Store hash in $emacslog.
9374         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
9375         * admin/update_autogen (changelog_files): Update for the above.
9377         * Makefile.in: Don't always insist on removing existing "ChangeLog".
9378         (CHANGELOG): New variable.
9379         (no-ChangeLog): Remove.
9380         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
9381         (change-history-nocommit): Use a temp file rather than insisting
9382         on deletion of any existing "ChangeLog".
9384         * build-aux/gitlog-to-emacslog: Allow specification of output.
9386         * admin/update_autogen: Add option to update ChangeLog.
9387         (usage): Mention -H.
9388         (changelog_flag, changelog_n, changelog_files): New variables.
9389         (main): Check for -H, and maybe run change-history-nocommit.
9391 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9393         * lisp/subr.el (delete-dups): Pre-size the hashtable.
9395         (define-modify-macro): Make sure cl--arglist-args is defined
9396         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
9397         cl--arglist-args is defined (bug#20517).
9399 2015-05-06  Glenn Morris  <rgm@gnu.org>
9401         * Makefile.in (change-history-nocommit): New.
9403 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
9405         Only cancel timer when it is non-nil
9406         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
9407         timer when it is non-nil
9408         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
9410 2015-05-06  Glenn Morris  <rgm@gnu.org>
9412         Quieten cedet compilation
9413         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
9414         Invert fboundp test to quieten on current Emacs.
9415         * lisp/cedet/ede/config.el (ede-shell-run-something)
9416         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
9417         (semanticdb-refresh-table): Declare.
9418         (ede-preprocessor-map): Require semantic/db.
9420         Quieten cc-mode compilation
9421         * lisp/progmodes/cc-awk.el (c-forward-sws):
9422         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
9423         Declare.
9425 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
9427         lisp/subr.el (delete-dups): Avoid nreverse.
9429 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
9431         * lisp/subr.el (delete-dups): Make it destructive again.
9433 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
9435         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
9437 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9439         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
9440         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
9441         (testcover--read): Rename from testcover-read.  Change calling convention.
9442         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
9443         (testcover-start): Use add-function.  Move edebug-all-defs binding to
9444         testcover--read.
9445         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
9446         (testcover-mark): Remove unused var `item'.
9447         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
9449 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
9451         lisp/subr.el (delete-dups): Use a hash table
9452         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
9453           use a hash table. This can result in ~500 times speed-up for typical
9454           collections of size 5000, like that of `load-library'.
9456 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9458         CEDET: Avoid `oref' on classes in a few more cases
9459         * lisp/cedet/ede/generic.el (ede-find-target):
9460         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
9461         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
9462         var `prefix'.
9464         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
9465         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
9466         (semantic-symref-perform-search): Remove unused var `pat'.
9468         CEDET (srecode-compile-inserter): Avoid `oref' on classes
9469         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
9470         Avoid `oref' on classes (bug#20491).
9471         (srecode-compile-split-code): Remove unused var `key'.
9473 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
9475         Clean up pulse.el a little
9476         * lisp/cedet/pulse.el (pulse): Remove.
9477         (pulse-momentary-timer): Save instead of the stop time.
9478         (pulse-momentary-highlight-overlay): Call
9479         pulse-momentary-unhighlight first thing. Treat
9480         pulse-momentary-overlay as a single value, not a list. Save the
9481         created timer. Only pass the stop time to the timer.
9482         (pulse-tick): Update accordingly.
9483         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
9484         single value. Cancel the timer.
9486 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
9488         Support the biblatex journaltitle field
9489         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
9490         Support the biblatex journaltitle field.
9492 2015-05-05  Glenn Morris  <rgm@gnu.org>
9494         Minor declare-function improvement
9495         * lisp/emacs-lisp/bytecomp.el
9496         (byte-compile-macroexpand-declare-function):
9497         Handle declarations after calls.  (Bug#20509)
9499         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
9501         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
9503 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
9505         Pulse using a timer
9506         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
9507         (pulse-momentary-highlight-overlay): Set up the timer instead of
9508         calling `pulse'
9509         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
9510         (pulse-tick): New function.
9511         (pulse-momentary-unhighlight): Cut off the stop time.
9512         (pulse-delay): Update the docstring WRT to not using sit-for.
9514         Add semantic/symref/grep file patterns for ruby-mode
9515         * lisp/cedet/semantic/symref/grep.el
9516         (semantic-symref-filepattern-alist): Add patterns for
9517         ruby-mode. Clarify the docstring.
9519         Don't require match
9520         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
9521         match. That doesn't work for every command, and some identifier
9522         completion tables are bound to be imperfect anyway.
9524 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9526         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
9527         (semantic-grammar--template-expand): New function.
9528         (semantic-grammar-header, semantic-grammar-footer): Use it.
9529         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
9530         (semantic-grammar-file-regexp): Refine regexp.
9531         (semantic-grammar-eldoc-get-macro-docstring):
9532         Use elisp-get-fnsym-args-string when available.
9533         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
9534         instead of the old eldoc-* names.
9535         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
9536         from elisp-mode.el.  Tweak calling convention.
9537         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
9538         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
9539         elisp--get-fnsym-args-string.
9540         (elisp--highlight-function-argument): Add `prefix' arg.
9541         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
9542         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
9544 2015-05-05  Glenn Morris  <rgm@gnu.org>
9546         * lisp/help-fns.el (describe-function-1):
9547         Handle builtins with advertised calling conventions.  (Bug#20479)
9549 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
9551         Merge branch 'seq-let'
9553         Update `seq-let' documentation
9554         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
9555         with the support of  `&rest'.
9557         Add support for &rest in `seq-let'
9558         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
9559         in the argument list.
9560         * test/automated/seq-tests.el: Add a test for parsing and binding
9561         `&rest' in `seq-let'.
9563 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
9565         Spelling fixes
9567 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
9569         * eieio-custom.el (eieio-object-value-get): Add missing increment
9570         (Bug#20467)
9572         (eieio-object-value-create): Adjust to new slots representation
9573         (Bug#20467)
9574         * eieio-custom.el (eieio-object-value-create):
9575         Fix missed adjustment to new representation of slots metadata.
9577 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
9579         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
9581 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
9583         Work around "Attempt to modify read-only object"
9584         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
9585         elisp--xref-find-definitions, to work around "Attempt to modify
9586         read-only object" error.
9588         Only skip some variables that have function counterparts
9589         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
9590         Only skip minor-mode-named variable if it's defined in a Lisp
9591         file, and it's in minor-mode-list (bug#20506).
9592         * test/automated/elisp-mode-tests.el
9593         (elisp-xref-finds-both-function-and-variable)
9594         (elisp-xref-finds-only-function-for-minor-mode): New tests.
9596 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9598         Buttonize the whole line, including the number at the beginning
9599         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
9600         previous change.
9601         (xref--insert-xrefs): Buttonize the whole line, including the
9602         number at the beginning.
9604         Make sure we're inside the let bindings
9605         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9606         Make sure we're inside the let bindings.
9607         * test/automated/elisp-mode-tests.el
9608         (elisp-completes-functions-after-let-bindings): New test.
9610 2015-05-04  Glenn Morris  <rgm@gnu.org>
9612         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
9613         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
9614         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
9615         Remove outdated declarations.
9617         Replace instances of "(eval-when-compile (autoload ...))"
9618         * lisp/gnus/gnus-art.el (nneething-get-file-name):
9619         Declare rather than autoload.
9620         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
9621         Remove pointless autoload.
9622         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
9623         (gnus-topic-create-topic, gnus-topic-enter-dribble):
9624         Declare rather than autoload.
9625         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
9626         (mailcap-extension-to-mime): Autoload at run-time.
9627         * lisp/gnus/mm-util.el (latin-unity-massage-name)
9628         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
9629         (latin-unity-representations-present-region):
9630         Declare rather than autoload.
9631         * lisp/gnus/mml-smime.el (epg-make-context)
9632         (epg-passphrase-callback-function): Autoload at run-time.
9633         (epg-context-set-signers, epg-context-result-for)
9634         (epg-new-signature-digest-algorithm)
9635         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
9636         (epg-sign-string, epg-encrypt-string)
9637         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
9638         (epg-configuration, epg-expand-group, epa-select-keys):
9639         Declare rather than autoload.
9640         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
9641         Autoload at run-time.
9642         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
9643         (gnus-registry-get-id-key, gnus-registry-action):
9644         Declare rather than autoload.
9645         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
9646         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
9647         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
9648         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
9649         (spam-stat-split-fancy): Remove pointless autoloads.
9650         * lisp/net/mairix.el: Load gnus-util when compiling.
9651         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
9652         (message-field-value): Declare rather than autoload.
9653         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
9654         Check gnus-alive-p is fbound.
9655         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
9656         (vm-check-for-killed-summary, vm-error-if-folder-empty)
9657         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
9658         Declare rather than autoload.
9660         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
9662         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
9663         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
9665         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
9667         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
9669         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
9670         * lisp/emacs-lisp/package.el (epg-signature-status):
9671         Fix declarations.
9673         * lisp/play/gametree.el (gametree-show-children-and-entry)
9674         (gametree-apply-layout, gametree-mouse-show-subtree)
9675         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
9677         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
9678         Handle cl-defgeneric, cl-defmethod.
9680 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9682         Highlight both type and symbol name
9683         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
9684         Highlight both type and symbol name.
9686         Insert, highlight and align line numbers in xref output
9687         * lisp/progmodes/etags.el (xref-location-line): Specialize for
9688         xref-etags-location.
9689         * lisp/progmodes/xref.el (xref-location-line): New generic method.
9690         (xref-file-location): Add reader for the line slot.
9691         (xref--location-at-point): Skip to the `xref-location' property.
9692         (xref--collect-reference): Drop the line number from description.
9693         (xref--insert-xrefs): Insert, highlight and align line numbers.
9695 2015-05-04  Daniel Colascione  <dancol@dancol.org>
9697         Fix previous commit
9699 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9701         Don't pulse the indentation, or the newline
9702         * lisp/cedet/pulse.el (pulse-lighten-highlight)
9703         (pulse-reset-face): Fall back to the inherited background
9704         attribute in FACE.
9705         (pulse-momentary-highlight-region): Add autoload cookie.
9706         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
9707         indentation, or the newline, if the line's non-empty
9708         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
9710 2015-05-04  Daniel Colascione  <dancol@dancol.org>
9712         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
9713         * doc/lispref/positions.texi (Excursions): Document
9714         `save-mark-and-excursion'.
9715         * lisp/font-lock.el (font-lock-fontify-block): Use
9716         `save-mark-and-excursion' instead of `save-excursion', restoring
9717         Emacs 24 behavior.
9718         * lisp/simple.el (save-mark-and-excursion--save)
9719         (save-mark-and-excursion--restore): New functions.
9720         (save-mark-and-excursion): New user macro.
9721         * src/editfns.c (Fsave_excursion): Mention
9722         `save-mark-and-excursion' in `save-excursion' documentation.
9724 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9726         Classify lone symbol inside let varlist as variable
9727         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9728         Classify lone symbol inside let varlist as variable.
9729         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
9730         New test.
9732         Add xref-pulse-on-jump
9733         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
9734         Add autoload cookie.
9735         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
9736         (xref--maybe-pulse): New function.
9737         (xref-pop-marker-stack, xref--pop-to-location)
9738         (xref--display-position): Use it.
9739         (xref--location-at-point): Use back-to-indentation.
9741 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
9743         * lisp/org/org-{macs,list}.el: Fix lexical warnings
9744         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
9745         (org-list-get-next-item, org-list-get-prev-item)
9746         (org-list-get-children): Mark unused arg `struct'.
9747         (org-list-use-alpha-bul-p): Remove unused var `bul'.
9748         (org-toggle-checkbox): Mark unused var.
9749         (org-update-checkbox-count): Remove unused var `box-num'.
9750         (org-adapt-indentation): Declare.
9751         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
9752         (org-list-send-list): Remove unused var `txt'.
9753         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
9754         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
9755         * lisp/org/org-macs.el: Use `declare'.
9756         (org-with-limited-levels): Declare dyn-bound vars.
9758 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
9760         Fix minor issues with CEDET on MS-Windows
9761         * lisp/cedet/semantic/symref/idutils.el
9762         (semantic-symref-parse-tool-output-one-line): Fix the search
9763         regexp to match MS-Windows file names with drive letters.
9764         (Bug#19468)
9765         * lisp/cedet/semantic/symref/grep.el
9766         (semantic-symref-grep-use-template): Remove "--color=always" from
9767         Grep switches on MS-Windows.
9768         (semantic-symref-grep-shell): Use shell-file-name as the default
9769         value, so this works not only on Posix platforms.
9770         (semantic-symref-perform-search): Use shell-quote-argument instead
9771         of literal '..' for portable quoting of Grep command-line
9772         argument.  Use shell-command-switch instead of a literal "-c".
9773         * lisp/cedet/semantic/bovine/gcc.el
9774         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
9775         for an absolute file name in a portable way.
9777 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
9779         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
9780         (package-import-keyring, package-refresh-contents)
9781         (package-compute-transaction, package--save-selected-packages)
9782         (package-install-from-archive, package-delete)
9783         (package-menu--perform-transaction): Use `inhibit-message'
9784         instead.
9785         (package--compile): Set `warning-minimum-level' to :error.
9787 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
9789         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
9790         (terminal-init-screen): Use it (bug#20356).
9791         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
9792         (xterm--extra-capabilities-type): New const.
9793         (xterm-extra-capabilities): Use it.
9794         (xterm--version-handler): Lower the pseudo-version for `screen'.
9796 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
9798         xref--insert-xrefs: Tweak the faces
9799         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
9800         Always insert a newline at the end (to avoid mouse-face background
9801         tail at the last line).
9803         elisp-completion-at-point: Prioritize being quoted over funpos
9804         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9805         Only consider function position when not inside quoted form
9806         (bug#20425).
9807         * test/automated/elisp-mode-tests.el: New file.
9809         Stop vc-print-log from jumping to the top
9810         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
9811         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
9812         is not specified.
9813         (vc-incoming-outgoing-internal): Always pass nil.
9814         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
9815         call it, and don't set vc-sentinel-movepoint (bug#15322).
9816         (vc-print-root-log): Don't fetch the root working revision, nor
9817         pass it to vc-print-log-internal.
9819 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
9821         Fix display of keyboard layouts for right-to-left scripts
9822         * lisp/international/quail.el (quail-insert-kbd-layout): Force
9823         left-to-right paragraph direction.
9825 2015-05-02  K. Handa  <handa@gnu.org>
9827         * cmds.c (internal_self_insert): When we insert spaces for
9828         padding, set point before the padding spaces, not after them.
9830 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
9832         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
9834 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
9836         Fix etags-xref-find for references
9837         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
9838         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
9839         directory if no tags tables are loaded (bug#19468).
9841 2015-05-02  Philipp Stephani  <phst@google.com>
9843         Update the options in whitespace-style defcustom
9844         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
9845         `repeat' because the option is really set-like.  Add missing
9846         options.  Reorder options to match the order in the
9847         documentation.  (Bug#20346)
9849 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
9851         Fix error diagnostics of c-macro-expand
9852         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
9853         too early if no start-marker string was found -- that generally
9854         means cpp exited abnormally, and we still want to show its error
9855         messages to the user.
9857         Don't require Texinfo 5.0 for Emacs documentation
9858         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
9859         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
9860         "@codequoteundirected on", respectively, to avoid requiring
9861         Texinfo 5.x for Emacs documentation.
9863 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
9865         * lisp/files.el (pwd):
9866         When called with a prefix argument, insert the current default
9867         directory at point.
9869 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9871         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
9872         * lisp/isearch.el (isearch-mode-map): Don't inhibit
9873         function-key-map remapping for backspace (bug#20466).
9875 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
9877         Implement xref-find-references in etags and elisp-mode
9878         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
9879         (elisp-xref-find): Use it.
9880         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
9881         * lisp/progmodes/xref.el (xref-collect-references):
9882         (xref--collect-reference): New functions.
9884 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
9886         Prefer plain characters to Texinfo circumlocutions
9887         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
9888         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
9890         Fix single-quoting style in PDF manuals
9891         The PDF versions of the GNU manuals used curved single quotes to
9892         represent grave accent and apostrophe, which made it a pain to cut
9893         and paste code examples from them.  Fix the PDF versions to use
9894         grave accent and apostrophe for Lisp source code, keystrokes, etc.
9895         This change does not affect the info files, nor does it affect
9896         ordinary uses of curved single quotes in PDF.
9897         * doc/emacs/docstyle.texi: New file, which specifies treatment for
9898         grave accent and apostrophe, as well as the document encoding.
9899         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
9900         * doc/lispintro/emacs-lisp-intro.texi:
9901         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
9902         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
9903         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
9904         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
9905         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
9906         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
9907         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
9908         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
9909         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
9910         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
9911         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
9912         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
9913         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
9914         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
9915         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
9916         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
9917         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
9918         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
9919         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
9920         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
9921         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
9922         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
9923         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
9924         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
9925         * doc/misc/woman.texi:
9926         Use it instead of '@documentencoding UTF-8', to lessen the need for
9927         global changes like this in the future.
9928         * doc/emacs/Makefile.in (EMACS_XTRA):
9929         * doc/lispintro/Makefile.in (srcs):
9930         * doc/lispref/Makefile.in (srcs):
9931         Add dependency on docstyle.texi.
9932         * doc/misc/Makefile.in (style): New macro.
9933         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
9934         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
9935         Use it.
9937 2015-05-01  Glenn Morris  <rgm@gnu.org>
9939         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
9941         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
9942         (help-fns--signature): Declare.
9944         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
9946 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
9948         New macro seq-let, providing destructuring support to seq.el
9949         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
9950         to `cl-destructuring-bind' but works on all sequence types supported
9951         by `seq.el'.  Bump version number to 1.6.
9952         * test/automated/seq-tests.el: Add tests for seq-let.
9953         * doc/lispref/sequences.texi: Add documentation for seq-let.
9955 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
9957         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
9959 2015-05-01  Glenn Morris  <rgm@gnu.org>
9961         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
9963 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
9965         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
9966         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
9967         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
9968         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
9969         (Bug#20445).
9971 2015-05-01  K. Handa  <handa@gnu.org>
9973         * mule-cmds.el (input-method-use-echo-area): Change :type to
9974         'boolean.
9976 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
9978         Start using proportional fonts in eww by default
9979         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
9980         it seems to work well.
9982         Fix links in tables in shr
9983         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
9984         makes (some) links in tables not work.
9986 2015-05-01  Jan D  <jan.h.d@swipnet.se>
9988         (ns-get-cut-buffer-internal): Remove this alias.
9989         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
9991 2015-04-30  Glenn Morris  <rgm@gnu.org>
9993         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
9994         Update for 2015-02-08 change to indirect-function.
9996         * lisp/term/ns-win.el (ns-get-selection-internal):
9997         Remove declaration for function deleted 2014-10-21.
9999         * lisp/dom.el: Load subr-x when compiling, for when-let.
10001         Silence some compilation warnings
10002         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
10003         * lisp/emulation/cua-base.el (delete-active-region):
10004         * lisp/net/net-utils.el (w32-get-console-output-codepage):
10005         * lisp/term/ns-win.el (ns-own-selection-internal)
10006         (ns-disown-selection-internal, ns-selection-owner-p)
10007         (ns-selection-exists-p, ns-get-selection):
10008         Declare for compiler..
10010         Function declaration updates prompted by 'make check-declare'
10011         * lisp/emacs-lisp/package.el (lm-homepage):
10012         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
10013         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
10014         * lisp/gnus/mml.el (libxml-parse-html-region):
10015         * lisp/gnus/nnrss.el (libxml-parse-html-region):
10016         * lisp/net/eww.el (libxml-parse-html-region):
10017         * lisp/net/shr.el (libxml-parse-html-region):
10018         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
10019         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
10020         * lisp/vc/vc-git.el (vc-annotate-convert-time):
10021         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
10022         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
10023         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
10024         Update declaration.
10026         Remove compatibility code for 20-year old function renaming
10027         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
10028         Make it an obsolete alias.
10029         (idlwave-shell-filter): Change all uses to comint-output-filter.
10031 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
10033         Add ace-window face config
10034         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
10035         configuration.
10037 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
10039         Unclutter 'make doc' output a bit
10040         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
10041         Use make subst rather than sh IFS to split target string apart.
10042         This makes 'make' output easier to follow.
10044         Merge from gnulib
10045         * doc/misc/texinfo.tex: Update from gnulib.
10047 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10049         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
10050         (package-menu--print-info): Obsolete.
10051         (package-menu--print-info-simple): New function.
10052         (package-menu--refresh): Use it, simplify code, and improve
10053         performance.
10054         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
10055         Tiny performance improvement.
10057         * lisp/emacs-lisp/package.el (package--message): inhibit-message
10059 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
10061         Omit -Wstrict-overflow workaround in GCC 5
10062         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
10063         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
10065         Merge from gnulib
10066         This incorporates:
10067         2015-04-29 extern-inline: no need for workaround in GCC 5.1
10068         2015-04-26 file-has-acl: port to CentOS 6
10069         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
10071 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
10073         Set next-error-* in xref--xref-buffer-mode
10074         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
10075         `next-error-last-buffer'.
10076         (xref--next-error-function): New function.
10077         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
10079 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
10081         python.el: Fix warnings on looking-back calls missing LIMIT
10082         * lisp/progmodes/python.el (python-shell-accept-process-output):
10083         Pass LIMIT arg to looking-back.
10085 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
10087         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
10088         (package--download-and-read-archives): Use pushnew instead of
10089         append.  If something terrible happened during a previous
10090         download, simply refreshing should now make things work again.
10092 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
10094         Introduce etags-xref-find-definitions-tag-order
10095         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
10096         New variable.
10097         (etags--xref-find-definitions): Use it (bug#19468).
10099 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
10101         PATH- and completion-related fixes in Eshell on MS-Windows
10102         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
10103         MS-Windows, prepend "." to list of directories produced from PATH,
10104         as Windows always implicitly searches the current directory first.
10105         (eshell-force-execution): Make it have a non-nil default value on
10106         MS-Windows and MS-DOS.
10107         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
10108         eshell-force-execution is non-nil, complete on readable files and
10109         directories, not only executables.  When running on MS-Windows,
10110         prepend "." to list of directories produced from PATH, as Windows
10111         always implicitly searches the current directory first.
10113 2015-04-29  Sam Steingold  <sds@gnu.org>
10115         bury RCIRC buffers when there is no activity
10116         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
10117         (rcirc-bury-buffers): new function
10118         (rcirc-next-active-buffer): when there is no new activity, use
10119         `rcirc-bury-buffers' to hide all RCIRC buffers
10121 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
10123         Fix DBUS query result parsing for secrets-search-items
10124         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
10125         parsing.  The function assumed that return value of the
10126         SearchItems method called on a collection is a list of two lists,
10127         however this is true only when no collection is specified.  GNOME
10128         had used to incorrectly return a list of two lists in both cases,
10129         but this was already fixed:
10130         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
10131         incorrect information in the secrets-search-items’ docstring.
10132         (Bug#20449)
10134 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
10136         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
10137         (byte-compile--message): Use `inhibit-message' instead of hiding
10138         the previous message with (message nil).
10140 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
10142         Remove the deprecated INTERNAL_FIELD macro by expanding it
10143         * src/lisp.h (INTERNAL_FIELD): Remove.
10144         (DEFVAR_KBOARD): Modify accordingly.
10145         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
10146         * syntax.c: Adjust users.
10147         * src/buffer.c (compact_buffer): Use BVAR.
10149 2015-04-29  Glenn Morris  <rgm@gnu.org>
10151         Replace an obsolete function alias
10152         * lisp/isearch.el (isearch-yank-x-selection):
10153         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
10154         (mouse-drag-secondary-moving):
10155         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
10156         Replace obsolete alias x-get-selection with gui-get-selection.
10158 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10160         * lisp/mail/rmailsum.el: Use lexical-binding.
10162 2015-04-29  Glenn Morris  <rgm@gnu.org>
10164         * test/automated/package-test.el (package-test-update-archives-async):
10165         Skip test on hydra.nixos.org.
10167 2015-04-28  Glenn Morris  <rgm@gnu.org>
10169         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
10170         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
10171         (foldout-mouse-hide-or-exit): Use new names for outline functions.
10173         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
10174         Update for 2014-06-26 hideif.el change.
10176         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
10177         (rmail--decode-and-apply): New function.
10178         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
10180         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
10182 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10184         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
10185         (package-menu--refresh): Delegate obsolete-hiding to
10186         `package--remove-hidden'.
10187         (package--remove-hidden): Disregard high-priority package if it is
10188         older than the installed one.
10190 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
10192         Update source file encoding list
10193         Update admin/notes/unicode, along with coding system cookies in
10194         other files, so that the two match each other better.
10195         * admin/notes/unicode: lisp/language/ethio-util.el and
10196         lisp/language/ethiopic.el also use utf-8-emacs.
10197         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
10198         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
10199         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
10200         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
10201         * etc/refcards/sk-survival.tex:
10202         Add "coding: utf-8" so that this file is not mishandled in a
10203         Latin-1 or Big-5 locale.
10204         * lisp/international/robin.el, lisp/org/ox-ascii.el:
10205         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
10206         * lisp/language/ethio-util.el: Fix trailer.
10208 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
10210         Fix synchronous invocation of Ispell
10211         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
10212         value to ispell-process-directory before calling ispell-init-process.
10213         Don't call set-process-coding-system if ispell-async-processp is nil.
10214         (Bug#20448)
10216 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10218         * lisp/emacs-lisp/package.el: Skip space and comments in init file
10219         (package--ensure-init-file): Insert snippet at first
10220         non-whitespace non-comments line.  Respects local-vars at the top
10221         of the file.
10223 2015-04-28  Glenn Morris  <rgm@gnu.org>
10225         * lisp/mail/rmail.el (rmail-copy-headers):
10226         Handle rmail-nonignored-headers being nil.  (Bug#18878)
10228         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
10230         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
10231         Don't get confused by a bzrlib version mismatch warning.
10233 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10235         Change default location of EUDC options file
10236         * NEWS: Document change to EUDC options file's default location.
10237         * lisp/net/eudc-vars.el (eudc-options-file): Use
10238         `locate-user-emacs-file' to change default options file location.
10240 2015-04-27  Glenn Morris  <rgm@gnu.org>
10242         * test/automated/package-test.el (package-test-update-archives-async):
10243         Try to handle the test server script dying.
10245 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10247         * lisp/saveplace.el (save-place-mode): New minor mode.
10248         (save-place): Redefine as an obsolete alias.
10250         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
10251         * lisp/midnight.el: Use lexical-binding.
10252         (midnight-mode): Make it a proper minor mode.
10253         (midnight-buffer-display-time): Make arg non-optional.
10254         (midnight-find): Remove.
10255         (clean-buffer-list-kill-never-regexps)
10256         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
10257         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
10258         contain functions.
10259         (clean-buffer-list): Use cl-find.
10260         Allow clean-buffer-list-kill-never-regexps to contain functions.
10262 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
10264         Bump version of seq.el to 1.5
10265         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
10266           from seq-doseq.  Bump version number of seq.el.
10268 2015-04-27  Glenn Morris  <rgm@gnu.org>
10270         * lisp/mail/rmail.el (rmail-reply):
10271         Decode subject before matching "Re:" prefix.  (Bug#20396)
10273 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
10275         * lisp/emacs-lisp/package.el: Small improvements
10276         (package--with-work-buffer-async): More informative error.
10277         (package-install-user-selected-packages): Rename to
10278         `package-install-selected-packages'.
10280 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10282         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
10283         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
10284         (eieio--class-make): Remove leftover `tag'.
10286 2015-04-27  Glenn Morris  <rgm@gnu.org>
10288         * lisp/gnus/message.el (gnus-extract-address-components):
10289         Remove bogus declaration that was masking previous problem.
10291 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
10293         * lisp/gnus/message.el (message-insert-formatted-citation-line):
10294         Fix typo.  (Bug#20318)
10296 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10298         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
10300         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
10301         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
10302         the buffer in yet another frame.
10303         (reftex-toc-visit-location): Make sure toc-window has focus at the end
10304         when `final' is nil.
10305         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
10306         silence warnings.  Use `--' to clarify that it's internal.
10307         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
10308         (reftex-toc-promote): Clarify unused argument.
10309         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
10310         Add `reftex--' prefix.  Fix all users.
10311         (reftex-toc-promote-prepare): Use _ for dummy variable.
10312         (reftex-toc-restore-region): Rename `m
10314 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
10316         Fix a typo in bibtex.el
10317         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
10318         last change.  (Bug#20429)
10320         Fix redisplay of frame after loading new fonts
10321         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
10322         frame because new fonts were loaded, disable all redisplay
10323         optimizations on that frame by calling SET_FRAME_GARBAGED.
10324         (Bug#20410)
10326 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10328         * lisp/info.el (Info-menu): Properly provide the `default'
10329         (Bug#20391)
10331         * elisp-mode.el: Catch errors from `documentation'
10332         (Bug#20418)
10333         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
10334         Catch errors from documentation.
10335         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
10337 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
10339         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
10340         Remove redundant ":group 'package".
10342 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
10344         Fix a typo in rmail.el
10345         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
10346         last commit.  (Bug#20429)
10348 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
10350         Introduce xref-prompt-for-identifier
10351         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
10352         (xref--read-identifier): Use it
10353         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
10355 2015-04-26  João Távora  <joaotavora@gmail.com>
10357         `tex-insert-quote' after single `'' opens quotes instead of closing
10358         Without this, it's very hard to precede double quotes with the
10359         apostrophe character, i.e. insert the sequence '``
10360         (quote-backquote-backquote), commonly useful in portuguese, for
10361         instance.
10362         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
10363         chars making `tex-insert-quote' be in the "opening" context.
10365 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
10367         Pass `id' to `completing-read' as def instead of initial input
10368         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
10369         as the default value instead of initial input
10370         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
10372 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
10374         Don't freeze with unreadable processes
10375         Don't freeze if an exiting process can't be read from. (Bug#19860).
10376         This fixes a bug I introduced in
10377         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
10378         "* process.c: Add sanity checks for file descriptors."
10379         Dmitry Gutov did most of the legwork in finding the problem.
10380         * src/process.c (wait_reading_process_output):
10381         Treat non-running processes that can't be read from
10382         the same as other non-running processes.
10384 2015-04-25  Alan Mackenzie  <acm@muc.de>
10386         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
10387         * lisp/subr.el (remove-yank-excluded-properties): put
10388         `with-silent-modifications' around only the last three lines of code.
10390 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10392         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
10393         (package--all-keywords): Deleted variable.
10395         * etc/NEWS: Document package-hiding functionality
10397 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
10399         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
10401         Clarify the doc string of 'replace-regexp-in-string'
10402         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
10404         Improve doc string of 'insert-buffer-substring'
10405         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
10407         MS-Windows followup for the recent gnulib update
10408         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
10409         acl-internal.c.
10411 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
10413         Spelling fixes
10415         Merge from gnulib
10416         This incorporates:
10417         2015-04-24 file-has-acl: new module, split from acl
10418         2015-04-24 manywarnings: add GCC 5.1 warnings
10419         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
10420         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
10421         2015-04-15 acl: On Linux, check for acls without libacl
10422         2015-04-14 tempname: avoid unused parameter warnings (trivial)
10423         * lib/acl-internal.c: New file, from gnulib.
10424         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
10425         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
10426         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
10427         Update from gnulib.
10429         Port --enable-gcc-warnings to GCC 5.1 x86-64
10430         * lib-src/ebrowse.c (dump_sym):
10431         * lib-src/hexl.c (main):
10432         * src/ccl.c (ccl_driver):
10433         * src/character.c (string_escape_byte8):
10434         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
10435         * src/gnutls.c (Fgnutls_boot):
10436         * src/gtkutil.c (xg_check_special_colors):
10437         * src/image.c (x_build_heuristic_mask):
10438         * src/print.c (safe_debug_print, print_object):
10439         * src/term.c (produce_glyphless_glyph):
10440         * src/xdisp.c (get_next_display_element)
10441         (produce_glyphless_glyph):
10442         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
10443         Don't use a signed format to print an unsigned integer, or vice
10444         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
10445         * src/image.c (png_load_body, jpeg_load_body):
10446         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
10448 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
10450         Add new faces to tsdh-light-theme
10451         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
10452         definitions for Info-quoted, ace-jump-face-foreground,
10453         hl-paren-face, show-paren-match, and show-paren-mismatch.
10455 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
10457         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
10459 2015-04-24  Glenn Morris  <rgm@gnu.org>
10461         * build-aux/gitlog-to-emacslog:
10462         Use raw log format rather than wrapped one.
10464 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10466         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
10467         (seq-doseq): Fix out-of-scope binding.
10468         Don't call `seq-length at every iteration.
10469         Reduce `if's from 3 to 2 per iteration.
10470         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
10472 2015-04-24  Glenn Morris  <rgm@gnu.org>
10474         * lisp/textmodes/text-mode.el (text-mode-hook):
10475         Move text-mode-hook-identify to default.
10477         * lisp/mouse.el (minor-mode-menu-from-indicator):
10478         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
10480         * lisp/help-fns.el (describe-function): More type checking.
10481         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
10483         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
10484         (Bug#20325)
10486 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
10488         shr: strip leading whitespace when expanding URLs
10489         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
10491 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
10493         Clarify "co-authored" some more
10495         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
10497         Clarify doc strings of functions that search for properties
10498         * src/textprop.c (Fnext_char_property_change)
10499         (Fprevious_char_property_change)
10500         (Fnext_single_char_property_change)
10501         (Fprevious_single_char_property_change, Fnext_property_change)
10502         (Fnext_single_property_change, Fprevious_property_change)
10503         (Fprevious_single_property_change): Clarify doc strings wrt return
10504         value and the optional LIMIT argument.  (Bug#20411)
10506 2015-04-24  Glenn Morris  <rgm@gnu.org>
10508         * test/automated/message-mode-tests.el (message-mode-propertize):
10509         Handle non-writable HOME; eg on hydra.nixos.org.
10511 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
10513         Avoid starting threads by w32-shell-execute
10514         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
10515         local file names, before invoking ShellExecute.  (Bug#20220)
10517 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
10519         Fix following doc-links in `widget-documentation-link-action'
10520         * lisp/wid-edit.el (widget-documentation-link-action): Make
10521         following doc-links less simplistic (Bug#20398).
10523 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10525         Improve EUDC manual
10526         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
10528 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10530         Omit needless "\ " after multibyte then newline
10531         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
10532         (print_object): When print-escape-multibyte is non-nil and a
10533         multibyte character is followed by a newline or formfeed, followed
10534         by a hex digit, don't output a needless "\ " before the hex digit.
10535         * test/automated/print-tests.el (print-hex-backslash): New test.
10537 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
10539         Add a new `inhibit-message' variable
10540         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
10541         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
10542         `inhibit_message' is non-zero.
10543         * etc/NEWS: Add an entry.
10544         * doc/lispref/display.texi: Add an entry for `inhibit-message',
10545           mention it in `message'.
10547 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
10549         Fix last fix in `display-buffer-record-window'.
10550         * lisp/window.el (display-buffer-record-window): Fix last fix.
10552 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
10554         Minor edits in CONTRIBUTE
10555         * CONTRIBUTE: Rearrange instructions about log messages.
10556         Use "Git" capitalized all over.
10557         Use 2 spaces between sentences.
10559 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
10561         * lisp/files.el (basic-save-buffer): Fix argument
10563         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
10564         In case `(and (null custom-file) init-file-had-error)' do the same
10565         thing we'd do if `(null user-init-file)', which is to either error out
10566         or return nil.  This is in line with `custom-save-all' which would
10567         throw an error in that situation. (bug#20355)
10569         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
10570         (package-menu-hide-low-priority): New variable, see its doc.
10571         (package-archive-priorities): Update doc.
10572         (package-desc-priority): New function.
10573         (package-desc-priority-version): Use it.
10574         (package--remove-hidden): New function.
10575         (package-menu--refresh): Use it.
10577         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
10578         (package-menu--hide-obsolete): New variable.
10579         (package--remove-hidden): Use it.
10580         (package-menu-hide-obsolete): New interactive function to toggle
10581         the variable.
10582         (package--quick-help-keys): Document it.
10583         (package-menu-async): Add :version tag.
10584         (package-menu-mode-map): Bind package-menu-hide-obsolete.
10585         (package-desc-status): Indicate non-installed obsolete packages as
10586         avail-obso.
10587         (package-menu-mark-install): Allow installation of avail-obso.
10588         (package-menu--status-predicate): Sort avail-obso with available.
10590 2015-04-22  Alan Mackenzie  <acm@muc.de>
10592         On C-y, stop some text property entries being written into buffer-undo-list
10593         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
10594         `with-silent-modifications'.
10596 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
10598         In display-buffer-record-window record selected window if necessary.
10599         * lisp/window.el (display-buffer-record-window): Store selected window
10600         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
10602 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
10604         Fix reftex-citation bug
10605         * reftex-cite.el (reftex-extract-bib-entries): Fix
10606         `wrong-type-argument stringp nil' error that occurs when AUCTeX
10607         integration is enabled and there are no citations in the document
10608         so far.
10610 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
10612         Add or reset based on the presence of MERGE_HEAD
10613         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
10614         `vc-git-resolve-when-done' to `after-save-hook' in either case.
10615         (vc-git-conflicted-files): Add a TODO.
10616         (vc-git-resolve-when-done): Depending on the presence of
10617         MERGE_HEAD, either update the resolved file in the index, or
10618         remove it from there.  (Bug#20292)
10620 2015-04-21  Glenn Morris  <rgm@gnu.org>
10622         * lisp/custom.el (custom-declare-group): No need to purecopy
10623         custom-current-group-alist members following recent change to set
10624         it to nil before dumping.
10626         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
10627         (Bug#20399)
10629 2015-04-21  Daniel Colascione  <dancol@dancol.org>
10631         Unbreak no-op buffer save message
10632         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
10633         (basic-save-buffer): Accept called-interactively as an argument instead of
10634         directly invoking called-interactively-p, which will always yield nil
10635         in that context.
10637 2015-04-21  Alan Mackenzie  <acm@muc.de>
10639         CC Mode: Do nothing in before/after-change-functions for text property changes
10640         Fixes bug#20266.
10641         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
10642         yank-handled-properties buffer local, and remove 'category from it.
10643         (c-called-from-text-property-change-p): New function.
10644         (c-before-change): Don't do anything if a call of the new function
10645         returns non-nil.
10646         (c-after-change): Don't do much if a call of the new function returns
10647         non-nil.
10648         (c-extend-after-change-region): Put changes to text property 'fontified
10649         inside c-save-buffer-state.
10651 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
10653         Fix byte-compiler warnings about looking-back.
10654         * lisp/vc/log-view.el (log-view-end-of-defun-1):
10655         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
10656         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
10657         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
10658         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
10659         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
10660         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
10661         * lisp/org/org.el (org-insert-heading, org-sort-entries):
10662         * lisp/org/org-mouse.el (org-mouse-end-headline)
10663         (org-mouse-context-menu):
10664         * lisp/org/org-clock.el (org-clock-cancel):
10665         * lisp/man.el (Man-default-man-entry):
10666         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
10667         (rmail-ensure-blank-line):
10668         * lisp/mail/footnote.el (Footnote-delete-footnote):
10669         * lisp/mail/emacsbug.el (report-emacs-bug):
10670         * lisp/info.el (Info-follow-reference, Info-fontify-node):
10671         * lisp/info-look.el (info-lookup-guess-custom-symbol):
10672         * lisp/help-fns.el (help-fns--key-bindings):
10673         * lisp/files.el (hack-local-variables):
10674         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
10675         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
10676         (viper-complete-filename-or-exit):
10677         * lisp/emulation/viper-cmd.el (viper-backward-indent):
10678         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
10679         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
10680         * lisp/cus-edit.el (custom-face-edit-value-create):
10681         * lisp/calendar/todo-mode.el (todo-set-item-priority)
10682         (todo-filter-items-1, todo-convert-legacy-files)
10683         (todo-prefix-overlays): Add explicit second arg to looking-back.
10685 2015-04-20  Glenn Morris  <rgm@gnu.org>
10687         Avoid non-nil current-load-list at startup
10688         * src/process.c (init_process_emacs): Move Fprovide statement...
10689         (syms_of_process): ... to here.
10691         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
10693         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
10695 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
10697         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
10698         (Bug#20330)
10700 2015-04-20  Glenn Morris  <rgm@gnu.org>
10702         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
10704         Tweak exec-path in uninstalled case
10705         * src/callproc.c (init_callproc): If running uninstalled, do not
10706         include eventual installation libexec directory in exec-path.
10708 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
10710         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
10711         (package-menu-filter): Accept a list of keywords.
10712         (package--all-keywords): New variable to cache known keywords.
10713         (package-all-keywords): Populate it if necessary.
10714         (package-refresh-contents): Reset it.
10716         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
10717         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
10718         as special keywords which match agains package archive and status
10719         respectively.
10720         * etc/NEWS: Document it.
10722 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
10724         Describe and index "empty overlays".
10725         * doc/lispref/display.texi (Overlays): Improve indexing.
10726         (Managing Overlays): Describe "empty" overlays.
10727         (Overlay Properties, Finding Overlays): Add cross-reference to
10728         where empty overlays are described.
10730 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10732         Spelling fixes
10734         Quote 'like this' in top-level files
10735         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
10736         Prefer to single-quote 'like this' (instead of the older style
10737         `like this').
10738         * configure.ac: Fix some space-before-tab problems that 'git commit'
10739         complained about.
10741         Use bool for boolean in textprop.c, undo.c
10742         * src/textprop.c (soft, hard): Now constants instead of macros.
10743         (validate_plist): Rewrite to avoid need for boolean local.
10744         (interval_has_all_properties, interval_has_some_properties)
10745         (interval_has_some_properties_list, add_properties)
10746         (remove_properties, get_char_property_and_overlay)
10747         (Fnext_single_char_property_change)
10748         (Fprevious_single_char_property_change, add_text_properties_1)
10749         (Fremove_text_properties, Fremove_list_of_text_properties)
10750         (copy_text_properties):
10751         * src/tparam.c (tparam1):
10752         * src/undo.c (record_change, record_property_change)
10753         (syms_of_undo):
10754         Use 'true' and 'false' for booleans.
10756 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
10758         Call `smerge-start-session' even when dealing with a stash conflict
10759         * lisp/vc/vc-git.el (vc-git-find-file-hook):
10760         Call `smerge-start-session' even when dealing with a stash
10761         conflict (bug#20292).
10763 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
10765         Add option to eshell/clear to clear scrollback.
10766         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
10767         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
10768         scrollback contents are cleared.
10769         * etc/NEWS: Describe change.
10770         * doc/misc/eshell.texi: Add entry for `clear'.
10772 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10774         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
10775         where either will do.
10777 2015-04-19  Steve Purcell  <steve@sanityinc.com>
10779         Assume package archive-contents are UTF8-encoded
10780         * lisp/emacs-lisp/package.el (package--read-archive-file):
10781         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
10782         downloaded and cached archive-contents files, so that non-ASCII
10783         characters in package descriptions are displayed correctly in the
10784         `list-packages' menu. (Bug#20231)
10786 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
10788         Abort when looking at stashed changes
10789         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
10790         stashed changes (bug#20292).
10792 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10794         Refactor low-level printing for simplicity
10795         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
10796         PRINTPREPARE; doable now that we assume C99.  All callers changed.
10797         (PRINTCHAR): Remove, as it adds more mystery than clarity.
10798         All callers changed.
10799         (strout): Assume that caller computes length.  All callers changed.
10800         (print_c_string): New function.
10801         (write_string, write_string_1): Compute length instead of asking
10802         the caller to compute it.  All callers changed.
10803         (write_string): Simplify by using write_string_1.
10804         (write_string_1): Simplify by using print_c_string.
10805         (Fterpri): Compute default val more clearly.
10806         (Fprin1_to_string, print_object):
10807         Assume C99 to avoid unnecessary nesting.
10808         (print_object): Prefer print_c_string to multiple printchar, or
10809         to calling strout with -1 length.  Coalesce into sprintf when
10810         this is easy.
10812 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
10814         Prefer "Bug#1234" in commit messages (Bug#20325)
10815         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
10816         as this isn't useful for Git.
10817         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
10819 2015-04-18  Glenn Morris  <rgm@gnu.org>
10821         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
10822         (Bug#19506)
10824 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
10826         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
10827         (Bug#19505)
10829 2015-04-18  Glenn Morris  <rgm@gnu.org>
10831         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
10833         * doc/emacs/misc.texi (Sorting): Small edit.
10834         (Bug#19896)
10836         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
10838 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
10840         css-mode.el: Support multi-line comment filling
10841         (Bug#20256)
10842         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
10843         comment filling.
10844         (css-adaptive-fill): New function.
10845         (css-mode): Set `adaptive-fill-function'.
10846         (scss-mode): Set `comment-continue'.
10848 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
10850         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
10852 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
10854         Minor improvements in Bulgarian input methods
10855         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
10856         Replace U+042C with U+045D, as the former character is not used in
10857         the modern Bulgarian language.
10858         (Bug#20350)
10860 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10862         Improve EUDC manual
10863         * eudc.texi (LDAP Configuration): Mention simple and SASL
10864         authentication schemes.  Add index items.  Shorten example server
10865         name.
10867 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
10869         Don't show both feature and function with the same name
10870         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
10871         Don't show both feature and function with the same name.
10873         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
10874         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
10875         Avoid returning both the variable and the function for the same
10876         minor mode.
10878 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
10880         Fix fontification of keywords clobbered by the prompt.
10881         * lisp/comint.el (comint-output-filter): Remove the uses of
10882         with-silent-modifications I introduced as part of the last change.
10883         This fixes, e.g., erratically missing highlighting when running
10884         ./configure --help; ./configure in a shell-mode buffer with
10885         compilation-shell-minor-mode turned on.
10887 2015-04-17  Glenn Morris  <rgm@gnu.org>
10889         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
10891 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
10893         * lisp/indent.el (indent-region): Don't deactivate the mark
10894         (Bug#20357)
10896 2015-04-17  Sam Steingold  <sds@gnu.org>
10898         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
10900 2015-04-16  Leo Liu  <sdl.web@gmail.com>
10902         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
10904 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
10906         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
10908 2015-04-16  Glenn Morris  <rgm@gnu.org>
10910         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
10912 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
10914         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
10915         * configure.ac (LIBJPEG): Leave it empty for MinGW.
10917 2015-04-16  Glenn Morris  <rgm@gnu.org>
10919         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
10920         to avoid rogue setting after startup.
10922 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
10924         Pre-4.6 GCC succeeds with unknown option
10925         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
10926         (Bug#20338)
10928 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10930         '[:graph:]' now excludes whitespace, not just ' '
10931         * doc/lispref/searching.texi (Char Classes):
10932         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
10933         sans whitespace (not sans space).
10934         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
10935         not just space.
10936         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
10938 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10940         (looking-back): Make the second arg non-optional.
10941         * lisp/subr.el (substitute-key-definition-key, special-form-p)
10942         (macrop): Drop deprecated second arg to indirect-function.
10943         (looking-back): Make the second arg non-optional.
10945         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
10946         command is actually sent to the shell.
10948 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10950         Port jpeg configuration to Solaris 10 with Sun C
10951         * configure.ac: Check for jpeglib 6b by trying to link it, instead
10952         of relying on cpp magic that has problems in practice.  Check for
10953         both jpeglib.h and jerror.h features.  Remove special case for
10954         mingw32, which should no longer be needed (and if it were needed,
10955         should now be addressable by hotwiring emacs_cv_jpeglib).
10956         (Bug#20332)
10958 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10960         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
10961         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
10962         Move to elisp-mode.el.
10963         (lisp-mode-variables): (Re)move elisp-specific settings.
10964         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
10965         from lisp-mode-variables.
10966         (elisp--font-lock-flush-elisp-buffers): New function, moved from
10967         lisp-mode.el.
10969         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
10970         Avoid pathological slowdown at top-level in large file.
10972 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10974         Standardize names of ChangeLog history files
10975         Suggested by Glenn Morris in:
10976         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
10977         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
10978         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
10979         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
10980         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
10981         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
10982         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
10983         Remove.
10985         Split top-level entries into pre- and post-April 7
10986         This more clearly distingiushes pre-April-7 ChangeLog entries (which
10987         are for top-level files only) from post-April-7 entries (which are
10988         about files at all levels.  Problem reported by Glenn Morris in:
10989         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
10990         * ChangeLog.1: Move post-April-7 entries from here ...
10991         * ChangeLog.2: ... to this new file.
10992         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
10994 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10996         Fix recent cus-start changes that added customize-rogues
10997         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
10998         vars early.
10999         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
11001 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
11003         Define cl-concatenate as an alias to seq-concatenate
11004         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
11005           code by making cl-concatenate an alias to seq-concatenate.
11007 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
11009         * src/lread.c (intern_1): Make sure we'd find the symbol we add
11010         (Bug#20334)
11011         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
11013 2015-04-15  Glenn Morris  <rgm@gnu.org>
11015         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
11017 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
11019         Clean up gnus-uu saving code slightly
11020         * gnus-uu.el (gnus-uu-save-article): Make the
11021         save-restriction/widen calls make more sense.
11023 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
11025         Make [:graph:] act like [:print:] sans space
11026         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
11027         [:graph:] so that it matches everything that [:print:] does,
11028         except for space.
11029         * doc/lispref/searching.texi (Char Classes):
11030         * etc/NEWS:
11031         * lisp/emacs-lisp/rx.el (rx):
11032         Document [:graph:] to be [:print:] sans ' '.
11033         * src/character.c, src/character.h (graphicp): New function.
11034         * src/regex.c (ISGRAPH) [emacs]: Use it.
11035         (BIT_GRAPH): New macro.
11036         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
11037         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
11038         Return BIT_GRAPH for RECC_GRAPH.
11039         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
11040         and ISPRINT if BIT_PRINT.
11042 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
11044         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
11045         Don't use call-next-method in a cl-defmethod.
11047         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
11048         (eieio--class-p): Remove, provided by cl-defstruct.
11050 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
11052         Add seq-intersection and seq-difference to the seq library
11053         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
11054         functions.
11055         * test/automated/seq-tests.el: Add tests for seq-intersection and
11056         seq-difference.
11057         * doc/lispref/sequences.texi: Add documentation for seq-intersection
11058         and seq-difference.
11060 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
11062         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
11064 2015-04-14  Sam Steingold  <sds@gnu.org>
11066         package--ensure-init-file: widen requires save-restriction
11068 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
11070         Improve the commit-msg Git hook for unibyte environments
11071         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
11072         in unibyte environments.  (Suggested by Paul Eggert
11073         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
11074         [:print:], based on UTF-8 sequences of the unprintable characters.
11076         Describe problems with cursor caused by Windows Magnifier
11077         * etc/PROBLEMS: Describe the problem with cursor shape on
11078         MS-Windows due to Windows Magnifier.
11079         (Bug#20271)
11081         Make [:print:] support non-ASCII characters correctly
11082         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
11083         (BIT_PRINT): New bit mask.
11084         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
11085         * src/character.c (printablep): New function.
11086         * src/character.h (printablep): Add prototype.
11087         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
11088         of 'print', 'alnum', and 'alphabetic'.
11089         * doc/lispref/searching.texi (Char Classes): Document the new
11090         behavior of [:print:].
11091         * etc/NEWS: Mention the new behavior of [:print:].
11093         Assign correct general-category and names to surrogates
11094         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
11095         surrogates.  This avoids assigning them the default
11096         general-category of 'Cn', i.e. unassigned codepoints.
11097         (unidata-get-name): Give surrogates synthetic names.
11099 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
11101         Assume C89 offsetof in xterm.c, xlwmenu.c
11102         * lwlib/xlwmenu.c (offset):
11103         * src/xterm.c (cvt_string_to_pixel_args):
11104         Use offsetof, not XtOffset.
11106 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
11108         Assume C89 offsetof in widget.c
11109         * src/widget.c (XtOffset): Remove; no longer needed.
11110         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
11112         Fix think-o in previous patch
11113         * src/window.c (count_windows, get_leaf_windows):
11114         Don't optimize count_windows incorrectly.
11116 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11118         Avoid some int overflows in window.c
11119         * src/print.c (print_object):
11120         * src/window.c (sequence_number):
11121         * src/window.h (struct window.sequence_number):
11122         Don't assume window sequence number fits in int.
11123         * src/window.c (window_select_count):
11124         * src/window.h (struct window.use_time, window_select_count):
11125         Don't assume window use time fits in int.
11126         * src/window.c (Fsplit_window_internal):
11127         Don't assume user-supplied integer, or sum, fits in int.
11128         (Fset_window_configuration, count_windows, get_leaf_windows)
11129         (save_window_save, Fcurrent_window_configuration):
11130         Use ptrdiff_t for object counts.
11131         (Fset_window_configuration): Omit unused local 'n'.
11132         (count_windows): Simplify by writing in terms of get_leaf_windows.
11133         (get_leaf_windows): Don't store through FLAT if it's null.
11134         (extract_dimension): New static function.
11135         (set_window_margins, set_window_fringes, set_window_scroll_bars):
11136         Use it to avoid undefined behavior when converting user-supplied
11137         integer to 'int'.
11139 2015-04-13  Glenn Morris  <rgm@gnu.org>
11141         Minor doc copyedits
11142         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
11143         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
11145 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11147         [Gnus] Catch the invalid-operation that idna.el will issue
11148         * lisp/gnus/gnus-art.el (gnus-use-idna):
11149         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
11150         * lisp/gnus/message.el (message-use-idna):
11151         Catch the invalid-operation that idna.el will issue.
11153 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11155         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
11157 2015-04-13  Sam Steingold  <sds@gnu.org>
11159         package--ensure-init-file: widen before looking for "(package-initialize)"
11161 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
11163         Change diff-switches default to `-u'
11164         (Bug#20290)
11165         * doc/emacs/files.texi (Comparing Files): Document the new default
11166         value of `diff-switches'.
11167         * doc/emacs/trouble.texi (Sending Patches): Document the preference
11168         for unified diff format.  Escape the plus in the suggested `-F' regexp
11169         value.
11170         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
11172 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11174         (gnus-group--setup-tool-bar-update): Fix last change
11175         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
11176         cursor-sensor-functions should be a list of functions.
11178 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11180         Use gmm-called-interactively-p in Gnus
11181         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
11183 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11185         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
11186         (Bug#20321)
11187         * lisp/cus-start.el (read-buffer-function): Don't advertize
11188         iswitchb-read-buffer any more.
11189         (iswitchb): Don't tweak this obsolete group any more.
11191 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
11193         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
11195         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
11196         Adding a string after a constructor's argument list will use
11197         that string as the constructor function docstring.  If this string
11198         is absent but the struct itself was given a docstring, use that as
11199         the constructor's docstring.
11200         Fixes (bug#17284).
11202 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11204         Deprecate `intangible' and `point-entered' properties
11205         * lisp/emacs-lisp/cursor-sensor.el: New file.
11206         * lisp/simple.el (pre-redisplay-functions): New hook.
11207         (redisplay--pre-redisplay-functions): New function.
11208         (pre-redisplay-function): Use it.
11209         (minibuffer-avoid-prompt): Mark obsolete.
11210         (redisplay--update-region-highlight): Adapt it to work as a function on
11211         pre-redisplay-functions.
11212         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
11213         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
11214         than point-entered to make the prompt intangible.
11215         * lisp/forms.el: Move `provide' calls to the end.
11216         (forms-mode): Don't use `run-hooks' on a local var.
11217         (forms--make-format, forms--make-format-elt-using-text-properties):
11218         Use cursor-intangible rather than `intangible'.
11219         (forms-mode): Enable cursor-intangible-mode.
11220         * lisp/isearch.el (isearch-mode): Use defvar-local.
11221         (cursor-sensor-inhibit): Declare.
11222         (isearch-mode): Set cursor-sensor-inhibit.
11223         (isearch-done): Set it back.
11224         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
11225         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
11226         any more.
11227         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
11228         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
11229         Add Edebug spec.
11230         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
11231         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
11232         inhibit-point-motion-hooks any more.
11233         (ses--cell-at-pos, ses--curcell): New functions, extracted from
11234         ses-set-curcell.
11235         (ses-set-curcell): Use them.
11236         (ses-print-cell, ses-setup): Use cursor-intangible instead of
11237         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
11238         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
11239         Use ses--cell-at-pos.
11240         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
11241         extracted from ses-command-hook.  Make them work with multiple windows
11242         displaying the same buffer.
11243         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
11244         Enable cursor-intangible-mode.
11245         (ses-command-hook): Remove cell highlight and mode-line update code.
11246         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
11247         Update for new name of text-property holding the cell name.
11248         (ses-rename-cell): Don't mess with mode-line-process.
11249         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
11250         cursor-sensor-functions property instead of point-entered.
11251         (erc-insert-timestamp-right, erc-format-timestamp):
11252         Use cursor-intangible rather than `intangible'.
11253         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
11254         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
11255         cursor-sensor-mode if needed.
11256         (erc-echo-timestamp): Adapt to calling convention of
11257         cursor-sensor-functions.
11258         (erc-insert-timestamp-right): Remove unused vars `current-window' and
11259         `indent'.
11260         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
11261         (gnus-update-group-mark-positions): Remove unused `topic' var.
11262         (gnus-group-insert-group-line): Remove unused var `header'.
11263         (gnus-group--setup-tool-bar-update): New function.
11264         (gnus-group-insert-group-line): Use it.
11265         (gnus-group-update-eval-form): Declare local
11266         dynamically-bound variables.
11267         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
11268         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
11269         (gnus-group-prepare-topics, gnus-topic-update-topic)
11270         (gnus-topic-change-level, gnus-topic-catchup-articles)
11271         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
11272         Use inhibit-read-only.
11273         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
11274         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
11275         * lisp/textmodes/reftex-index.el (reftex-display-index):
11276         Use cursor-intangible-mode if available.
11277         (reftex-index-post-command-hook): Check cursor-intangible.
11278         * lisp/textmodes/reftex-toc.el (reftex-toc):
11279         Use cursor-intangible-mode if available.
11280         (reftex-toc-recenter, reftex-toc-post-command-hook):
11281         Check cursor-intangible.
11282         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
11283         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
11284         (sgml-tags-invisible): Use with-silent-modifications and
11285         inhibit-read-only.  Enable cursor-sensor-mode.
11286         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
11287         calling convention of cursor-sensor-functions.
11288         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
11289         (table-point-entered-cell-hook, table-point-left-cell-hook):
11290         Don't autoload.
11291         (table-cell-entered-state): Remove var.
11292         (table--put-cell-point-entered/left-property)
11293         (table--remove-cell-properties):
11294         Use cursor-sensor-functions rather than point-entered/left.
11295         (table--point-entered/left-cell-function): Merge
11296         table--point-entered-cell-function and table--point-left-cell-function
11297         and adjust to calling convention of cursor-sensor-functions.
11299         Update ldef-boots.el
11301         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
11303         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
11305         Collapse successive char deletions in the undo log
11306         * src/cmds.c (remove_excessive_undo_boundaries): New function,
11307         extracted from Fself_insert_command.
11308         (Fdelete_char, Fself_insert_command): Use it.
11309         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
11310         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
11312         xterm and OSC 52: Add NEWS entry, and tweak the code
11313         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
11314         top-level.
11315         (terminal-init-xterm-activate-set-selection): Set a terminal property.
11316         (xterm--set-selection): Use it instead of checking the value of
11317         `terminal-initted'.  Don't use string-bytes.
11319 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
11321         xterm.el: Implement OSC-52 functionality for setting the X selection
11322         * lisp/term/xterm.el (xterm-max-cut-length): New var.
11323         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
11324         (terminal-init-xterm, xterm--version-handler): Use them.
11326 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11328         Remove left over code from when we used an obsolete/loaddefs.el file
11329         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
11330         we used an obsolete/loaddefs.el file.
11332         * cedet/semantic/fw.el: Use declare.
11333         * cedet/semantic/fw.el (semantic-exit-on-input)
11334         (semanticdb-without-unloaded-file-searches): Use declare.
11335         (semantic-fw-add-edebug-spec): Remove.
11337         (completion-lisp-mode-hook): Use completion-separator-chars
11338         * lisp/completion.el (completion-lisp-mode-hook):
11339         Use completion-separator-chars rather than local key binding.
11341         * src/*.c: Set deactivate_mark buffer-locally
11342         (Bug#20260)
11343         * src/insdel.c (prepare_to_modify_buffer_1):
11344         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
11345         buffer-locally.
11347 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
11349         python.el: Keep symmetry on sexp navigation with parens
11350         (Bug#19954)
11351         * lisp/progmodes/python.el
11352         (python-nav--forward-sexp): Add argument skip-parens-p.
11353         (python-nav-forward-sexp, python-nav-backward-sexp)
11354         (python-nav-forward-sexp-safe)
11355         (python-nav-backward-sexp-safe): Use it.
11356         * test/automated/python-tests.el
11357         (python-nav-forward-sexp-1): Fix test.
11359 2015-04-12  João Távora  <joaotavora@gmail.com>
11361         Don't use `setq-local' in Gnus code
11362         This might break upstream builds with older Emacsen
11363         * lisp/gnus/message.el (message-mode): Use `set' and
11364         `make-local-variable' instead of `setq-local'.
11366 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
11368         Update Makefile.in's .PHONY dependencies
11369         * Makefile.in (change-history-commit, master-branch-is-current)
11370         (no-ChangeLog): Now phony.
11372         Remove configure's --with-mmdf option
11373         * configure.ac (MAIL_USE_MMDF): Remove.
11374         * etc/NEWS: Document this.
11375         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
11376         (Bug#20308)
11378         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
11379         That way, 'make install' won't think it's a man page.
11380         Reported by Ashish SHUKLA in:
11381         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
11383         Improve 'make change-history' prereq tests
11384         * Makefile.in (gen_origin): Fix to match what's in the master branch.
11385         (no-ChangeLog, master-branch-is-current): New rules.
11386         (change-history): Depend on them, to avoid similar future problems.
11387         Escape the local-variables string to pacify Emacs when editing
11388         Makefile.in.
11390 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
11392         * test/automated/package-test.el (with-package-test): Kill Packages buffer
11394         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
11395         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
11396         "Upgrade" last, and use capitalized instead of all-caps.
11398         * lisp/emacs-lisp/package.el: Completely silence async operations
11399         (package--make-autoloads-and-stuff): Silence autoloads.
11400         (package--save-selected-packages): New function, silences
11401         `customize-save-variable'.
11402         (package--user-selected-p, package-install-from-buffer)
11403         (package-delete, package-install): Use it.
11404         (package-install-from-archive)
11405         (package-menu--perform-transaction): Silence.
11406         (package-menu-execute): Feedback when operation starts.
11408         Use delay-mode-hooks when visiting the init-file
11409         * lisp/emacs-lisp/package.el (package--ensure-init-file):
11410         delay-mode-hooks
11411         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
11413         * lisp/files.el: Only message when saving if save-silently is nil
11414         (save-silently): New variable.
11415         (files--message): New function.
11416         (find-file-noselect, save-buffer, basic-save-buffer)
11417         (basic-save-buffer-2, save-some-buffers, not-modified)
11418         (append-to-file): Use them.
11420 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
11422         Support debug declarations in pcase macros
11423         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
11424         (pcase-UPAT): Use it.  Remove "`".
11425         (pcase--edebug-match-macro): New function.
11426         (pcase-defmacro): Support debug declarations.
11427         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
11428         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
11429         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
11431         pcase.el: Edebug support for `app' and vector patterns
11432         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
11433         (pcase-UPAT): Use it. Support `app' patterns.
11434         (pcase-QPAT): Support vector patterns.
11436         edebug.el: Disambiguate vector specifications
11437         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
11438         `(vector ...)' as a vector specification, not as a sublist.
11440         (gnus-summary-refer-thread): Don't clobber unread articles
11441         This fixes a bug where `A T' causes "random" articles to become marked
11442         as read.
11443         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
11444         gnus-newsgroup-unreads remains sorted.
11446         mouse-sel.el: Fix mouse-sel-get-selection-function
11447         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
11448         Use gui--last-selected-text-primary instead of no longer existing
11449         gui-last-selected-text.
11451         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
11453         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
11455 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
11457         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
11459         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
11461         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
11462         (byte-compile--interactive): New var.
11463         (byte-compile--message): New function.
11464         (byte-compile-log-1, byte-force-recompile)
11465         (byte-recompile-directory, byte-recompile-file)
11466         (byte-compile-file, compile-defun)
11467         (byte-compile-file-form-defmumble, byte-compile)
11468         (byte-compile-file-form-defalias, display-call-tree): Use it.
11470         * lisp/files.el: Don't message when nothing happened
11471         (save-some-buffers, basic-save-buffer): Before messaging to say
11472         "nothing was saved" check if (called-interactively-p 'any).
11474 2015-04-12  João Távora  <joaotavora@gmail.com>
11476         Summary: Improve sexp-based movement in message-mode
11477         Works by giving citations and smileys a different syntax.  This helps
11478         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
11479         sexp-based movement.
11480         * lisp/gnus/message.el (message--syntax-propertize): New function.
11481         (message-mode): Set syntax-related vars.
11482         (message-smileys): New variable.
11483         * test/automated/message-mode-tests.el: New file
11485 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11487         Use bool for boolean in window.c
11488         * src/window.c: Omit unnecessary static function decls.
11489         (adjust_window_count, select_window, Fselect_window)
11490         (window_body_width, Fwindow_body_height, Fwindow_body_width)
11491         (set_window_hscroll, check_window_containing, Fwindow_at)
11492         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
11493         (unshow_buffer, replace_window, recombine_windows)
11494         (add_window_to_list, candidate_window_p, next_window)
11495         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
11496         (Fget_buffer_window, Fdelete_other_windows_internal)
11497         (replace_buffer_in_windows_safely, set_window_buffer)
11498         (Fset_window_buffer, Fforce_window_update)
11499         (temp_output_buffer_show, make_parent_window)
11500         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
11501         (resize_frame_windows, Fsplit_window_internal)
11502         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
11503         (Fresize_mini_window_internal, mark_window_cursors_off)
11504         (window_scroll, window_scroll_pixel_based)
11505         (window_scroll_line_based, scroll_command, Fscroll_other_window)
11506         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
11507         (Fmove_to_window_line, Fset_window_configuration)
11508         (delete_all_child_windows, apply_window_adjustment)
11509         (set_window_fringes, set_window_scroll_bars)
11510         (Fset_window_vscroll, foreach_window, foreach_window_1)
11511         (compare_window_configurations, Fcompare_window_configurations):
11512         Prefer 'bool', 'true', and 'false' for booleans.
11513         * src/window.h (WINDOW_MODE_LINE_LINES)
11514         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
11516 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
11518         Speed up byte-compilation and autoload generation by avoiding mode-hooks
11519         This prevents emacs-lisp-mode-hook from being run everytime an
11520         autoload file is generated, which can account for a fraction of
11521         package installation time depending on the hooks the user has
11522         configured.
11523         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
11524         * lisp/emacs-lisp/autoload.el (autoload-find-file)
11525         (autoload-find-generated-file): Use delay-mode-hooks.
11527         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
11528         (package-menu-refresh): Respect async and do new package checking.
11529         (list-packages): Use `package-menu-refresh' instead of repeating code.
11531         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
11532         (package--quick-help-keys): New variable.
11533         (package--prettify-quick-help-key): New function.
11534         (package-menu-quick-help): Use it.
11536         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
11537         (package--build-compatibility-table): require finder
11539         * test/automated/package-test.el: Fix new test
11541         * lisp/emacs-lisp/package.el: Silence async operations
11542         (package--silence): New variable.
11543         (package--message): New function.
11544         (package-import-keyring, package-refresh-contents)
11545         (package-compute-transaction, package-install, package-delete)
11546         (package-menu--perform-transaction, package-menu-execute): Use it.
11548         * test/automated/package-test.el: Test async functionality
11549         (package-test-update-archives-async): New test
11551 2015-04-11  Daiki Ueno  <ueno@gnu.org>
11553         Utilize `make-process' in epg.el
11554         * lisp/epg.el (epg-error-output): Abolish.
11555         (epg-context): New slot `error-buffer'.
11556         (epg--start): Use `make-process' and `make-pipe-process'.
11557         (epg--process-filter): Remove code separating stderr from stdout.
11558         (epg-wait-for-completion): Simplify `error-output' handling.
11559         (epg-reset): Dispose error buffer.
11561 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11563         * .gitignore: Ignore doc temps and outputs.
11565         Port commit-msg to MSYS Bash+Gawk
11566         See Eli Zaretskii in:
11567         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
11568         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
11569         (cent_sign, print_at_sign, at_sign): Revert previous change.
11570         (print_at_sign): Prepend "BEGIN".
11571         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
11573         Port commit-msg to broken MS-Windows shell
11574         * build-aux/git-hooks/commit-msg (cent_sign):
11575         Just use UTF-8 here rather than ASCII + printf, as the latter fails
11576         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
11577         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
11579 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
11581         Support GnuTLS v3.4 and later on MS-Windows
11582         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
11583         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
11584         GnuTLS DLL to load according to value of libgnutls-version.
11585         (Bug#20294)
11587 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11589         Minor quoting etc. fixes to misc manuals
11590         Fix some minor quoting and spacing issues.  Distinguish more
11591         clearly among grave accent and apostrophe (which are ASCII) and
11592         single quote (which is not).  Prefer the standard terms
11593         "apostrophe" and "grave accent" to alternative names that can be
11594         confusing.  Use apostrophes to single-quote ASCII text.
11595         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
11596         rather than approximating it in ASCII with grave accent.
11598 2015-04-11  Daiki Ueno  <ueno@gnu.org>
11600         Respect more keyword args in `make-process'
11601         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
11602         keywords as documented.
11604 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
11606         Extract ChangeLog entries when committing a directory
11607         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
11608         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
11609         Add a FIXME comment.
11610         (log-edit-changelog-entries): Extract from
11611         `log-edit-changelog-entries', handle FILE being a directory
11612         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
11614 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
11616         Fix problems found by --enable-gcc-warnings
11617         * src/process.c (create_process, Fmake_pipe_process)
11618         (Fmake_network_process): Omit unused locals.
11620         Fix commit-msg to handle scissors lines
11621         * build-aux/git-hooks/commit-msg:
11622         Ignore every line after a scissors line, such as a line generated
11623         by 'git commit -v'.  Problem reported by Johan Bockgård in:
11624         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
11626         port commit-msg to Gawk 3.0.4 (1999)
11627         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
11628         (print_at_sign, at_sign): New vars.  Use them to avoid problems
11629         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
11630         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
11632         Have commit-msg report commit failure
11633         * build-aux/git-hooks/commit-msg: If the commit is aborted,
11634         say so.  Simplify by doing this at the end.  Problem reported
11635         by Eli Zaretskii in:
11636         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
11638 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11640         Clean up LDAP Configuration section of EUDC manual
11641         * doc/misc/eudc.texi: Combine indices.
11642         (LDAP Configuration): Use command markup.  Add index entries.
11643         Change formatting.  Wrap long lines.  Add noindent markup.
11645 2015-04-10  Daiki Ueno  <ueno@gnu.org>
11647         Add facility to collect stderr of async subprocess
11648         * src/w32.h (register_aux_fd): New function declaration.
11649         * src/w32.c (register_aux_fd): New function.
11650         * src/process.h (struct Lisp_Process): New member stderrproc.
11651         * src/process.c (PIPECONN_P): New macro.
11652         (PIPECONN1_P): New macro.
11653         (Fdelete_process, Fprocess_status, Fset_process_buffer)
11654         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
11655         (Fcontinue_process): Handle pipe process specially.
11656         (create_process): Respect p->stderrproc.
11657         (Fmake_pipe_process): New function.
11658         (Fmake_process): Add new keyword argument :stderr.
11659         (wait_reading_process_output): Specially handle a pipe process when
11660         it gets an EOF.
11661         (syms_of_process): Register Qpipe and Smake_pipe_process.
11662         * doc/lispref/processes.texi (Asynchronous Processes): Document
11663         `make-pipe-process' and `:stderr' keyword of `make-process'.
11664         * lisp/subr.el (start-process): Suggest to use `make-process' handle
11665         standard error separately.
11666         * test/automated/process-tests.el (process-test-stderr-buffer)
11667         (process-test-stderr-filter): New tests.
11668         * etc/NEWS: Mention new process type `pipe' and its usage with the
11669         `:stderr' keyword of `make-process'.
11671 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
11673         Minor quoting etc. fixes to lispref manual
11674         * doc/lispref/tips.texi (Documentation Tips):
11675         Distinguish more clearly among grave accent, apostrophe,
11676         and single quote.
11677         * doc/lispref/README, doc/lispref/buffers.texi:
11678         * doc/lispref/commands.texi, doc/lispref/control.texi:
11679         * doc/lispref/customize.texi, doc/lispref/display.texi:
11680         * doc/lispref/elisp.texi, doc/lispref/files.texi:
11681         * doc/lispref/frames.texi, doc/lispref/hash.texi:
11682         * doc/lispref/help.texi, doc/lispref/internals.texi:
11683         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
11684         * doc/lispref/markers.texi, doc/lispref/modes.texi:
11685         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
11686         * doc/lispref/os.texi, doc/lispref/positions.texi:
11687         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
11688         * doc/lispref/text.texi, doc/lispref/tips.texi:
11689         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
11690         Use American-style double quoting in ordinary text,
11691         and quote 'like this' when single-quoting in ASCII text.
11692         Also, fix some minor spacing issues.
11694 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
11696         Handle symlinked test directory in tramp-tests.el
11697         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
11698         (tramp--test-check-files): Use `file-truename' for directories.
11700 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
11702         Fix 'recenter' when visual-line-mode is turned on
11703         * src/window.c (Frecenter): Use the same code for GUI and TTY
11704         frames alike; use vmotion only for "initial" frames.  This is
11705         because vmotion doesn't support visual-line-mode.  Rewrite the
11706         'iarg >= 0' case to use move_it_* functions instead of using
11707         vmotion, for the same reason.  Fix the clipping of the argument
11708         value to support scroll-margin in all cases and avoid unwarranted
11709         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
11710         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
11711         which see.
11713 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11715         * abbrev.el (define-abbrev-table): Refine last change.
11717         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
11718         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
11719         use of c[ad]+r", so as to keep the "cl-" prefix on all
11720         cl-lib definitions.
11722         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
11724         * lisp/cedet/semantic: Remove some dead code
11725         * lisp/cedet/semantic/util-modes.el
11726         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
11727         any more.
11728         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
11729         not supported any more.
11730         (semantic-safe): Use `declare'.
11731         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
11732         (semantic-tag-intangible-p): Remove unused functions.
11733         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
11734         Remove unused function.
11736         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
11737         (gnus-article-hide-text, gnus-article-unhide-text)
11738         (gnus-article-unhide-text-type): Remove special handling of
11739         `intangible' since that property is not used any more.
11740         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
11742 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
11744         Use the VC root in `log-edit-listfun'
11745         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
11746         `log-edit-listfun'.
11748 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
11750         Fix description of Unix time, mention new function.
11751         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
11752         Unix time.
11753         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
11754         (Basic Operations on Units): Mention `calc-convert-exact-units'.
11756 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
11758         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
11760 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
11762         (log-edit-insert-changelog-entries): Don't add newline after the last entry
11763         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
11764         Don't add newline after the last entry.
11766 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
11768         css-mode.el: Add "not" pseudo-class
11769         (Bug#20267)
11770         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
11771         list of CSS pseudo-classes.
11773 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11775         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
11777 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
11779         Stop messing with the EMACS env var
11780         * misc.texi (Interactive Shell): Remove description of EMACS env var.
11782 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11784         Adapt 'make change-history' to coding cookie
11785         * Makefile.in (change-history): Adjust to change of format of
11786         ChangeLog file, which now has a coding cookie before an indented
11787         copyright notice.
11789 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11791         Adapt 'make change-history' to coding cookie
11792         * Makefile.in (change-history): Adjust to change of format of
11793         ChangeLog file, which now has a coding cookie before an indented
11794         copyright notice.
11796         gitlog-to-changelog coding cookie and mv -i
11797         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
11798         for copyright notice prototype, so that we get a proper "coding:"
11799         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
11800         existing ChangeLog.  Problems reported by Eli Zaretskii in:
11801         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
11803         Merge from gnulib
11804         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
11805         2015-04-09 gitlog-to-changelog: port to MS-Windows
11807 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
11809         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
11810         (Bug#20212)
11812 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11814         Stop messing with the EMACS env var
11815         (Bug#20202)
11816         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
11817         * lisp/comint.el (comint-exec-1):
11818         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
11819         * lisp/progmodes/compile.el (compilation-start): Same and bring
11820         INSIDE_EMACS's format in line with other users.
11822         css-mode.el (css-smie-rules): Fix indentation after complex selectors
11823         (Bug#20282)
11824         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
11825         inner structure of selectors.
11827 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
11829         python.el: Indent docstring lines to base-indent
11830         (Bug#19595)
11831         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
11832         an initial patch.
11833         * lisp/progmodes/python.el
11834         (python-indent-context): Add :inside-docstring context.
11835         (python-indent--calculate-indentation): Handle :inside-docstring.
11836         (python-indent-region): Re-indent docstrings.
11837         * test/automated/python-tests.el (python-indent-region-5)
11838         (python-indent-inside-string-2): Fix tests.
11840         python.el: Increase native completion robustness
11841         (Bug#19755)
11842         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
11843         this and providing useful ideas.
11844         * lisp/progmodes/python.el
11845         (python-shell-completion-native-output-timeout): Increase value.
11846         (python-shell-completion-native-try-output-timeout): New var.
11847         (python-shell-completion-native-try): Use it.
11848         (python-shell-completion-native-setup): New readline setup avoids
11849         polluting current context, ensures output when no-completions are
11850         available and includes output end marker.
11851         (python-shell-completion-native-get-completions): Trigger with one
11852         tab only.  Call accept-process-output until output end is found or
11853         python-shell-completion-native-output-timeout is exceeded.
11855 2015-04-08  Samer Masterson  <samer@samertm.com>
11857         * lisp/eshell: Make backslash a no-op in front of normal chars
11858         (Bug#8531)
11859         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
11860         (eshell-parse-backslash): Return escaped character after backslash
11861         if it is special.  Otherwise, if the backslash is not in a quoted
11862         string, ignore the backslash and return the character after; if
11863         the backslash is in a quoted string, return the backslash and the
11864         character after.
11865         * test/automated/eshell.el (eshell-test/escape-nonspecial)
11866         (eshell-test/escape-nonspecial-unicode)
11867         (eshell-test/escape-nonspecial-quoted)
11868         (eshell-test/escape-special-quoted): Add tests for new
11869         `eshell-parse-backslash' behavior.
11871 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
11873         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
11874         after the file name.
11875         (Bug#20276)
11877 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11879         Minor quoting etc. fixes to Emacs manual
11880         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
11881         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
11882         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
11883         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
11884         * doc/emacs/indent.texi, doc/emacs/macos.texi:
11885         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
11886         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
11887         * doc/emacs/search.texi, doc/emacs/trouble.texi:
11888         * doc/emacs/vc1-xtra.texi:
11889         Use American-style double quoting in ordinary text,
11890         and quote 'like this' when single-quoting in ASCII text.
11891         Also, fix some minor spacing issues.
11893         Minor quoting etc. fixes to elisp intro
11894         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
11895         American-style double quoting in ordinary text.  In ASCII text,
11896         consistently quote 'like this' instead of `like this', unless
11897         Emacs requires the latter.
11899 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
11901         * CONTRIBUTE: Mention log-edit-insert-changelog.
11903         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
11905 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11907         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
11909 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
11911         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
11912         (Bug#20270)
11913         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
11914         Fix inheritance of initargs.
11916 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
11918         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
11919         while dowloading information.
11921         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
11922         (package--ensure-init-file): Check file contents before visiting.
11923         (package-initialize): Call it.
11924         (package-install-from-buffer, package-install): Don't call it.
11926 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
11928         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
11929         (Bug#17517)
11931 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
11933         Fix nasty scoping bug in tramp-cache.el
11934         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
11936 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
11938         Add notice to visual commands section
11939         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
11940         such as git call less with its -F option which omits pagination if
11941         the contents is less than one page long.  This interferes with
11942         eshell's visual (sub-)commands.
11944 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
11946         ffap: Support environment variable expansion in file names
11947         (Bug#19839)
11948         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
11949         environment variable expansion in file names.
11951 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11953         Prefer double-quote to accent-grave in man pages
11955 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11957         (Bug#20257)
11958         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
11960 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
11962         Update etc/PROBLEMS.
11963         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
11964         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
11965         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
11966         respectively); other minor updates and tweaks.  (Bug#20011)
11968 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11970         Add doc strings for some Isearch state vars
11971         * lisp/misearch.el (multi-isearch-buffer-list)
11972         (multi-isearch-file-list): Add doc strings.
11973         (Bug#20232)
11975 2015-04-07  Alan Mackenzie  <acm@muc.de>
11977         Always mark "<" and ">" in #include directives with text properties.
11978         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
11979         matcher" with an invocation of c-make-font-lock-search-function to allow
11980         fontification when there's no trailing space on an "#include <..>" line.
11982 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11984         Generate a ChangeLog file from commit logs
11985         * .gitignore: Add 'ChangeLog'.
11986         * build-aux/gitlog-to-changelog: New file, from Gnulib.
11987         * build-aux/gitlog-to-emacslog: New file.
11988         * CONTRIBUTE: Document the revised workflow.
11989         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
11990         instead of just special cases.
11991         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
11992         (ChangeLog, unchanged-history-files, change-history)
11993         (change-history-commit): New rules.
11994         * admin/admin.el (make-manuals-dist--1):
11995         Don't worry about doc/ChangeLog.
11996         * admin/authors.el: Add a FIXME.
11997         * admin/make-tarball.txt:
11998         * lisp/calendar/icalendar.el:
11999         * lisp/gnus/deuglify.el:
12000         * lisp/obsolete/gulp.el:
12001         * lwlib/README:
12002         Adjust to renamed ChangeLog history files.
12003         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
12004         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
12005         Remove obsolete discussion of merging ChangeLog files.
12006         New section "Maintaining ChangeLog history".
12007         * build-aux/git-hooks/pre-commit:
12008         Reject attempts to commit files named 'ChangeLog'.
12009         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
12010         * make-dist: Make and distribute top-level ChangeLog if there's a
12011         .git directory.  Distribute the new ChangeLog history files
12012         instead of scattered ChangeLog files.  Distribute the new files
12013         gitlog-to-changelog and gitlog-to-emacslog.
12014         (Bug#19113)
12016         Rename ChangeLogs for gitlog-to-changelog
12017         This patch was implemented via the following shell commands:
12018         find * -name ChangeLog |
12019         sed 's,.*,git mv & &.1,
12020         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
12021         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
12022         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
12023         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
12024         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
12025         sh
12026         git commit -am"[this commit message]"
12028 This file records repository revisions from
12029 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
12030 commit 88b9a8000da6cf2d4aede86e9eae4f00016d0d6b (inclusive).
12031 See ChangeLog.1 for earlier changes.
12033 ;; Local Variables:
12034 ;; coding: utf-8
12035 ;; End:
12037   Copyright (C) 2015 Free Software Foundation, Inc.
12039   This file is part of GNU Emacs.
12041   GNU Emacs is free software: you can redistribute it and/or modify
12042   it under the terms of the GNU General Public License as published by
12043   the Free Software Foundation, either version 3 of the License, or
12044   (at your option) any later version.
12046   GNU Emacs is distributed in the hope that it will be useful,
12047   but WITHOUT ANY WARRANTY; without even the implied warranty of
12048   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12049   GNU General Public License for more details.
12051   You should have received a copy of the GNU General Public License
12052   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.