Use PAT rather than UPAT in pcase macros
[emacs.git] / ChangeLog.2
blobfa5795c36320958edc80696bd3880e4a2ae155a6
1 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
3         Avoid read error messages from 'inotify'
4         * src/process.c (wait_reading_process_output): Add a
5         'tls_available' set and manipulate it instead of 'Available' when
6         checking TLS inputs.  Assign the value to 'Available' only if we
7         find any TLS data waiting to be read.  This avoids error messages
8         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
10 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
12         Avoid errors in thing-at-point with 2nd argument non-nil
13         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
14         sequences.  (Bug#21391)
16 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
18         Fix segfaults due to using a stale face ID
19         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
20         (display_echo_area_1, redisplay_internal): Call it to avoid
21         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
22         faces, which could case a segfault if the frame's face cache was
23         freed since the last redisplay.  (Bug#21394)
24         * src/xfaces.c (free_realized_faces): Call forget_escape_and_glyphless_faces.
25         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
27 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
29         Fix minor problems with " in manual
31 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
33         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
34         multi-hop files.
36 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
38         Support automated ‘make check’ in non-C locale
39         This lets the builder optionally test Emacs behavior in other locales.
40         The C locale is still the default for tests.
41         * test/automated/Makefile.in (TEST_LOCALE): New macro.
42         (emacs): Use it.
43         * test/automated/flymake-tests.el (flymake-tests--current-face):
44         Use C locale for subprocesses so that tests behave as expected.
45         * test/automated/python-tests.el:
46         (python-shell-prompt-validate-regexps-1)
47         (python-shell-prompt-validate-regexps-2)
48         (python-shell-prompt-validate-regexps-3)
49         (python-shell-prompt-validate-regexps-4)
50         (python-shell-prompt-validate-regexps-5)
51         (python-shell-prompt-validate-regexps-6)
52         (python-shell-prompt-set-calculated-regexps-1):
53         Adjust expected output to match locale.
54         * test/automated/tildify-tests.el (tildify-test--test)
55         (tildify-space-test--test, tildify-space-undo-test--test):
56         This test assumes UTF-8 encoding.
58 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
60         Fix some more docstring etc. quoting problems
61         Mostly these fixes prevent the transliteration of apostrophes
62         that should stay apostrophes.  Also, prefer curved quotes in
63         Bahá’í proper names, as that’s the preferred Bahá’í style and
64         these names are chock-full of non-ASCII characters anyway.
65         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
66         (eieio-defclass-internal):
67         * lisp/emacs-lisp/eieio.el (defclass):
68         * lisp/hi-lock.el (hi-lock-mode):
69         Don’t transliterate Lisp apostrophes when generating a
70         doc string or diagnostic.
71         * lisp/international/mule-diag.el (list-coding-systems-1):
72         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
73         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
74         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
75         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
76         Substitute quotes before putting them in the help buffer.
78 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
80         Re-add the notion of echo_prompt lost in the translation
81         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
82         echo_prompt which contains the actual string.  Update all uses.
83         * src/keyboard.c (kset_echo_prompt): New function.
84         (echo_update): Add echo_prompt at the very beginning.
85         (read_char): Remove workaround for bug#19875, not needed any more.
86         (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403).
87         (mark_kboards): Mark echo_prompt.
89         Fix disassembly of non-compiled lexical functions (bug#21377)
90         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
91         * lisp/emacs-lisp/disass.el: Use lexical-binding.
92         (disassemble): Recognize `closure's as well.
93         (disassemble-internal): Use indirect-function and
94         help-function-arglist, and accept `closure's.
95         (disassemble-internal): Use interactive-form.
96         (disassemble-1): Use functionp.
98         (tex--prettify-symbols-compose-p): Don't compose in verbatim blocks!
99         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
100         Don't compose inside verbatim blocks!
102 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
104         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
105         (bug#19441)
107         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394)
109 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
111         vc-git-mode-line-string: Explicitly re-apply the face
112         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
113         the face (bug#21404).
115 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
117         Treat initial-scratch-message as a doc string
118         * doc/emacs/building.texi (Lisp Interaction):
119         * doc/lispref/os.texi (Startup Summary):
120         * etc/NEWS: Document this.
121         * lisp/startup.el (initial-scratch-message):
122         Look up find-file’s key rather than hardcoding it.
123         (command-line-1): Substitute the doc string.
124         This also substitutes the quotes, which will help test display
125         quoting at startup.
127         Fix describe-char bug with glyphs on terminals
128         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
129         buffers too, so don’t treat them differently from graphic displays.
130         Without this fix, describe-char would throw an error on a terminal
131         if given a glyph with a non-default face.
133         Follow text-quoting-style in display table init
134         This attempts to fix a problem reported by Alan Mackenzie in:
135         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
136         * doc/lispref/display.texi (Active Display Table):
137         Mention how text-quoting-style affects it.
138         * doc/lispref/help.texi (Keys in Documentation):
139         Say how to set text-quoting-style in ~/.emacs.
140         * etc/NEWS: Document the change.
141         * lisp/startup.el (startup--setup-quote-display):
142         Follow user preference if text-quoting-style is set.
143         (command-line): Setup quote display again if user expresses
144         a preference in .emacs.
146 2015-09-02  K. Handa  <handa@gnu.org>
148         Fix typo
149         * ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask -> OTF_positioning_type_components_mask.
151         fix previous change
152         * ftfont.c (ftfont_drive_otf): Remember some bits of
153         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
155 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
157         * lisp/vc/vc-hooks.el (vc-refresh-state): New command
158         (vc-refresh-state): Rename from vc-find-file-hook and make interactive.
159         (vc-find-file-hook): Redefine as obsolete alias.
161 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
163         Escape ` and ' in doc
164         Escape apostrophes and grave accents in docstrings if they are
165         are supposed to stand for themselves and are not quotes.  Remove
166         apostrophes from docstring examples like ‘'(calendar-nth-named-day
167         -1 0 10 year)’ that confuse source code with data.  Do some other
168         minor docstring fixups as well, e.g., insert a missing close
169         quote.
171 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
173         Generalize the prefix-command machinery of C-u
174         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
175         (prefix-command-preserve-state-hook): New hooks.
176         (internal-echo-keystrokes-prefix): New function.
177         (prefix-command--needs-update, prefix-command--last-echo): New vars.
178         (prefix-command-update, prefix-command-preserve): New functions.
179         (reset-this-command-lengths): New compatibility definition.
180         (universal-argument--mode): Call prefix-command-update.
181         (universal-argument, universal-argument-more, negative-argument)
182         (digit-argument): Call prefix-command-preserve-state.
183         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
184         the "prefix argument" to echo.
185         (this_command_key_count_reset, before_command_key_count)
186         (before_command_echo_length): Delete variables.
187         (echo_add_key): Always add a space.
188         (echo_char): Remove.
189         (echo_dash): Don't give up when this_command_key_count is 0, since that
190         is now the case after a prefix command.
191         (echo_update): New function, extracted from echo_now.
192         (echo_now): Use it.
193         (add_command_key, read_char, record_menu_key): Remove old disabled code.
194         (command_loop_1): Don't refrain from pushing an undo boundary when
195         prefix-arg is set.  Remove other prefix-arg special case, now handled
196         directly in the prefix commands instead.  But call echo_now if there's
197         a prefix state to echo.
198         (read_char, record_menu_key): Use echo_update instead of echo_char.
199         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
200         (Freset_this_command_lengths): Delete function.
201         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
202         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
203         * lisp/simple.el: Use those new hooks for C-u.
204         (universal-argument--description): New function.
205         (prefix-command-echo-keystrokes-functions): Use it.
206         (universal-argument--preserve): New function.
207         (prefix-command-preserve-state-hook): Use it.
208         (command-execute): Call prefix-command-update if needed.
209         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
210         (kmacro-step-edit-prefix-index): Delete variables.
211         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
212         support for prefix arg commands.
213         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
214         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
215         (cua--shift-control-prefix): Use prefix-command-preserve-state.
216         Remove now unused arg `arg'.
217         (cua--prefix-override-handler, cua--prefix-repeat-handler)
218         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
219         Update accordingly.
220         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
221         any more.
222         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
223         if the mark is not set.
225 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
227         Rework quoting in tutorial
228         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
229         (if in more detail, type-of-animal in detail, else): Rework the
230         early example to use " rather than ' so that we don’t burden
231         complete novices with the low-priority detail of text quoting style.
232         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
233         (kill-new function, kill-ring-yank-pointer)
234         (Complete forward-sentence, Loading Files)
235         (Code for current-kill, Code for current-kill, yank):
236         Resurrect the Emacs 22 versions of the code, which uses grave
237         quoting style in doc strings.
238         (Complete zap-to-char): Mention how quoting works in doc strings.
240         Setup quote display only if interactive
241         * lisp/startup.el (command-line):
242         Skip call to startup--setup-quote-display if noninteractive.
243         Without this change, python-shell-prompt-validate-regexps-1
244         fails in test/automated/python-tests.el when run in an
245         en_US.utf8 locale on Fedora.
247 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
249         Use defalias at the top level
250         * lisp/gnus/gnus-util.el (gnus-format-message):
251         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
252         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
254 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
256         terminal-init-w32console mimicks command-line
257         Problem reported by Eli Zaretskii.
258         * lisp/startup.el (startup--setup-quote-display):
259         New function, refactored from a part of ‘command-line’.
260         (command-line): Use it.
261         * lisp/term/w32console.el (terminal-init-w32console):
262         Use it, so that this function stays consistent with ‘command-line’.
264         Display replacement quotes with shadow glyphs
265         * lisp/startup.el (command-line): When displaying ASCII
266         replacements for curved quotes, use a shadow glyph instead of a
267         regular one, to avoid ambiguity.
269 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
271         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
273 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
275         Docstring fixes re quotes in C code
276         Fix some docstring quoting problems, mostly by escaping apostrophe.
278 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
280         Some Tramp password fixes
281         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
282         of the hops.
283         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
284         at the beginning of the command.  Otherwise, it could be
285         interpreted as password prompt if the remote host echoes the
286         command.
287         (tramp-remote-coding-commands): Add "openssl enc -base64".
289 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
291         Make vc-git-working-revision always return the commit hash
292         * lisp/vc/vc-git.el (vc-git-working-revision):
293         Return the commit hash (bug#21383).
294         (vc-git--symbolic-ref): New function, extracted from above.
295         (vc-git-mode-line-string): Use it.
297 2015-09-01  K. Handa  <handa@gnu.org>
299         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs.
300         * ftfont.c (MFLTGlyphFT): New type.
301         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
302         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
303         elements in the array MFLTGlyphString.glyphs.
305 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
307         Improve comments in elisp-mode.el, elisp-mode-tests.el
308         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
310         Delete Emacs 25 test in mode-local.el
311         * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix missed an
312         edit in previous commit.
314         Show all known mode-local overrides in *Help*
315         * lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs
316         25. Add all known mode-local overrides.
318 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
320         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
321         Ensure that the article where the search word is found is displayed
322         and pointed to in the summary buffer.
324 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>
326         * lisp/newcomment.el (comment-dwim): Use `use-region-p'
327         When the region is active, but is empty (length 0), act as though
328         the region was not active; that is, put a comment at the end of
329         the line.  (Bug#21119)
331 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
333         Port tls.el to older Emacs
334         * lisp/net/tls.el (tls-format-message):
335         Alias to format-message, or format if not available.
336         (open-tls-stream): Use it.
338 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
340         hideif.el: Recognize .h++ as C++ header.
341         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
343         isearch: Document character folding mode.
344         * isearch.el (isearch-forward): Mention `isearch-toggle-character-fold'
345         in docstring.
347 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
349         Quoting fixes in ERC and Eshell
350         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
351         * lisp/erc/erc-backend.el (define-erc-response-handler):
352         * lisp/erc/erc-fill.el (erc-fill-static-center):
353         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
354         * lisp/eshell/em-glob.el (eshell-glob-entries):
355         * lisp/eshell/em-hist.el (eshell-save-some-history):
356         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
357         (eshell-shuffle-files):
358         * lisp/eshell/esh-cmd.el (eshell-do-eval):
359         * lisp/eshell/esh-proc.el (eshell-process-interact)
360         (eshell-query-kill-processes):
361         Respect ‘text-quoting-style’ in diagnostics and doc strings.
363         Quoting fixes in Gnus
364         * lisp/gnus/gnus-agent.el:
365         (gnus-agent-possibly-synchronize-flags-server):
366         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
367         * lisp/gnus/gnus-eform.el (gnus-edit-form):
368         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
369         (gnus-group-nnimap-edit-acl):
370         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
371         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
372         * lisp/gnus/message.el (message-strip-subject-encoded-words)
373         (message-check-recipients, message-send-form-letter):
374         * lisp/gnus/mm-decode.el (mm-display-part):
375         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
376         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
377         (mml-smime-get-ldap-cert):
378         * lisp/gnus/spam-report.el (spam-report-process-queue):
379         Respect ‘text-quoting-style’ in diagnostics.
380         * lisp/gnus/gnus-art.el (article-display-face)
381         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
382         Use straight quoting in email.
383         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
384         Escape apostrophes in doc strings.
386         Quoting fixes in lisp mail, mh-e, net, url
387         * lisp/mail/emacsbug.el (report-emacs-bug)
388         (report-emacs-bug-hook): Use straight quotes in outgoing email,
389         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
390         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
391         * lisp/mail/rmailout.el (rmail-output-read-file-name):
392         * lisp/net/imap.el (imap-interactive-login):
393         * lisp/net/tls.el (open-tls-stream):
394         * lisp/url/url-auth.el (url-register-auth-scheme):
395         Respect ‘text-quoting-style’ in diagnostics.
396         * lisp/mh-e/mh-e.el (mh-sortm-args):
397         Quote docstring example using text quotes, not as a Lisp quote.
399 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
401         Fix some byte-compiler warnings in EDE
402         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
403         existing autoloader list, rather than add to it.
404         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
405         argument to eieio class constructor.
406         (ede-show-supported-projects): New.
407         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
408         with (oref ... name).
409         (ede-auto-load-project): Use slot name, not initarg key.
410         * lisp/cedet/ede/generic.el (ede-generic-load,
411         ede-generic-find-matching-target): Use slot name, not initarg key.
412         (ede-find-target): Use oref-default on class name.
413         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
414         class constructor.
415         (ede-enable-generic-projects): Make project type names unique.
417 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
419         Fix directory accessibility tests for w32 network volumes
420         * src/w32.c (faccessat): Don't fail with network volumes without a
421         share.
422         (w32_accessible_directory_p): Handle network volumes without a
423         share.
425         Fix handling long file names in readdir on MS-Windows
426         * src/w32.c (sys_readdir): Append "\*" to the directory after
427         converting it to UTF-16/ANSI, not before, to avoid overflowing the
428         260-character limit on file names in filename_to_utf16/ansi.
430         Make file-accessible-directory-p reliable on MS-Windows
431         * src/w32.c (w32_accessible_directory_p): New function.
432         * src/w32.h (w32_accessible_directory_p): Add prototype.
433         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
434         w32_accessible_directory_p to test a directory for accessibility
435         by the current user.  (Bug#21346)
436         (Ffile_accessible_directory_p): Remove the w32 specific caveat
437         from the doc string.
439 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
441         Don't call do_pending_window_change in signal handlers (Bug#21380)
442         * src/gtkutil.c (xg_frame_resized):
443         * src/xterm.c (x_set_window_size):
444         * src/w32term.c (x_set_window_size): Don't call
445         do_pending_window_change.
447 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
449         Quoting fixes in lisp/org
450         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
451         (org-tags-view):
452         * lisp/org/org-capture.el (org-capture-mode)
453         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
454         (org-ctags-ask-append-topic):
455         * lisp/org/org.el (org-time-string-to-time)
456         (org-time-string-to-absolute):
457         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
458         (org-ctags-ask-append-topic):
459         * lisp/org/org.el (org-time-string-to-time)
460         (org-time-string-to-absolute):
461         Respect ‘text-quoting-style’ in diagnostics.
462         * lisp/org/org-agenda.el (org-agenda-custom-commands)
463         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
464         * lisp/org/org-capture.el (org-capture-fill-template):
465         Avoid contraction in output file that might be ASCII.
466         * lisp/org/org-compat.el (format-message):
467         Define if not already defined, for backward compatibility.
468         * lisp/org/org-src.el (org-edit-src-save):
469         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
470         Escape apostrophes in diagnostics.
472         Treat “instead” strings as docstrings
473         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
474         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
475         Substitute quotes in instead strings.
477 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
479         Better documentation of seq-let
480         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
481         documentation of seq-let.
483 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
485         * lisp/international/ccl.el: Fix quoting.
487         Quoting fixes in lisp/international and lisp/leim
488         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
489         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
490         * lisp/international/mule-cmds.el:
491         (select-safe-coding-system-interactively, leim-list-file-name):
492         * lisp/international/quail.el (quail-use-package, quail-help):
493         * lisp/international/titdic-cnv.el (tit-process-header)
494         (miscdic-convert):
495         Respect text quoting style in doc strings and diagnostics.
496         * lisp/international/quail.el (lisp/international/quail.el):
497         * lisp/leim/quail/ethiopic.el ("ethiopic"):
498         Escape apostrophes in doc strings.
500         Make ‘text-quoting-style’ a plain defvar
501         It doesn’t need customization, as it’s likely useful only by experts.
502         Suggested by Stefan Monnier in:
503         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
504         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
506         Quoting fixes in lisp/textmodes
507         * lisp/textmodes/bibtex.el (bibtex-validate)
508         (bibtex-validate-globally, bibtex-search-entries):
509         * lisp/textmodes/ispell.el (ispell-command-loop):
510         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
511         * lisp/textmodes/texinfmt.el (texinfmt-version)
512         (texinfo-format-region, texinfo-format-buffer-1):
513         * lisp/textmodes/two-column.el (2C-split):
514         Respect text quoting style in doc strings and diagnostics.
515         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
516         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
517         Escape apostrophes in doc strings.
519         Documentation fixes re quotes
520         Prefer curved quotes in examples if users will typically see
521         curved quotes when the examples run.
522         Mention format-message when appropriate.
523         Don’t use @code in examples.
524         Quote an apostrophe with @kbd.
526         Quoting fixes in lisp/progmodes
527         * lisp/progmodes/cc-engine.el (c-bos-report-error):
528         * lisp/progmodes/cpp.el (cpp-edit-reset):
529         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
530         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
531         (etags-tags-apropos, list-tags, tags-apropos):
532         * lisp/progmodes/executable.el (executable-set-magic):
533         * lisp/progmodes/octave.el (octave-sync-function-file-names)
534         (octave-help, octave-find-definition-default-filename)
535         (octave-find-definition):
536         Respect text quoting style in doc strings and diagnostics.
537         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
538         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
539         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
540         Escape apostrophes in doc strings.
541         * lisp/progmodes/cmacexp.el (c-macro-expansion):
542         Use straight quoting in ASCII comment.
543         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
544         (idlwave-pad-keyword):
545         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
546         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
547         (vhdl-electric-semicolon, vhdl-electric-comma)
548         (vhdl-electric-period, vhdl-electric-equal):
549         Use directed quotes in diagnostics and doc strings.
551 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
553         Minor documentation and NEWS tweak
554         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an index
555         entry.
557 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
559         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
560         Revert patch from 2015-08-24.  Tramp shall be have like for local files.
561         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
562         Adapt test.
564 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
566         Text quoting fixes in cedet, emulation, emacs-lisp
567         * lisp/cedet/ede.el (ede-check-project-directory):
568         * lisp/cedet/semantic/analyze/debug.el:
569         (semantic-analyzer-debug-insert-include-summary):
570         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
571         * lisp/cedet/semantic/decorate/include.el:
572         (semantic-decoration-unknown-include-describe)
573         (semantic-decoration-all-include-summary):
574         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
575         * lisp/emulation/edt.el (edt-load-keys):
576         * lisp/emulation/viper-cmd.el:
577         (viper-display-current-destructive-command)
578         (viper-query-replace, viper-brac-function):
579         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
580         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
581         Respect text quoting style in doc string or diagnostic.
582         * lisp/cedet/mode-local.el (describe-mode-local-overload):
583         Use format-message to avoid overtranslating quotes.
584         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
585         Escape an apostrophe in a docstring.
586         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
588 2015-08-29  Daniel Colascione  <dancol@dancol.org>
590         Fix which-func for curly quotes: look for symbol, not message
591         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
592         imenu-unavailable error symbol instead of trying to match message
593         exactly.
594         * lisp/imenu.el (imenu-unavailable): New error
595         (imenu-unavailable-error): New function.
597 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
599         Fix Python tests on MS-Windows
600         * test/automated/python-tests.el
601         (python-shell-calculate-command-1): Run python-shell-interpreter
602         through shell-quote-argument before comparing with what
603         python-shell-calculate-command returns.
604         (python-shell-calculate-pythonpath-1)
605         (python-shell-calculate-pythonpath-2)
606         (python-shell-calculate-process-environment-2): Use path-separator
607         instead of a literal ':'.
608         (python-shell-calculate-exec-path-2)
609         (python-shell-calculate-exec-path-3)
610         (python-shell-calculate-exec-path-4)
611         (python-shell-with-environment-1)
612         (python-shell-with-environment-2): Run "/env/bin" through
613         expand-file-name before comparing with exec-path.  (Bug#21375)
615 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
617         Use Core Text types/functions/variables/enumerators directly
618         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
619         (CharacterCollection): Remove typedefs.  All uses replaced with
620         definitions.
621         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
622         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
623         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
624         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
625         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
626         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
627         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
628         definitions.
629         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
630         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
631         (MAC_FONT_FORMAT_BITMAP)
632         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
633         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
634         uses replaced with definitions.
635         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
636         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
637         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
638         compatibility enumerators for older versions.
639         (mac_font_descriptor_create_with_attributes)
640         (mac_font_descriptor_create_matching_font_descriptors)
641         (mac_font_descriptor_create_matching_font_descriptor)
642         (mac_font_descriptor_copy_attribute)
643         (mac_font_descriptor_supports_languages)
644         (mac_font_create_with_name, mac_font_get_size)
645         (mac_font_copy_family_name, mac_font_copy_character_set)
646         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
647         (mac_font_get_descent, mac_font_get_leading)
648         (mac_font_get_underline_position)
649         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
650         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
651         replaced with definitions.
652         (mac_font_create_preferred_family_for_attributes)
653         (mac_font_get_advance_width_for_glyph)
654         (mac_font_get_bounding_rect_for_glyph)
655         (mac_font_create_available_families, mac_font_shape): Remove
656         macros for renamed functions.
657         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
658         * src/macterm.m (mac_font_descriptor_supports_languages): Rename
659         from mac_ctfont_descriptor_supports_languages.
660         (mac_font_create_preferred_family_for_attributes): Rename from
661         mac_ctfont_create_preferred_family_for_attributes.
662         (mac_font_get_advance_width_for_glyph): Rename from
663         mac_ctfont_get_advance_width_for_glyph.  Use
664         kCTFontOrientationDefault also for older versions.
665         (mac_font_get_bounding_rect_for_glyph): Rename from
666         mac_ctfont_get_bounding_rect_for_glyph. Use
667         kCTFontOrientationDefault also for older versions.
668         (mac_font_create_available_families): Rename from
669         mac_ctfont_create_available_families.
670         (mac_font_equal_in_postscript_name): Rename from
671         mac_ctfont_equal_in_postscript_name.  All uses changed.
672         (mac_font_create_line_with_string_and_font): Rename from
673         mac_ctfont_create_line_with_string_and_font.  All uses changed.
674         (mac_font_shape): Rename from mac_ctfont_shape.
675         (mac_font_family_compare): Remove unused declaration.
677 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
679         Fix minor text quoting in calc, calendar, vc
680         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
681         * lisp/calc/calc-help.el (calc-j-prefix-help):
682         * lisp/calc/calc-misc.el (calc-help):
683         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
684         Escape an apostrophe in a docstring.
685         * lisp/calc/calc-forms.el (calc-hms-notation):
686         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
687         Escape an apostrophe in a diagnostic.
688         * lisp/calc/calc-misc.el (calc-help):
689         * lisp/calendar/diary-lib.el (diary-include-files):
690         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
691         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
692         * lisp/vc/ediff-diff.el (ediff-same-contents):
693         * lisp/vc/ediff-merg.el (ediff-re-merge):
694         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
695         * lisp/vc/ediff-util.el (ediff-test-save-region)
696         (ediff-status-info):
697         * lisp/vc/ediff.el (ediff-merge-revisions)
698         (ediff-merge-revisions-with-ancestor):
699         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
700         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
701         Respect text quoting style in doc string or diagnostic.
702         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
703         * lisp/vc/add-log.el (change-log-goto-source):
704         Avoid double-formatting.
705         * lisp/vc/ediff-init.el (format-message):
706         New backward-compatibility alias.
708 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
710         Fix minor text quoting problems in lisp top level
711         * lisp/apropos.el (apropos-describe-plist):
712         * lisp/cus-theme.el (customize-themes):
713         * lisp/dired.el (dired-log):
714         * lisp/help-fns.el (describe-variable):
715         * lisp/hexl.el (hexl-insert-multibyte-char):
716         * lisp/info.el (Info-finder-find-node):
717         * lisp/json.el (json-read-string):
718         * lisp/novice.el (disabled-command-function)
719         (disabled-command-function):
720         * lisp/startup.el (normal-mouse-startup-screen):
721         * lisp/woman.el (WoMan-log, WoMan-warn):
722         Respect text quoting style in doc string or diagnostic.
723         * lisp/replace.el (replace-character-fold):
724         * src/syntax.c (Fmodify_syntax_entry):
725         Escape an apostrophe in a docstring.
726         * lisp/tempo.el (tempo-define-template):
727         Remove confusing apostrophe from docstring.
728         * lisp/whitespace.el (whitespace-mark-x):
729         Use directed quotes in docstring.
731 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
733         Fix indentation rule in css-mode
734         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
735         brackets in presence of pseudo-selectors.  (Bug#21328)
737 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
739         Fix a bug in recording a macro while flyspell-mode is active
740         * lisp/subr.el (sit-for): Don't call read-event when recording a
741         macro.  (Bug#21329)
743 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
745         Tweak startup screen quoting
746         * lisp/startup.el (normal-splash-screen): Use standard
747         "M-" abbrevation rather than a confusingly-different one.
748         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
750 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
752         Add test case for ‘format’ bug and refactor
753         * src/editfns.c (styled_format): Refactor internally, mostly by
754         moving declarations closer to uses.  This should not affect behavior.
755         * test/automated/textprop-tests.el (textprop-tests-format): New test.
757         Fix ‘format’ bug with property offsets
758         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
759         bug in calculating string property offsets (Bug#21351).
761         Use straight quotes in lib-src diagnostics
762         These auxiliary programs can’t use Emacs’s text-quoting-style,
763         and it’s too much trouble to redo that mechanism by hand.
764         So just use straight quotes for now.
765         * lib-src/ebrowse.c (main):
766         * lib-src/emacsclient.c (decode_options, main):
767         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
768         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
769         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
770         (none_help, print_language_names, print_help, add_regex)
771         (suggest_asking_for_help):
772         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
773         Use straight quotes in diagnostics.
775         ‘text-quoting-style’ fixes for admin
776         * admin/admin.el (cusver-scan, cusver-check):
777         * admin/authors.el (authors-canonical-file-name):
778         * admin/bzrmerge.el (bzrmerge-missing):
779         Respect ‘text-quoting-style’ in diagnostics.
781 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
783         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
784         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
785         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
786         * doc/lispref/internals.texi (Writing Emacs Primitives):
787         * etc/NEWS:
788         Document the change.
789         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
790         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
791         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
792         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
793         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
794         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
795         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
796         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
797         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
798         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
799         Remove.  All uses removed.  The code now assumes
800         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
801         * src/bytecode.c (relocate_byte_stack):
802         Rename from unmark_byte_stack, since it now only relocates.
803         All callers changed.
804         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
805         with GCPROs removed.
806         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
807         * test/automated/finalizer-tests.el (finalizer-basic)
808         (finalizer-circular-reference, finalizer-cross-reference)
809         (finalizer-error):
810         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
811         Remove tests, as they depend on gc-precise.
813 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
815         Improve seq-concatenate for new sequence types
816         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
817         ensure that concatenation happens on sequences only.  This makes it
818         possible to use `seq-concatenate' for new types of seqs.
819         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New
820         function used in `seq-concatenate'.
821         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
822         for seq-into-sequence.
824 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
826         Add mode local overrides to xref-find-definitions
827         * lisp/cedet/mode-local.el (xref-mode-local--override-present,
828         xref-mode-local-overload): New; add mode local overrides to
829         xref-find-definitions.
830         * test/automated/elisp-mode-tests.el: Add mode local override tests.
831         (xref-elisp-test-run): Handle indented defuns.
832         (xref-elisp-generic-*): Improve doc strings.
833         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
834         (elisp--xref-find-definitions): Use it.
836         Add mode local overrides to describe-function
837         * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode
838         local overrides to describe-function.
839         * etc/NEWS: Document change.
841 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
843         Prefer straight quoting in some etc text files
844         These files are plain text and might be used by non-Emacs apps.
845         They’re mostly ASCII, so just use straight quotes.
847         Fix quoting in ‘message_with_string’
848         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
849         should work now.
850         * src/xdisp.c (message_to_stderr): New function, refactored from
851         part of ‘message3_nolog’.
852         (message3_nolog): Use it.
853         (message_with_string): Use it.  Don’t mishandle NUL bytes when
854         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
855         Use ‘format-message’, not ‘format’, so that quotes are translated.
857 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
859         Mention false positives of file-accessible-directory on w32
860         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
861         (Bug#21346)
863 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
865         Treat error strings as help
866         * src/print.c (print_error_message): Translate quotes and command
867         keys in errmsg so that users see, e.g., "Symbol’s value as
868         variable is void: foo" when text-quoting-style is curved.
870 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
872         * lisp/net/tramp-cache.el (top): Use `message' but `format-message'.
874 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
876         Top-level elisp files respect ‘text-quoting-style’
877         In top-level elisp files, use format-message in diagnostic formats,
878         so that they follow user preference as per ‘text-quoting-style’
879         rather than being hard-coded to quote `like this'.
880         * lisp/allout.el (allout-get-configvar-values):
881         * lisp/apropos.el (apropos-symbols-internal):
882         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
883         (dired-do-create-files-regexp, dired-create-files-non-directory):
884         * lisp/dired-x.el (dired-do-run-mail):
885         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
886         * lisp/disp-table.el (standard-display-european):
887         * lisp/find-dired.el (find-dired):
888         * lisp/forms.el (forms-mode):
889         * lisp/ido.el (ido-buffer-internal):
890         * lisp/info.el (Info-index-next):
891         * lisp/outline.el (outline-invent-heading):
892         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
893         * lisp/proced.el (proced-log):
894         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
895         * lisp/recentf.el (recentf-open-files, recentf-save-list):
896         * lisp/savehist.el (savehist-save):
897         * lisp/server.el (server-ensure-safe-dir):
898         * lisp/ses.el (ses-rename-cell):
899         * lisp/simple.el (list-processes--refresh):
900         * lisp/startup.el (command-line):
901         * lisp/strokes.el (strokes-unset-last-stroke)
902         (strokes-execute-stroke):
903         Use format-message so that quotes are restyled.
904         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
905         Don’t quote ‘raised’.
906         * lisp/descr-text.el (describe-char):
907         * lisp/dirtrack.el (dirtrack-debug-message):
908         * lisp/hexl.el (hexl-insert-multibyte-char):
909         Apply substitute-command-keys to help string.
910         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
911         (wdired-do-perm-changes):
912         Let dired-log do the formatting.
914 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
916         Go back to grave quoting in Tramp
917         * lisp/net/tramp-adb.el:
918         * lisp/net/tramp-cache.el:
919         * lisp/net/tramp-compat.el:
920         * lisp/net/tramp-gvfs.el:
921         * lisp/net/tramp-gw.el:
922         * lisp/net/tramp-sh.el:
923         * lisp/net/tramp-smb.el:
924         * lisp/net/tramp.el:
925         Stick with grave quoting in diagnostics strings.  This is more
926         portable to older Emacs, desirable for Tramp.
927         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
928         for diagnostic that needs requoting.
929         * lisp/net/tramp-compat.el (format-message):
930         Fall back on simple ‘format’, since that’s good enough now.
932         Go back to grave quoting in Gnus
933         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
934         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
935         (gnus-agent-fetch-headers):
936         * lisp/gnus/gnus-int.el (gnus-start-news-server):
937         * lisp/gnus/gnus-registry.el:
938         (gnus-registry--split-fancy-with-parent-internal)
939         (gnus-registry-post-process-groups):
940         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
941         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
942         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
943         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
944         * lisp/gnus/spam.el (spam-check-blackholes):
945         Stick with grave quoting in diagnostics strings.  This is more
946         portable to older Emacs, desirable for Gnus.
948         Fix customization of text-quoting-style
949         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
950         * lisp/wid-edit.el (widget-docstring):
951         Get raw docstring here since it’s cooked later and should not be
952         cooked twice.
953         * lisp/cus-edit.el (custom-group-value-create):
954         Cook the docstring before inserting it.
955         * lisp/cus-start.el (text-quoting-style): Quote the customization
956         docstrings according to the new rules.  Give curved examples.
958         format-message now curves ` and '
959         That way, the caller doesn’t have to use curved quotes to
960         get diagnostics that match the text-quoting-style preferences.
961         Suggested by Dmitry Gutov in:
962         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
963         This means we no longer need %qs, so remove that format.
964         While we’re at it, fix an unlikely bug and lessen the pressure
965         on the garbage collector by processing the string once rather
966         than twice in the usual case.
967         * doc/lispref/strings.texi (Formatting Strings):
968         * etc/NEWS: Document this.
969         * lisp/subr.el (format-message): Remove; now done in C.
970         * src/callint.c (Fcall_interactively):
971         * src/editfns.c (Fmessage, Fmessage_box):
972         Use Fformat_message instead of Finternal__text_restyle
973         followed by Fformat.
974         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
975         uLSQM and uRSQM.
976         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
977         when pure ASCII now suffices.  Fix unlikely bug when parsing
978         unibyte string containing non-ASCII bytes.  Use inline code
979         rather than memcpy, as it’s a tiny number of bytes.
980         (Finternal__text_restyle): Remove; no longer used.
981         (syms_of_doc): Don’t declare it.
982         * src/editfns.c (Fformat): Rewrite in terms of new function
983         ‘styled_format’.
984         (Fformat_message): New function, moved here from subr.el.
985         (styled_format): New function, with the old guts of Fformat,
986         except it now optionally transliterates quotes, and it transliterates
987         traditional grave accent and apostrophe quoting as well.
988         Remove recently-added q flag; no longer needed or used.
989         (syms_of_editfns): Define format-message.
990         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
991         Remove; no longer need to be global symbols.
992         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
993         so that callers can use `%s'.
994         * src/image.c (image_size_error, xbm_load_image, xbm_load)
995         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
996         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
997         (svg_load_image, gs_load, x_kill_gs_process):
998         * src/lread.c (load_warn_old_style_backquotes):
999         * src/xfaces.c (load_pixmap):
1000         * src/xselect.c (x_clipboard_manager_error_1):
1001         Use `%s' instead of %qs in formats.
1003 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
1005         Minor fixes in doc/emacs/search.texi
1006         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
1007         (Special Isearch): Use @w{} to generate several consecutive spaces
1008         with Texinfo 6.  (Bug#21345)
1010 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
1012         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
1013         (tramp-awk-coding-test): New defconsts.
1014         (tramp-remote-coding-commands): Use them.
1015         (tramp-find-inline-encoding): Check for Perl only if necessary.
1017 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
1019         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
1020         index entries for the special form `quote'.
1022 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
1024         Spelling fixes
1026         Gnus format-message typo fix
1027         * lisp/gnus/gnus-util.el (gnus-format-message):
1028         Fix typo when running in older Emacs.
1030         Prefer directed to neutral quotes
1031         Prefer directed to neutral quotes in docstings and diagnostics.
1032         In docstrings, escape apostrophes that would otherwise be translated
1033         to curved quotes using the newer, simpler rules.
1034         * admin/unidata/unidata-gen.el (unidata-gen-table):
1035         * lisp/align.el (align-region):
1036         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
1037         * lisp/bookmark.el (bookmark-default-annotation-text):
1038         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
1039         * lisp/calc/calc-lang.el (math-read-giac-subscr)
1040         (math-read-math-subscr):
1041         * lisp/calc/calc-misc.el (report-calc-bug):
1042         * lisp/calc/calc-prog.el (calc-fix-token-name)
1043         (calc-read-parse-table-part):
1044         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
1045         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
1046         * lisp/dabbrev.el (dabbrev-expand):
1047         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1048         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
1049         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
1050         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
1051         * lisp/erc/erc-button.el (erc-nick-popup):
1052         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
1053         * lisp/eshell/em-dirs.el (eshell/cd):
1054         * lisp/eshell/em-glob.el (eshell-glob-regexp):
1055         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
1056         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
1057         * lisp/eshell/esh-opt.el (eshell-show-usage):
1058         * lisp/files-x.el (modify-file-local-variable):
1059         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
1060         (filesets-update-pre010505):
1061         * lisp/find-cmd.el (find-generic, find-to-string):
1062         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
1063         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
1064         (gnus-agent-fetch-headers):
1065         * lisp/gnus/gnus-int.el (gnus-start-news-server):
1066         * lisp/gnus/gnus-registry.el:
1067         (gnus-registry--split-fancy-with-parent-internal):
1068         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
1069         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
1070         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
1071         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
1072         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
1073         * lisp/gnus/spam.el (spam-check-blackholes):
1074         * lisp/mail/feedmail.el (feedmail-run-the-queue):
1075         * lisp/mpc.el (mpc-playlist-rename):
1076         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
1077         * lisp/net/mairix.el (mairix-widget-create-query):
1078         * lisp/net/tramp-cache.el:
1079         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
1080         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
1081         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
1082         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
1083         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
1084         (org-babel-goto-named-result):
1085         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
1086         * lisp/org/ob-ref.el (org-babel-ref-resolve):
1087         * lisp/org/org-agenda.el (org-agenda-prepare):
1088         * lisp/org/org-bibtex.el (org-bibtex-fields):
1089         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
1090         (org-clock-resolve):
1091         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
1092         * lisp/org/org-habit.el (org-habit-parse-todo):
1093         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
1094         (org-mouse-context-menu):
1095         * lisp/org/org-table.el (org-table-edit-formulas):
1096         * lisp/org/ox.el (org-export-async-start):
1097         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
1098         (dun-rooms, dun-endgame-questions):
1099         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
1100         * lisp/progmodes/ada-xref.el (ada-find-executable):
1101         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
1102         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
1103         (flymake-start-syntax-check-process):
1104         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
1105         * lisp/progmodes/sql.el (sql-comint):
1106         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
1107         * lisp/server.el (server-get-auth-key):
1108         * lisp/subr.el (version-to-list):
1109         * lisp/textmodes/reftex-ref.el (reftex-label):
1110         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
1111         * lisp/vc/ediff-diff.el (ediff-same-contents):
1112         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
1113         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
1114         Use directed rather than neutral quotes in diagnostics.
1116         Treat ' like ’ even when not matching `
1117         This is simpler and easier to explain, and should encourage better
1118         typography.  Do this in Electric Quote mode and when translating
1119         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
1120         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
1121         * doc/emacs/text.texi (Quotation Marks):
1122         * doc/lispref/help.texi (Keys in Documentation):
1123         * etc/NEWS:
1124         Document this.
1125         * lisp/electric.el (electric-quote-post-self-insert-function):
1126         * src/doc.c (Fsubstitute_command_keys):
1127         Always treat ' like ’ even when not matched by an open quote.
1129 2015-08-25  Glenn Morris  <rgm@gnu.org>
1131         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
1132         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
1134 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1136         * src/macfont.m (macfont_create_family_with_symbol): Accept localized names.
1138 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1140         Tramp diagnostics as per ‘text-quoting-style’
1141         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
1142         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
1143         (tramp-adb-handle-delete-directory)
1144         (tramp-adb-handle-delete-file)
1145         (tramp-adb-handle-file-local-copy)
1146         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
1147         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
1148         (tramp-adb-maybe-open-connection):
1149         * lisp/net/tramp-cache.el:
1150         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
1151         (tramp-compat-octal-to-decimal)
1152         (tramp-compat-coding-system-change-eol-conversion):
1153         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
1154         (tramp-gvfs-do-copy-or-rename-file)
1155         (tramp-gvfs-handle-delete-directory)
1156         (tramp-gvfs-handle-delete-file)
1157         (tramp-gvfs-handle-expand-file-name)
1158         (tramp-gvfs-handle-file-local-copy)
1159         (tramp-gvfs-handle-file-notify-add-watch)
1160         (tramp-gvfs-handle-make-directory)
1161         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
1162         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
1163         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
1164         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
1165         (tramp-sh-handle-set-visited-file-modtime)
1166         (tramp-sh-handle-set-file-modes)
1167         (tramp-sh-handle-file-name-all-completions)
1168         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
1169         (tramp-do-copy-or-rename-file-directly)
1170         (tramp-do-copy-or-rename-file-out-of-band)
1171         (tramp-sh-handle-make-directory)
1172         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
1173         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
1174         (tramp-sh-handle-start-file-process)
1175         (tramp-sh-handle-file-local-copy)
1176         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
1177         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
1178         (tramp-find-file-exists-command, tramp-open-shell)
1179         (tramp-find-shell)
1180         (tramp-open-connection-setup-interactive-shell)
1181         (tramp-find-inline-encoding, tramp-find-inline-compress)
1182         (tramp-compute-multi-hops, tramp-maybe-open-connection)
1183         (tramp-wait-for-output, tramp-send-command-and-check)
1184         (tramp-send-command-and-read, tramp-get-remote-path)
1185         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
1186         (tramp-get-ls-command-with-quoting-style)
1187         (tramp-get-test-command, tramp-get-remote-ln)
1188         (tramp-get-remote-perl, tramp-get-remote-stat)
1189         (tramp-get-remote-readlink, tramp-get-remote-trash)
1190         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
1191         (tramp-get-remote-inotifywait, tramp-get-remote-id)
1192         (tramp-get-remote-python):
1193         * lisp/net/tramp-smb.el (tramp-smb-errors)
1194         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
1195         (tramp-smb-handle-delete-directory)
1196         (tramp-smb-handle-delete-file)
1197         (tramp-smb-handle-file-local-copy)
1198         (tramp-smb-handle-make-directory)
1199         (tramp-smb-handle-make-directory-internal)
1200         (tramp-smb-handle-make-symbolic-link)
1201         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
1202         (tramp-smb-handle-set-file-modes)
1203         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
1204         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
1205         (tramp-process-actions):
1206         Generate diagnostics according to ‘text-quoting-style’, by
1207         using curved quotes in format strings and ‘format-message’
1208         when appropriate.
1209         * lisp/net/tramp-compat.el (format-message):
1210         Define a replacement, if it’s an older version of Emacs
1211         that doesn’t have it already.
1213         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
1215 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
1217         Fix documentation for `save-excursion'
1218         * doc/lispref/positions.texi (Excursions):
1219         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
1220         (Template for save-excursion, Point and mark): `save-excursion'
1221         does not save&restore the mark any more.
1223 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
1225         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
1226         New defconsts.
1227         (tramp-do-file-attributes-with-stat)
1228         (tramp-do-directory-files-and-attributes-with-stat): Use them.
1229         (tramp-convert-file-attributes): Remove double slashes in symlinks.
1230         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
1231         Handle symlinks with "//" in the file name.
1233         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
1235 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
1237         Fix cl-subseq and cl-concatenate
1238         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
1239         seq functions.
1240         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
1241         seq-concatenate.
1243 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
1245         Fix full-screen code when there is no window manager (Bug#21317)
1246         * src/xterm.h (x_wm_supports): Declare external.
1247         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
1248         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
1249         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
1250         `fullscreen' frame parameter.
1251         * gtkutil.c (x_wm_set_size_hint): Set size hints when running
1252         without a window manager.
1254 2015-08-24  Glenn Morris  <rgm@gnu.org>
1256         * lisp/version.el (emacs-version): No longer include build host
1257         * doc/lispref/intro.texi (Version Info): Update example.
1259 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1261         * doc/lispref/elisp.texi: Fix typo in previous change.
1263         More-conservative ‘format’ quote restyling
1264         Instead of restyling curved quotes for every call to ‘format’,
1265         create a new function ‘format-message’ that does the restyling,
1266         and using the new function instead of ‘format’ only in contexts
1267         where this seems appropriate.
1268         Problem reported by Dmitry Gutov and Andreas Schwab in:
1269         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
1270         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
1271         * doc/lispref/commands.texi (Using Interactive):
1272         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
1273         * doc/lispref/display.texi (Displaying Messages, Progress):
1274         * doc/lispref/elisp.texi:
1275         * doc/lispref/help.texi (Keys in Documentation):
1276         * doc/lispref/minibuf.texi (Minibuffer Misc):
1277         * doc/lispref/strings.texi (Formatting Strings):
1278         * etc/NEWS:
1279         Document the changes.
1280         * lisp/abbrev.el (expand-region-abbrevs):
1281         * lisp/apropos.el (apropos-library):
1282         * lisp/calc/calc-ext.el (calc-record-message)
1283         (calc-user-function-list):
1284         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
1285         * lisp/calc/calc-lang.el (math-read-big-balance):
1286         * lisp/calc/calc-store.el (calc-edit-variable):
1287         * lisp/calc/calc-units.el (math-build-units-table-buffer):
1288         * lisp/calc/calc-yank.el (calc-edit-mode):
1289         * lisp/calendar/icalendar.el (icalendar-export-region)
1290         (icalendar--add-diary-entry):
1291         * lisp/cedet/mode-local.el (mode-local-print-binding)
1292         (mode-local-describe-bindings-2):
1293         * lisp/cedet/semantic/complete.el (semantic-completion-message):
1294         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
1295         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
1296         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
1297         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1298         * lisp/dframe.el (dframe-message):
1299         * lisp/dired-aux.el (dired-query):
1300         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
1301         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
1302         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
1303         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
1304         (cconv-analyze-form):
1305         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
1306         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1307         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
1308         * lisp/emacs-lisp/edebug.el (edebug-format):
1309         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
1310         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
1311         (eldoc-message):
1312         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
1313         * lisp/emacs-lisp/find-func.el (find-function-library):
1314         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
1315         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
1316         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
1317         * lisp/emacs-lisp/package.el (package-compute-transaction)
1318         (package-install-button-action, package-delete-button-action)
1319         (package-menu--list-to-prompt):
1320         * lisp/emacs-lisp/timer.el (timer-event-handler):
1321         * lisp/emacs-lisp/warnings.el (lwarn, warn):
1322         * lisp/emulation/viper-cmd.el:
1323         (viper-toggle-parse-sexp-ignore-comments)
1324         (viper-kill-buffer, viper-brac-function):
1325         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
1326         * lisp/facemenu.el (facemenu-add-new-face):
1327         * lisp/faces.el (face-documentation, read-face-name)
1328         (face-read-string, read-face-font, describe-face):
1329         * lisp/files.el (find-alternate-file, hack-local-variables)
1330         (hack-one-local-variable--obsolete, write-file)
1331         (basic-save-buffer, delete-directory):
1332         * lisp/format.el (format-write-file, format-find-file)
1333         (format-insert-file):
1334         * lisp/help-fns.el (help-fns--key-bindings)
1335         (help-fns--compiler-macro, help-fns--obsolete)
1336         (help-fns--interactive-only, describe-function-1)
1337         (describe-variable):
1338         * lisp/help.el (describe-mode):
1339         * lisp/info-xref.el (info-xref-output):
1340         * lisp/info.el (Info-virtual-index-find-node)
1341         (Info-virtual-index, info-apropos):
1342         * lisp/international/kkc.el (kkc-error):
1343         * lisp/international/mule-cmds.el:
1344         (select-safe-coding-system-interactively)
1345         (select-safe-coding-system, describe-input-method):
1346         * lisp/international/mule-conf.el (code-offset):
1347         * lisp/international/mule-diag.el (describe-character-set)
1348         (list-input-methods-1):
1349         * lisp/international/quail.el (quail-error):
1350         * lisp/minibuffer.el (minibuffer-message):
1351         * lisp/mpc.el (mpc--debug):
1352         * lisp/msb.el (msb--choose-menu):
1353         * lisp/net/ange-ftp.el (ange-ftp-message):
1354         * lisp/net/gnutls.el (gnutls-message-maybe):
1355         * lisp/net/newst-backend.el (newsticker--sentinel-work):
1356         * lisp/net/newst-treeview.el (newsticker--treeview-load):
1357         * lisp/net/nsm.el (nsm-query-user):
1358         * lisp/net/rlogin.el (rlogin):
1359         * lisp/net/soap-client.el (soap-warning):
1360         * lisp/net/tramp.el (tramp-debug-message):
1361         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
1362         * lisp/nxml/nxml-parse.el (nxml-parse-error):
1363         * lisp/nxml/rng-cmpct.el (rng-c-error):
1364         * lisp/nxml/rng-match.el (rng-compile-error):
1365         * lisp/nxml/rng-uri.el (rng-uri-error):
1366         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
1367         * lisp/org/org-ctags.el:
1368         (org-ctags-ask-rebuild-tags-file-then-find-tag):
1369         * lisp/proced.el (proced-log):
1370         * lisp/progmodes/ebnf2ps.el (ebnf-log):
1371         * lisp/progmodes/flymake.el (flymake-log):
1372         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
1373         * lisp/replace.el (occur-1):
1374         * lisp/simple.el (execute-extended-command)
1375         (undo-outer-limit-truncate, define-alternatives):
1376         * lisp/startup.el (command-line):
1377         * lisp/subr.el (error, user-error, add-to-list):
1378         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
1379         (tutorial--find-changed-keys):
1380         * src/callint.c (Fcall_interactively):
1381         * src/editfns.c (Fmessage, Fmessage_box):
1382         Restyle the quotes of format strings intended for use as a
1383         diagnostic, when restyling seems appropriate.
1384         * lisp/subr.el (format-message): New function.
1385         * src/doc.c (Finternal__text_restyle): New function.
1386         (syms_of_doc): Define it.
1388 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1390         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
1392 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1394         python.el: Fix python-shell-buffer-substring on indented code
1395         (Bug#21086)
1396         * lisp/progmodes/python.el (python-shell-buffer-substring):
1397         Respect current line indentation when calculating string.
1398         * test/automated/python-tests.el
1399         (python-shell-buffer-substring-10)
1400         (python-shell-buffer-substring-11)
1401         (python-shell-buffer-substring-12): New tests.
1403 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1405         Fix minor glitches from ‘format’ reversion
1406         * doc/lispref/strings.texi (Formatting Strings):
1407         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
1408         Documentation’, not below.
1409         * src/syntax.c (Finternal_describe_syntax_value):
1410         Prefer AUTO_STRING to build_string where either will do, as
1411         AUTO_STRING is a bit faster.
1413 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1415         python.el: Defer shell setup code until first interactive prompt
1416         * lisp/progmodes/python.el
1417         (python-shell-comint-watch-for-first-prompt-output-filter): New
1418         function.
1419         (inferior-python-mode): Use it.
1420         (python-shell-first-prompt-hook): New hook.
1421         (python-shell-send-setup-code)
1422         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
1423         this hook instead of inferior-python-hook.
1425 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
1427         Remove the calls to `seq-into` from `seq-concatenate`
1428         Since most new types of seq would have to be defined as sequences (cons
1429         cells or CL structs, mostly), there is no need to convert the seqs to
1430         sequences (which can be a fairly expensive operation).
1431         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
1432         sequences.
1434 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1436         python.el: Fix completion for pdb interactions
1437         * lisp/progmodes/python.el (python-shell-completion-setup-code):
1438         Simplify.  Toggle print_mode for native wrapped completer.
1439         (python-shell-completion-native-setup): Ensure process buffer.
1440         Add print_mode attribute to completer wrapper to toggle returning
1441         or printing candidates.
1442         (python-shell-completion-native-get-completions): Cleanup.
1443         (python-shell-completion-get-completions): Cleanup.
1444         (python-shell-completion-at-point): Perform prompt checks.  Force
1445         fallback completion in pdb interactions.
1447 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
1449         Make seq.el more extensible by using cl-defmethod
1450         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
1451         make it easier to extend seq.el with new "seq types".
1452         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
1453         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
1454         subseq in cl-extra.el, and use it in seq.el.
1456 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1458         python.el: Fix prompt detection with user overridden interpreter
1459         * lisp/progmodes/python.el (python-shell-prompt-detect): Honor
1460         buffer local python-shell-interpreter and
1461         python-shell-interpreter-interactive-arg.
1463 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
1465         Support exec-directory with non-ASCII characters on Windows
1466         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
1467         in the system's ANSI codepage, when it is used for invoking
1468         cmdproxy.
1470 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
1472         Revert "Extend ‘format’ to translate curved quotes"
1473         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
1475         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
1476         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
1478 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
1480         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify
1481         "invisible window".
1483 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
1485         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
1486         magic-fallback-mode-alist.
1488 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1490         python.el: fallback completion, ffap and eldoc setup enhancements
1491         Setup codes are now sent continuously so that the current frame is
1492         always taken into account.  This allows working within debuggers
1493         and always keeping a fresh version of setup codes that will return
1494         proper results.
1495         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
1496         (python-shell-send-setup-code): Send code only when
1497         python-shell-setup-codes is non-nil.
1498         (python-shell-completion-string-code): Cleanup trailing newline.
1499         (python-shell-completion-get-completions): Always use
1500         python-shell-completion-setup-code.
1501         (python-ffap-setup-code): Work with any object, not only modules.
1502         (python-ffap-string-code): Cleanup trailing newline.
1503         (python-ffap-module-path): Always use python-ffap-setup-code.
1504         (python-eldoc-string-code): Cleanup trailing newline.
1505         (python-eldoc--get-doc-at-point): Always use
1506         python-eldoc-setup-code.  Return non-nil only if docstring is
1507         found.
1509         python.el: Increase native completion robustness.
1510         * lisp/progmodes/python.el (python-shell-completion-native-setup):
1511         Make completer print real candidates and just return dummy ones to
1512         avoid input modification.
1513         (python-shell-completion-native-get-completions): Set
1514         comint-redirect-insert-matching-regexp to non-nil and make
1515         comint-redirect-finished-regexp match the last dummy candidate.
1516         Use python-shell-accept-process-output to wait for the full list
1517         of candidates.
1519 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
1521         Fix invocation of programs via cmdproxy.exe
1522         * src/w32proc.c (sys_spawnve): Use exec-directory, not
1523         invocation-directory, for finding cmdproxy.exe.  When Emacs is
1524         run from the source tree, look for cmdproxy.exe in the same source
1525         tree.  (Bug#21323)
1527 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
1529         Handle comments inside unquoted URIs in css-mode
1530         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
1531         (css-syntax-propertize-function): New defconst.
1532         (css--font-lock-keywords): Handle parens around unquoted URIs.
1533         (css-mode): Set `syntax-propertize-function'.
1535 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
1537         Support invocation of Hunspell with multiple dictionaries
1538         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support
1539         lists of dictionaries of the form "DICT1,DICT2,...".
1540         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
1542         Minor formatting changes in ispell.el
1543         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
1544         (ispell-print-if-debug, ispell-aspell-find-dictionary)
1545         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
1546         (ispell-hunspell-dictionary-alist)
1547         (ispell-hunspell-fill-dictionary-entry)
1548         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
1549         (ispell-buffer-with-debug, ispell-complete-word)
1550         (ispell-current-dictionary, ispell-current-personal-dictionary)
1551         (ispell-accept-output, ispell-minor-mode)
1552         (ispell-personal-dictionary, ispell-dictionary-alist)
1553         (ispell-really-aspell, ispell-really-hunspell)
1554         (ispell-encoding8-command, ispell-aspell-supports-utf8)
1555         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
1556         Fix whitespace, inconsistent capitalization, and arguments in doc
1557         strings.
1559 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
1561         In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
1562         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
1563         function refused to resize a size-preserved window.
1565 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
1567         Improve documentation of 'window-use-time'
1568         * doc/lispref/windows.texi (Selecting Windows): Improve
1569         documentation and indexing of 'window-use-time'.
1571 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1573         * lisp/progmodes/cc-*.el: Fix up commenting style
1574         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
1575         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
1576         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
1577         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
1578         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
1579         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
1580         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
1581         Fix up commenting style.
1583 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1585         text-quoting-style in emacs-lisp diagnostics
1586         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
1587         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
1588         (ad-disable-advice, ad-remove-advice, ad-set-argument)
1589         (ad-set-arguments):
1590         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
1591         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
1592         (byte-optimize-while, byte-optimize-apply):
1593         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
1594         (byte-compile-log-file, byte-compile-format-warn)
1595         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
1596         (byte-compile-cl-warn)
1597         (byte-compile-warn-about-unresolved-functions)
1598         (byte-compile-file, byte-compile-fix-header)
1599         (byte-compile--declare-var, byte-compile-file-form-defmumble)
1600         (byte-compile-form, byte-compile-normal-call)
1601         (byte-compile-variable-ref, byte-compile-variable-set)
1602         (byte-compile-subr-wrong-args, byte-compile-setq-default)
1603         (byte-compile-negation-optimizer)
1604         (byte-compile-condition-case--old)
1605         (byte-compile-condition-case--new, byte-compile-save-excursion)
1606         (byte-compile-defvar, byte-compile-autoload)
1607         (byte-compile-lambda-form)
1608         (byte-compile-make-variable-buffer-local, display-call-tree)
1609         (batch-byte-compile):
1610         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
1611         (cconv-analyze-form):
1612         * lisp/emacs-lisp/chart.el (chart-space-usage):
1613         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
1614         (check-declare-warn, check-declare-file)
1615         (check-declare-directory):
1616         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
1617         (checkdoc-message-text-engine):
1618         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
1619         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
1620         (cl-symbol-macrolet):
1621         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
1622         * lisp/emacs-lisp/copyright.el (copyright)
1623         (copyright-update-directory):
1624         * lisp/emacs-lisp/edebug.el (edebug-read-list):
1625         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
1626         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
1627         (eieio-oref, eieio-oset-default):
1628         * lisp/emacs-lisp/eieio-speedbar.el:
1629         (eieio-speedbar-child-make-tag-lines)
1630         (eieio-speedbar-child-description):
1631         * lisp/emacs-lisp/eieio.el (defclass, change-class):
1632         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
1633         (elint-init-form, elint-check-defalias-form)
1634         (elint-check-let-form):
1635         * lisp/emacs-lisp/ert.el (ert-get-test):
1636         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
1637         (find-function-library):
1638         * lisp/emacs-lisp/generator.el (iter-yield):
1639         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
1640         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
1641         * lisp/emacs-lisp/package-x.el (package-upload-file):
1642         * lisp/emacs-lisp/package.el (package-version-join)
1643         (package-disabled-p, package-activate-1, package-activate)
1644         (package--download-one-archive)
1645         (package--download-and-read-archives)
1646         (package-compute-transaction, package-install-from-archive)
1647         (package-install, package-install-selected-packages)
1648         (package-delete, package-autoremove)
1649         (package-install-button-action, package-delete-button-action)
1650         (package-menu-hide-package, package-menu--list-to-prompt)
1651         (package-menu--perform-transaction)
1652         (package-menu--find-and-notify-upgrades):
1653         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
1654         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
1655         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
1656         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
1657         * lisp/emacs-lisp/smie.el (smie-config-save):
1658         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
1659         * lisp/emacs-lisp/testcover.el (testcover-1value):
1660         Use curved quotes in diagnostic format strings.
1662 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1664         python.el: Ensure remote process-environment on non-interactive processes
1665         * lisp/progmodes/python.el
1666         (python-shell-tramp-refresh-process-environment): New function.
1667         (python-shell-with-environment): Use it.
1668         * test/automated/python-tests.el (python-shell-with-environment-2): Update.
1670         python.el: Enhancements to process environment setup.
1671         * lisp/progmodes/python.el (python-shell-process-environment)
1672         (python-shell-extra-pythonpaths, python-shell-exec-path)
1673         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
1674         (python-shell-setup-codes): Remove :safe.
1675         (python-shell-remote-exec-path): New defcustom.
1676         (python-shell--add-to-path-with-priority): New macro.
1677         (python-shell-calculate-pythonpath): Give priority to
1678         python-shell-extra-pythonpaths.  Update docstring.
1679         (python-shell-calculate-process-environment): Give priority to
1680         python-shell-process-environment.  Update docstring.
1681         (python-shell-calculate-exec-path): Give priority to
1682         python-shell-exec-path and calculated virtualenv bin directory.
1683         Update docstring.
1684         (python-shell-tramp-refresh-remote-path): New function.
1685         (python-shell-with-environment): Use it when working remotely and
1686         do not modify tramp-remote-path.  Allow nesting.
1687         (python-shell-calculate-command): Remove useless
1688         python-shell-with-environment call.
1689         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
1690         (python-shell-calculate-pythonpath-2)
1691         (python-shell-calculate-process-environment-6)
1692         (python-shell-calculate-process-environment-7)
1693         (python-shell-calculate-process-environment-8)
1694         (python-shell-calculate-exec-path-3)
1695         (python-shell-calculate-exec-path-4)
1696         (python-shell-calculate-exec-path-5)
1697         (python-shell-calculate-exec-path-6)
1698         (python-shell-with-environment-3): New tests.
1699         (python-shell-calculate-process-environment-2)
1700         (python-shell-calculate-process-environment-3)
1701         (python-shell-calculate-process-environment-4)
1702         (python-shell-calculate-process-environment-5)
1703         (python-shell-calculate-exec-path-1)
1704         (python-shell-calculate-exec-path-2)
1705         (python-shell-with-environment-1)
1706         (python-shell-with-environment-2): Update and simplify.
1708 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1710         Avoid hard-coding "M-x command" in docstrings
1711         * lisp/calendar/todo-mode.el (todo-mode):
1712         * lisp/desktop.el (desktop-save-mode):
1713         * lisp/edmacro.el (edit-kbd-macro):
1714         * lisp/emacs-lisp/package.el (package-menu-execute):
1715         * lisp/emulation/viper-cmd.el (viper-ask-level):
1716         * lisp/emulation/viper-init.el (viper-expert-level):
1717         * lisp/filesets.el (filesets-add-buffer):
1718         * lisp/follow.el (follow-mode):
1719         * lisp/gnus/auth-source.el (auth-sources):
1720         * lisp/international/ogonek.el (ogonek-informacja)
1721         (ogonek-information):
1722         * lisp/net/tramp.el (tramp-process-actions):
1723         * lisp/org/org-gnus.el (org-gnus-no-new-news):
1724         * lisp/org/org.el (org-ellipsis):
1725         * lisp/progmodes/python.el (python-shell-get-process-or-error):
1726         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
1727         * lisp/server.el (server-start):
1728         * lisp/type-break.el (type-break-noninteractive-query):
1729         * lisp/userlock.el (ask-user-about-supersession-help):
1730         * lisp/whitespace.el (whitespace-report-region):
1731         Prefer (substitute-command-keys "`\\[foo-command]'")
1732         to "`M-x foo-command'" in docstrings and the like.
1734 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
1736         Use add-function for prettify-symbols-compose-predicate
1737         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
1738         prettify-symbols-compose-predicate in terms of add-function.
1739         * etc/NEWS: Mention prettify-symbols-compose-predicate and
1740         prettify-symbols-mode support in tex-mode.
1742 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1744         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun
1745         (smie-indent-exps, smie-indent-keyword): Use it.
1746         * test/indent/css-mode.css: Test alignment with leading comment.
1748 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1750         Respect text-quoting-style in (*Finder*) menus
1751         * lisp/info.el (info--prettify-description):
1752         Treat description as a docstring, so that it's requoted as
1753         per text-quoting-style.
1755 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
1757         Document `window-use-time' in Elisp manual
1758         * doc/lispref/windows.texi (Selecting Windows): Document `window-use-time'.
1760 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1762         A better fix for bug#21303
1763         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
1764         cleaner fix for Bug#21260 than the previous change.
1766 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1768         Respect text-quoting-style in calc
1769         In calc, tespect text-quoting-style preference in diagnostic
1770         formats and fix a few similar problems in docstrings.
1771         * lisp/calc/calc-aent.el (math-read-factor):
1772         * lisp/calc/calc-embed.el (calc-do-embedded):
1773         * lisp/calc/calc-ext.el (calc-user-function-list)
1774         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
1775         * lisp/calc/calc-help.el (calc-describe-key)
1776         (calc-describe-thing):
1777         * lisp/calc/calc-lang.el (calc-c-language)
1778         (math-parse-fortran-vector-end, math-parse-tex-sum)
1779         (math-parse-eqn-matrix, math-parse-eqn-prime)
1780         (calc-yacas-language, calc-maxima-language, calc-giac-language)
1781         (math-read-big-rec, math-read-big-balance):
1782         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
1783         (calc-auto-recompute):
1784         * lisp/calc/calc-prog.el (calc-user-define-invocation)
1785         (math-do-arg-check):
1786         * lisp/calc/calc-store.el (calc-edit-variable):
1787         * lisp/calc/calc-units.el (math-build-units-table-buffer):
1788         * lisp/calc/calc-vec.el (math-read-brackets):
1789         * lisp/calc/calc-yank.el (calc-edit-mode):
1790         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
1791         Use curved quotes in diagnostic format strings.
1792         * lisp/calc/calc-help.el (calc-describe-thing):
1793         Format docstrings with substitute-command-keys.
1794         * lisp/calc/calc-help.el (calc-j-prefix-help):
1795         * lisp/calc/calc-misc.el (calc-help):
1796         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
1797         Escape a docstring "`".
1799 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1801         Fix documentation of 'menu-set-font' and 'set-frame-font'
1802         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
1803         * doc/lispref/frames.texi (Frame Font): Document that
1804         set-frame-font with the last argument 't' will also make the font
1805         the default for the future GUI frames.
1807         Document '--create-frame' option to emacsclient
1808         * doc/emacs/misc.texi (emacsclient Options): Document the
1809         '--create-frame' option.  (Bug#21308)
1811 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1813         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
1815 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1817         Document 'get-mru-window' in the ELisp manual
1818         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
1819         'get-mru-window'.  (Bug#21306)
1821         Clarify documentation of 'get-buffer-window-list'
1822         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
1823         current window, if relevant, will be the first in the list
1824         returned by 'get-buffer-window-list'.
1825         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
1827 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
1829         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
1830         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
1831         `switch-to-buffer'.
1833 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
1835         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
1836         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
1837         `display-buffer' instead of `switch-to-buffer'.
1839 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1841         Follow user preference in calendar diagnostics
1842         Respect text-quoting-style preference in diagnostic formats by
1843         using curved quotes (which are translated as per text-quoting-style)
1844         instead of grave accent and apostrophe (which are not).
1845         * lisp/calendar/appt.el (appt-display-message):
1846         * lisp/calendar/diary-lib.el (diary-check-diary-file)
1847         (diary-mail-entries, diary-from-outlook):
1848         * lisp/calendar/icalendar.el (icalendar-export-region)
1849         (icalendar--convert-float-to-ical)
1850         (icalendar--convert-date-to-ical)
1851         (icalendar--convert-ical-to-diary)
1852         (icalendar--convert-recurring-to-diary)
1853         (icalendar--add-diary-entry):
1854         * lisp/calendar/time-date.el (format-seconds):
1855         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
1856         (timeclock-make-hours-explicit):
1857         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
1858         (todo-item-mark, todo-check-format)
1859         (todo-insert-item--next-param, todo-edit-item--next-key)
1860         (todo-mode):
1861         Use curved quotes in diagnostic format strings.
1862         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
1863         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
1864         Just use straight quoting for simple test case.
1866 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
1868         * src/gfilenotify.c (Fgfile_add_watch):
1869         Handle errors from g_file_monitor.
1871 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
1873         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
1874         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
1875         frame" instead of "non-minibuffer frame".
1877         Fix frame geometry related text
1878         * doc/lispref/frames.texi (Frame Layout): Rename
1879         `x-frame-geometry' to `frame-geometry'.
1880         * doc/lispref/frames.texi (Mouse Position):
1881         * doc/lispref/windows.texi (Coordinates and Windows): Use
1882         `set-mouse-absolute-pixel-position' instead of
1883         `x-set-mouse-absolute-pixel-position'.
1885         Sanitize frame geometry related functions
1886         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
1887         (Fx_frame_edges): Rename to Fns_frame_edges.
1888         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
1889         (Fx_frame_edges): Rename to Fw32_frame_edges.
1890         (Fx_mouse_absolute_pixel_position): Rename to
1891         Fw32_mouse_absolute_pixel_position.
1892         (Fx_set_mouse_absolute_pixel_position): Rename to
1893         Fw32_set_mouse_absolute_pixel_position.
1894         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
1895         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
1896         (ns-frame-edges, w32-mouse-absolute-pixel-position)
1897         (x-mouse-absolute-pixel-position)
1898         (w32-set-mouse-absolute-pixel-position)
1899         (x-set-mouse-absolute-pixel-position): Declare.
1900         (frame-geometry, mouse-absolute-pixel-position)
1901         (set-mouse-absolute-pixel-position): New functions.
1902         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
1904 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1906         Fix MinGW64 build broken by latest w32uniscribe.c changes
1907         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
1908         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
1909         (Bug#21260)
1911 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
1913         Add TeX defaults for prettify-symbol-mode
1914         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
1915         from tex-prettify-symbols-alist.
1916         (tex--prettify-symbols-compose-p): New function.
1917         (tex-common-initialization): Use them as prettify-symbols-alist
1918         and prettify-symbols-compose-predicate.
1920         Generalize prettify-symbols to arbitrary modes
1921         * lisp/progmodes/prog-mode.el
1922         (prettify-symbols-default-compose-p): New function.
1923         (prettify-symbols-compose-predicate): New variable.
1924         (prettify-symbols--compose-symbol): Use it.
1926 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
1928         Don't quote symbols 'like-this' in docstrings etc.
1929         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
1930         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
1931         * lisp/allout.el (allout-add-resumptions, allout-mode):
1932         * lisp/calculator.el (calculator-operators):
1933         * lisp/cedet/data-debug.el (dd-propertize):
1934         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
1935         * lisp/cedet/semantic/analyze/debug.el:
1936         (semantic-analyzer-debug-global-miss-text):
1937         * lisp/cedet/semantic/lex-spp.el:
1938         (semantic-lex-spp-replace-or-symbol-or-keyword):
1939         * lisp/cedet/semantic/symref.el:
1940         (semantic-symref-cleanup-recent-buffers-fcn):
1941         * lisp/cedet/semantic/tag.el (semantic-tag-class):
1942         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
1943         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
1944         * lisp/gnus/pop3.el (pop3-authentication-scheme):
1945         * lisp/help-fns.el (describe-function-orig-buffer):
1946         * lisp/imenu.el (imenu--history-list):
1947         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
1948         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
1949         (feedmail-queue-default-file-slug)
1950         (feedmail-queue-buffer-file-name):
1951         * lisp/net/mairix.el (mairix-searches-mode-map):
1952         * lisp/net/newst-backend.el (newsticker-retrieval-method)
1953         (newsticker-auto-mark-filter-list):
1954         * lisp/obsolete/vi.el (vi-mode):
1955         * lisp/progmodes/cc-engine.el (c-literal-type):
1956         * lisp/progmodes/cpp.el (cpp-face):
1957         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
1958         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
1959         * lisp/progmodes/pascal.el (pascal-auto-lineup):
1960         * lisp/progmodes/prog-mode.el (prog-widen):
1961         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
1962         (verilog-auto-lineup, verilog-auto-reset-widths)
1963         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
1964         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
1965         (flyspell-maybe-correct-doubling):
1966         * lisp/textmodes/table.el (table-justify, table-justify-cell)
1967         (table-justify-row, table-justify-column, table-insert-sequence)
1968         (table--justify-cell-contents):
1969         * lisp/url/url-auth.el (url-get-authentication):
1970         * lisp/window.el (display-buffer-record-window):
1971         * lisp/xml.el (xml-parse-file, xml-parse-region):
1972         * src/gfilenotify.c (Fgfile_add_watch):
1973         Don't quote symbols with apostrophes in doc strings.
1974         Use asymmetric quotes instead.
1975         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
1976         Likewise for symbol in diagnostic.
1977         * lisp/image.el (image-extension-data):
1978         * lisp/register.el (frame-configuration-to-register):
1979         * src/buffer.c (syms_of_buffer):
1980         Remove bogus apostrophes after symbols.
1981         * lisp/thumbs.el (thumbs-conversion-program):
1982         Quote Lisp string values using double-quotes, not apostrophes.
1984 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
1986         Describe frame geometry and related functions in Elisp manual
1987         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
1988         (Showing Images): Update references.
1989         * doc/lispref/elisp.texi (Top): Update node listing.
1990         * doc/lispref/frames.texi (Frame Geometry): New node.  Move
1991         `Size and Position' section here.
1992         (Size Parameters): Update references.
1993         (Mouse Position): Update references and nomenclature.  Describe
1994         new functions `x-mouse-absolute-pixel-position' and
1995         `x-set-mouse-absolute-pixel-position'.
1996         * doc/lispref/windows.texi (Window Sizes): Update references.
1997         (Resizing Windows): Update references.  Move description of
1998         `fit-frame-to-buffer' here.
1999         (Coordinates and Windows): Update nomenclature and references.
2000         Describe new arguments of `window-edges'.  Comment out
2001         descriptions of `window-left-column', `window-top-line',
2002         `window-pixel-left' and `window-pixel-top'.  Describe
2003         `window-absolute-pixel-position'.
2005 2015-08-20  Alan Mackenzie  <acm@muc.de>
2007         Handling of `c-parse-state'.  Fix low level bug.
2008         progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add
2009         "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
2011 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
2013         In `widget-color--choose-action' quit *Color* window instead of deleting it
2014         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
2015         window instead of deleting it.
2017 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
2019         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
2020         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
2021         determine whether frame has a titlebar.
2022         Suggested by Eli Zaretskii <eliz@gnu.org>
2024 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
2026         Add a prettify-symbols-alist for (La)TeX
2027         * tex-mode.el (tex-prettify-symbols-alist): New variable holding
2028         an alist suitable as prettify-symbols-alist in (La)TeX modes.
2030 2015-08-19  Alan Mackenzie  <acm@muc.de>
2032         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
2033         Fixes debbugs#21275.
2034         In Emacs >= 25, let electric-pair-mode take precedence over
2035         delete-selection-mode.
2036         delsel.el (delete-selection-uses-region-p): New function, previously a
2037         lambda expression in a property value for `self-insert-command'.
2038         (top-level) Set the `delete-selection' property of `self-insert-command'
2039         to `delete-selection-uses-region-p'.
2040         progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
2041         for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p'
2042         when the latter function exists.
2044 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2046         Fix key binding quoting in tutorial *Help*
2047         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
2048         When generating help for custom key bindings, use the user-preferred
2049         quoting style rather than hardcoding the grave style.
2051 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
2053         Improve and future-proof OTF fonts support in w32uniscribe.c
2054         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
2055         about the expected results and why the new Uniscribe APIs are not
2056         used in this function.
2057         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
2058         (ScriptGetFontFeatureTags_Proc): New function typedefs.
2059         (uniscribe_new_apis): New static variable.
2060         (uniscribe_check_features): New function, implements OTF features
2061         verification while correctly accounting for features in the list
2062         after the nil member, if any.
2063         (uniscribe_check_otf_1): New function, retrieves the features
2064         supported by the font for the requested script and language using
2065         the Uniscribe APIs available from Windows Vista onwards.
2066         (uniscribe_check_otf): If the new Uniscribe APIs are available,
2067         use them in preference to reading the font data directly.  Call
2068         uniscribe_check_features to verify that the requested features are
2069         supported, replacing the original incomplete code.
2070         (syms_of_w32uniscribe): Initialize function pointers for the new
2071         Uniscribe APIs.  (Bug#21260)
2072         (otf_features): Scan the script, langsys, and feature arrays back
2073         to front, so that the result we return has them in alphabetical
2074         order, like ftfont.c does.
2075         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
2076         New variable for debugging w32uniscribe.c code.
2078 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
2080         * isearch.el (isearch-search-fun-default): Revert a5bdb87
2081         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
2082         clause of `isearch-search-fun-default'. That lax variable does not
2083         refer to lax-whitespacing.  Related to (bug#21777).
2084         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
2085         * character-fold.el (character-fold-search): Set to nil
2086         Default to nil for now, until someone implements proper
2087         lax-whitespacing with char-fold searching.
2089 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
2091         Fix doc-string of `help-mode-finish'.
2092         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
2094         In nsimage.m include coding.h (Bug#21292)
2095         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
2097         Move window edge functions to Elisp.
2098         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
2099         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
2100         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
2101         Move to window.el.
2102         (calc_absolute_offset): Remove.
2103         * lisp/frame.el (frame-edges): New function.
2104         * lisp/window.el (window-edges, window-pixel-edges)
2105         (window-absolute-pixel-edges): Move here from window.c.
2106         (window-body-edges, window-body-pixel-edges)
2107         (window-absolute-body-pixel-edges): Move here from window.c and
2108         rename "inside" to "body".  Keep old names as aliases.
2109         (window-absolute-pixel-position): New function.
2111 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
2113         [Gnus]: Use overlay functions directly
2114         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
2115         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
2116         (gnus-article-highlight-signature, gnus-article-extend-url-button)
2117         (gnus-article-add-button, gnus-insert-prev-page-button)
2118         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
2119         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
2120         (gnus-cite-add-face):
2121         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
2122         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
2123         (gnus-tree-recenter, gnus-highlight-selected-tree):
2124         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
2125         (gnus-summary-show-thread, gnus-summary-hide-thread)
2126         (gnus-highlight-selected-summary):
2127         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
2128         * lisp/gnus/message.el (message-fix-before-sending)
2129         (message-toggle-image-thumbnails):
2130         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
2131         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
2132         Use overlay functions directly instead of using gnus-overlay-*,
2133         message-overlay-*, and sieve-overlay-*.
2134         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
2135         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
2136         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
2137         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
2138         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
2139         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
2140         (message-overlay-get, message-overlay-put, message-overlays-in):
2141         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
2142         (sieve-overlays-at):
2143         Remove.
2145 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
2147         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
2148         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
2149         builds can use the declaration from the system headers.
2150         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
2151         definition of TITLEBAR_INFO.
2152         Suggested by Eli Zaretskii  <eliz@gnu.org>
2154 2015-08-19  Glenn Morris  <rgm@gnu.org>
2156         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
2158 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2160         Use new q ‘format’ flag when fixing quotes in C
2161         * src/image.c (image_size_error): New function.  All uses of
2162         image_error with "Invalid image size ..."  changed to use it.
2163         * src/image.c (image_size_error, xbm_load_image, xbm_load)
2164         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
2165         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
2166         (imagemagick_load, svg_load, svg_load_image, gs_load)
2167         (x_kill_gs_process):
2168         * src/lread.c (load_warn_old_style_backquotes):
2169         * src/xfaces.c (load_pixmap):
2170         * src/xselect.c (x_clipboard_manager_error_1):
2171         Use %qs, not uLSQM and uRSQM.
2172         * src/syntax.c (Finternal_describe_syntax_value):
2173         Prefer Fsubstitute_command_keys to Fformat, as this lets
2174         us use AUTO_STRING.
2175         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
2176         as it's now guaranteed to be ASCII.
2177         * src/xselect.c (x_clipboard_manager_error_2):
2178         Avoid grave accent in low-level stderr diagnostic.
2180 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
2182         New q flag for ‘format’
2183         * doc/lispref/processes.texi (Sentinels):
2184         Don't hardwire grave quoting style in example.
2185         * doc/lispref/strings.texi (Formatting Strings):
2186         * etc/NEWS:
2187         Document new q flag.
2188         * src/editfns.c (Fformat): Implement it.
2190 2015-08-18  Daiki Ueno  <ueno@gnu.org>
2192         pinentry.el: Add debugging support
2193         * lisp/net/pinentry.el (pinentry-debug): New variable.
2194         (pinentry-debug-buffer): New variable.
2195         (pinentry--process-filter): Send input to the debug buffer, if
2196         `pinentry-debug' is set.
2198         pinentry.el: Improve multiline prompt
2199         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
2200         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
2201         command.
2203 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2205         Fix multibyte confusion in diagnostics
2206         * src/print.c (print_error_message):
2207         Don't assume that the caller's name is unibyte.
2208         * src/xdisp.c (vadd_to_log):
2209         Don't assume that the formatted diagnostic is unibyte.
2211         Fix file name encodings in diagnostics
2212         Also, close some minor races when opening image files, by opening
2213         them once instead of multiple times.
2214         * src/gtkutil.c (xg_get_image_for_pixmap):
2215         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
2216         (svg_load):
2217         * src/nsimage.m (allocInitFromFile:):
2218         * src/xfns.c (xg_set_icon):
2219         Encode file name, since x_find_image_file no longer does that.
2220         * src/image.c (x_find_image_fd): New function.
2221         (x_find_image_file): Use it.  Do not encode resulting file name,
2222         since callers sometimes need it decoded.
2223         (slurp_file): File arg is now a fd, not a file name.
2224         All callers changed.  This saves us having to open the file twice.
2225         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
2226         (svg_load):
2227         Use x_find_image_fd and fdopen to save a file-open.
2228         Report file name that failed.
2229         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
2231 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
2233         Allow blink-matching-paren to jump off screen
2234         * doc/emacs/programs.texi (Matching): Mention the
2235         `blink-matching-paren' value `jump-offscreen'.
2236         * lisp/simple.el (blink-matching-paren): New possible value.
2237         (blink-matching-paren-on-screen): Clarify the docstring.
2238         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
2240         Refine the previous change
2241         * lisp/simple.el (blink-matching-open): Use minibuffer-message
2242         outside of save-excursion (bug#21286).
2244 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
2246         Rewrite and add frame geometry related functions.
2247         * src/frame.c (Fframe_position): New function.
2248         (Fset_frame_position): Rename parameters and rewrite doc-string.
2249         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
2250         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
2251         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
2252         Qtitle_bar_size.
2253         * src/nsfns.m (frame_geometry): New function.
2254         (Fx_frame_geometry): Call frame_geometry.
2255         (Fx_frame_edges): New function.
2256         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
2257         (GetTitleBarInfo_Proc): Define these so we can use the
2258         GetTitleBarInfo API.
2259         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
2260         (Fx_frame_geometry): Rewrite.
2261         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
2262         (Fx_set_mouse_absolute_pixel_position): New functions.
2263         * src/xfns.c (frame_geometry): New function.
2264         (Fx_frame_geometry): Call frame_geometry.
2265         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
2266         (Fx_set_mouse_absolute_pixel_position): New functions.
2268 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
2270         Improve Tramp's compatibility
2271         * lisp/net/tramp.el (tramp-get-method-parameter):
2272         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
2273         (tramp-adb-get-device):
2274         * lisp/net/trampver.el (tramp-repository-get-version):
2275         Use `tramp-compat-replace-regexp-in-string'.
2277 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
2279         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
2280         Encode/decode string.
2282 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2284         Clarify what happens to match data on failure
2285         Problem reported by Ernesto Alfonso (Bug#21279).
2286         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
2287         Document more carefully what happens to match data after a failed
2288         search.
2289         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
2290         the return value is undefined if the last search failed.
2291         (Fmatch_data): Simplify doc string line 1.
2293 2015-08-18  Daiki Ueno  <ueno@gnu.org>
2295         Revert "pinentry.el: Support external passphrase cache"
2296         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
2297         pinentry.el shouldn't directly interact with the secrets service,
2298         but ask the caller to cache the passphrase.
2300 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
2302         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
2303         Message mode hooks.
2305 2015-08-17  Daiki Ueno  <ueno@gnu.org>
2307         epg.el: Make gpgconf output parsing future proof
2308         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
2309         --list-options" output.
2311         pinentry.el: Support external passphrase cache
2312         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
2313         (pinentry--allow-external-password-cache): New local variable.
2314         (pinentry--key-info): New local variable.
2315         (secrets-enabled, secrets-search-items, secrets-get-secret):
2316         Declare.
2317         (pinentry--send-passphrase): New function, split from
2318         `pinentry--process-filter'.
2319         (pinentry--process-filter): Use secrets.el to retrieve passphrase
2320         from login keyring.
2322         pinentry.el: Popup window for multiline prompt
2323         * lisp/net/pinentry.el (pinentry): New custom group.
2324         (pinentry-popup-prompt-window): New user option.
2325         (pinentry-prompt-window-height): New user option.
2326         (pinentry--prompt-buffer): New variable.
2327         (pinentry-prompt-mode-map): New variable.
2328         (pinentry-prompt-mode): New function.
2329         (pinentry--prompt): New function.
2330         (pinentry--process-filter): Use `pinentry--prompt' instead of
2331         `read-passwd' and `y-or-n-p'.
2333 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
2335         message.el: Silent the byte compiler
2336         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
2337         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
2338         (message-delete-overlay, message-window-inside-pixel-edges):
2339         Declare before using.
2341         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
2342         (message-window-inside-pixel-edges): XEmacs compatible functions.
2344 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2346         * message.el (message-toggle-image-thumbnails): New command.
2348 2015-08-17  Noah Friedman  <friedman@splode.com>
2350         (blink-matching-open): Restore point before calling minibuffer-message.
2352 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
2354         Update version number in header (now matches help)
2356 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2358         Curved quotes in --batch diagnostics in non-UTF-8
2359         When run with --batch, check that curved quotes are compatible with
2360         the system locale before outputting them in diagnostics.
2361         Problem reported by Eli Zaretskii in:
2362         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
2363         * lisp/startup.el (command-line): Set internal--text-quoting-flag
2364         after the standard display table is initialized.
2365         * src/doc.c (default_to_grave_quoting_style): New function.
2366         (text_quoting_style): Use it.
2367         (text_quoting_flag): New static var, visible to Lisp as
2368         internal--text-quoting-flag.
2369         * src/emacs.c: Include <wchar.h> if available.
2370         (using_utf8): New function.
2371         (main): Use it to initialize text_quoting_flag.
2372         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
2373         Don't define, as it's not needed and it clashes with wchar.h.
2375 2015-08-17  Glenn Morris  <rgm@gnu.org>
2377         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
2378         from makeinfo about spurious "Note:" cross-reference, and for grammar.
2380 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
2382         Minor change in variable initialization on MS-Windows
2383         * src/w32fns.c <after_dead_key>: Initialize to -1.
2384         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
2385         non-zero.
2387         Fix a bug with LWindow key remapping on MS-Windows
2388         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
2390 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
2392         Improve fontset support for latest OTF script tags
2393         * lisp/international/fontset.el (otf-script-alist): Add some
2394         missing script tags.
2395         (setup-default-fontset): Include settings for v2 versions of the
2396         script tags used by some modern OTF/TTF fonts.
2398 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2400         Spelling fixes
2402 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
2404         Use curved quotes in core elisp diagnostics
2405         In the core elisp files, use curved quotes in diagnostic formats,
2406         so that they follow user preference as per ‘text-quoting-style’
2407         rather than being hard-coded to quote `like this'.
2408         * lisp/abbrev.el (expand-region-abbrevs):
2409         * lisp/button.el (button-category-symbol, button-put)
2410         (make-text-button):
2411         * lisp/cus-start.el:
2412         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
2413         (custom--sort-vars-1, load-theme):
2414         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
2415         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
2416         (cl-generic-generalizers):
2417         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
2418         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
2419         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
2420         (advice--make, define-advice):
2421         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
2422         * lisp/emacs-lisp/timer.el (timer-event-handler):
2423         * lisp/env.el (setenv):
2424         * lisp/facemenu.el (facemenu-add-new-face)
2425         (facemenu-add-new-color):
2426         * lisp/faces.el (face-documentation, read-face-name)
2427         (face-read-string, read-face-font, face-spec-set-match-display)
2428         (read-color, x-resolve-font-name):
2429         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
2430         (set-auto-mode, hack-local-variables)
2431         (hack-one-local-variable--obsolete)
2432         (dir-locals-set-directory-class, write-file)
2433         (basic-save-buffer, delete-directory, copy-directory)
2434         (recover-session, recover-session-finish, insert-directory)
2435         (file-modes-char-to-who, file-modes-symbolic-to-number)
2436         (move-file-to-trash):
2437         * lisp/font-lock.el (font-lock-fontify-buffer):
2438         * lisp/format.el (format-write-file, format-find-file)
2439         (format-insert-file):
2440         * lisp/frame.el (get-device-terminal, select-frame-by-name):
2441         * lisp/fringe.el (fringe--check-style):
2442         * lisp/help.el (describe-minor-mode-from-indicator):
2443         * lisp/image.el (image-type):
2444         * lisp/international/fontset.el (x-must-resolve-font-name):
2445         * lisp/international/mule-cmds.el (prefer-coding-system)
2446         (select-safe-coding-system-interactively)
2447         (select-safe-coding-system, activate-input-method)
2448         (toggle-input-method, describe-current-input-method):
2449         * lisp/international/mule-conf.el (code-offset):
2450         * lisp/mouse.el (minor-mode-menu-from-indicator):
2451         * lisp/replace.el (query-replace-read-from)
2452         (occur-after-change-function, occur-1):
2453         * lisp/scroll-bar.el (scroll-bar-columns):
2454         * lisp/simple.el (execute-extended-command)
2455         (undo-outer-limit-truncate, compose-mail, set-variable)
2456         (choose-completion-string, define-alternatives):
2457         * lisp/startup.el (site-run-file, tty-handle-args, )
2458         (command-line, command-line-1):
2459         * lisp/subr.el (noreturn, define-error, add-to-list)
2460         (read-char-choice):
2461         * lisp/term/common-win.el (x-handle-xrm-switch)
2462         (x-handle-name-switch, x-handle-args):
2463         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
2464         Use curved quotes in diagnostics.
2465         * lisp/international/mule.el (find-auto-coding):
2466         Use " to quote in a diagnostic, to be consistent with the rest of
2467         this file.
2469         Convert lisp/term/x-win.el to UTF-8
2470         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
2471         runtime behavior, and the file is multilingual so compile-time
2472         appearance shouldn't be an issue.
2473         * admin/notes/unicode: Document this.
2475 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
2477         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
2478             * losp/progmodes/verilog-mode.el: Fix some non-automated indent
2479             issues and comments, bug943.  (verilog-type-font-keywords): Cycle
2480             delay operators like ##1 and ##[0:$] are now highlighted in their
2481             entirety similarly to the # delay-control operator.  Likewise, the
2482             followed-by operators #-# and #=# are no longer partially
2483             highlighed.  (verilog-backward-syntactic-ws-quick,
2484             verilog-skip-backward-comments): Minor performance improvements to
2485             buffer traversal functions for reduced latency.  (verilog-calc-1,
2486             verilog-in-deferred-immediate-final-p): When the keyword 'final'
2487             follows 'assert/assume/cover', then it is part of a deferred
2488             immediate assertion item and should not be treated as a final
2489             construct for indentation.  Reported by Yuri Sugihara.
2490             (verilog-do-indent): Virtual task/function/class definition lines
2491             should not be considered as declarations.  Reported by Enzo Chi.
2492             (verilog-do-indent): Do not falsely indent to '=' of
2493             property/sequence operators on subsequent lines of a multi-line
2494             statement.  (verilog-assignment-operator-re): Fix '!==' operator
2495             and add support for '<->', ':/', '#-#', and '#=#' operators.
2496             (verilog-calculate-indent, verilog-label-be): Enable
2497             case-sensitive regular expression parsing when looking for
2498             keywords.  (verilog-calc-1): Detect 'pure virtual method'
2499             declarations which exist in abstract classes.  Reported by Enzo
2500             Chi and Kaushal Modi.  (verilog-backward-ws&directives): When
2501             moving back to the start of a line and the preceeding line ended
2502             with an escaped-newline, then jump up one line.  This properly
2503             consumes a multi-line pre-processor directive.  Reported by
2504             Kaushal Modi.  (verilog-dpi-import-export-re,
2505             verilog-extended-complete-re, verilog-calc-1): Teach verilog-mode
2506             to properly indent after a DPI import/export statement that
2507             resides outside of a module.  Reported by Kaushal Modi.
2508             (verilog-extended-complete-re): Update regexp to match both
2509             "DPI-C" and "DPI".  Reported by Kaushal Modi.
2511 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2513         substitute-command-keys a few more doc strings
2514         * lisp/allout.el (outlineify-sticky):
2515         * lisp/files.el (hack-one-local-variable--obsolete):
2516         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
2517         Use substitute-command-keys on some doc strings so that
2518         they don't use hard-coded key bindings or quoting styles.
2520         Fix quoting in Fformat calls
2521         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
2522         (xpm_load, xpm_load_image, pbm_load, png_load_body)
2523         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
2524         (imagemagick_load, svg_load, svg_load_image, gs_load)
2525         (x_kill_gs_process):
2526         * src/lread.c (load_warn_old_style_backquotes):
2527         * src/xfaces.c (load_pixmap):
2528         * src/xselect.c (x_clipboard_manager_error_1):
2529         Quote diagnostics according to user preference when calling
2530         Fformat or its derivatives.
2532 2015-08-15  Glenn Morris  <rgm@gnu.org>
2534         * admin/admin.el (set-version, set-copyright): Remove deleted files.
2536 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
2538         Allow describe-function helpers to access buffer-local values.
2539         This will be used by cedet/mode-local.el `describe-mode-local-override'
2540         on `help-fns-describe-function-functions' in upstream CEDET.
2541         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
2542         `describe-function'.
2543         (describe-function): Bind it, save it on the help xref stack.
2545         Handle pulse-background being nil
2546         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
2547         pulse-background, handle it being nil.
2549 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2551         Fix "\`" confusion in Lisp strings
2552         * admin/authors.el (authors-canonical-author-name):
2553         Fix typo by using "\\`" not "\`" in string RE.
2554         * lisp/obsolete/complete.el (PC-complete-as-file-name):
2555         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
2556         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
2557         Use plain "`", not the equivalent-but-confusing "\`", in strings.
2558         * lisp/textmodes/texinfmt.el: Fix comment likewise.
2560 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
2562         Remove 'nt/zipdist.bat' (no longer used)
2563         * nt/zipdist.bat: Remove - no longer used.
2565 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
2567         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
2568         rather than "getenforce".
2569         (tramp-sh-handle-set-file-selinux-context): Do not
2570         cache SELinux context if not all context components are given.
2572 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
2574         Add doc strings to 2 help-mode.el functions
2575         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
2576         strings.  (Bug#21263)
2578         Remove files used by the old MS-Windows specific build procedure
2579         * admin/unidata/makefile.w32-in:
2580         * doc/emacs/makefile.w32-in:
2581         * doc/lispintro/makefile.w32-in:
2582         * doc/lispref/makefile.w32-in:
2583         * doc/misc/makefile.w32-in:
2584         * leim/makefile.w32-in:
2585         * lib-src/makefile.w32-in:
2586         * lib/makefile.w32-in:
2587         * lisp/makefile.w32-in:
2588         * nt/INSTALL.OLD:
2589         * nt/config.nt:
2590         * nt/emacs-src.tags:
2591         * nt/envadd.bat:
2592         * nt/gmake.defs:
2593         * nt/makefile.w32-in:
2594         * nt/multi-install-info.bat:
2595         * nt/nmake.defs:
2596         * nt/paths.h:
2597         * src/makefile.w32-in: Files deleted.
2598         * nt/configure.bat: Remove everything except the blurb about the
2599         new build procedure.
2600         * make-dist: Remove references to makefile.w32-in in various
2601         directories, and to files in nt/ that were deleted.
2602         * etc/NEWS: Mention the fact that the files were dropped.
2604 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2606         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
2607         (Bug#21248)
2609 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2611         Default to inotify instead of gfile
2612         * configure.ac (with_file_notification): Fix typo that
2613         prevented suppression of file notification if HAVE_NS.
2614         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
2615         with_file_notification is 'yes' (Bug#21241).
2616         * etc/NEWS: Mention this.
2618         Fix broken URLs for ISO-IR
2619         * doc/emacs/mule.texi (Charsets):
2620         * lisp/international/mule-conf.el:
2621         Fix broken URL (Bug#21248).
2623         Low-level diagnostics now use ‘text-quoting-style’
2624         * src/doprnt.c (doprnt):
2625         Format ` and ' as per ‘text-quoting-style’.
2626         * src/xdisp.c (vmessage, message): Mention that the format should
2627         not contain ` or '.
2629         Prefer ‘format’ to ‘substitute-command-keys’
2630         * src/character.h (uLSQM, uRSQM): Move here ...
2631         * src/doc.c (uLSQM, uRSQM): ... from here.
2632         * src/doc.c (Fsubstitute_command_keys):
2633         * src/syntax.c (Finternal_describe_syntax_value):
2634         * lisp/cedet/mode-local.el (mode-local-print-binding)
2635         (mode-local-describe-bindings-2):
2636         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2637         * lisp/cus-theme.el (describe-theme-1):
2638         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2639         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
2640         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2641         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
2642         * lisp/emacs-lisp/package.el (describe-package-1):
2643         * lisp/faces.el (describe-face):
2644         * lisp/help-fns.el (help-fns--key-bindings)
2645         (help-fns--compiler-macro, help-fns--parent-mode)
2646         (help-fns--obsolete, help-fns--interactive-only)
2647         (describe-function-1, describe-variable):
2648         * lisp/help.el (describe-mode):
2649         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
2650         to implement quoting style.  This generally makes the code simpler.
2652         Extend ‘format’ to translate curved quotes
2653         This is a followup to the recent doc string change, and deals with
2654         diagnostics and the like.  This patch is more conservative than
2655         the doc string change, in that the behavior of ‘format’ changes
2656         only if its first arg contains curved quotes and the user prefers
2657         straight or grave quotes.  (Come to think of it, perhaps we should
2658         be similarly conservative with doc strings too, but that can wait.)
2659         The upside of this conservatism is that existing usage is almost
2660         surely unaffected.  The downside is that we'll eventually have to
2661         change Emacs's format strings to use curved quotes in places where
2662         the user might want curved quotes, but that's a simple and
2663         mechanical translation that I'm willing to do later.  (Bug#21222)
2664         * doc/lispref/help.texi (Keys in Documentation):
2665         Move description of text-quoting-style from here ...
2666         * doc/lispref/strings.texi (Formatting Strings):
2667         ... to here, and describe new behavior of ‘format’.
2668         * etc/NEWS: Describe new behavior.
2669         * lisp/calc/calc-help.el (calc-describe-thing):
2670         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2671         * lisp/info.el (Info-find-index-name):
2672         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
2673         of recently-added curved quotes.
2674         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
2675         Move from here ...
2676         * src/lisp.h: ... to here.
2677         * src/doc.c (text_quoting_style): New function.
2678         (Fsubstitute_command_keys): Use it.
2679         * src/editfns.c (Fformat): Implement new behavior.
2680         * src/lisp.h (enum text_quoting_style): New enum.
2682 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
2684         * src/keyboard.c: Use false/true instead of 0/1 for booleans
2685         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
2687 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
2689         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
2690         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
2692 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
2694         Flush file properties in Tramp
2695         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
2696         (tramp-sh-handle-set-file-times):
2697         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
2698         (tramp-adb-handle-set-file-times): Flush the file properties of
2699         the directory.
2701 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
2703         * doc/emacs/misc.text (Amusements): Fixed typo.
2705 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
2707         Don't miss warnings about removing string text properties while dumping
2708         * src/alloc.c (purecopy): Warn about removing a string's text
2709         properties even when the same string was already pure-copied
2710         earlier.
2711         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
2712         (elisp--xref-format-extra): Fix the commentary.
2714 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2716         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
2718 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
2720         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
2721         * lisp/progmodes/compile.el: Use lexical-binding.
2722         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
2724 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2726         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
2727         * lisp/uniquify.el: Remove redundant `:group's.
2729 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
2731         * lisp/net/tramp-adb.el
2732         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
2733         result to prevent modification of the tramp-cache by side effects.
2734         Use the correct cache key.
2736 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
2738         Make add_to_log varargs
2739         * src/alloc.c (run_finalizer_handler):
2740         * src/charset.c (load_charset_map_from_vector):
2741         * src/nsimage.m (ns_load_image):
2742         * src/xfaces.c (load_pixmap, load_color2):
2743         Simplify, now that add_to_log has a variable number of args.
2744         * src/image.c (image_error): Take a variable number of args.
2745         Callers simplified.
2746         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
2747         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
2748         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
2749         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
2751         Optional args for holiday-greek-orthodox-easter
2752         * etc/NEWS: Document this.
2753         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
2754         Add optional args N and STRING, mimicking the API and code of
2755         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
2757 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
2759         xref-find-definitions: Exclude more generic function items.
2760         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
2761         (cl--generic-find-defgeneric-regexp): New.
2762         (find-function-regexp-alist): Add it.
2763         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
2764         elisp-mode.el, change to search for ";;; Code:"
2765         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
2766         (find-function-regexp-alist): Add them.
2767         * lisp/progmodes/elisp-mode.el:
2768         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
2769         to bug#21237.
2770         (elisp--xref-find-definitions): Exclude co-located default methods for
2771         generic functions. Also exclude implicitly declared defgeneric.
2772         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
2773         mode variables defined by 'define-minor-mode'.
2774         * test/automated/elisp-mode-tests.el: Declare generic functions, add
2775         tests for them.
2776         (xref-elisp-test-run): Fix bug.
2777         (emacs-test-dir): Improve initial value.
2778         (find-defs-defun-defvar-el): Don't expect defvar.
2779         (find-defs-feature-el): Match change to find-feature-regexp.
2781 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
2783         Improve warning about purecopy of strings with properties
2784         * src/alloc.c (purecopy): Show the offending string with the
2785         warning about removing its text properties.
2787 2015-08-12  Alan Mackenzie  <acm@muc.de>
2789         Introduce new macros to cover Emacs's new names in cl-lib.el.
2790         This also eliminates `mapcan' warnings in XEmacs.
2791         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
2792         [X]Emacs versions.
2793         (top-level): Require either 'cl or 'cl-lib, depending on
2794         c--mapcan-status.
2795         Change this back to cc-external-require from an eval-when-compile
2796         require.
2797         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
2798         (c--delete-duplicates): New macros which expand into either old or new
2799         names.
2800         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
2801         rather than the old names.
2802         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
2803         than mapcan.
2804         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
2805         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
2806         depending on c--mapcan-status.
2807         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
2808         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
2809         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
2810         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
2811         (c-decl-block-key, c-keywords, c-keywords-obarray)
2812         (c-regular-keywords-regexp, c-primary-expr-regexp,
2813         c-primary-expr-regexp)
2814         (c-block-prefix-disallowed-chars, c-known-type-key,
2815         c-nonlabel-token-key)
2816         (c-make-init-lang-vars-fun): Use the new macros rather than the old
2817         names.
2819 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
2821         loadhist.el (read-feature): Conform to completing-read
2822         * lisp/loadhist.el (read-feature): According to `completing-read'
2823           documentation, if collection is a list, then it must be a list of
2824           strings. And not a list of symbols like before.
2826 2015-08-12  David Kastrup  <dak@gnu.org>
2828         Deal gracefully with up-events (Bug#19746)
2829         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
2830         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
2831         those may easily be injected by user-level Lisp code.
2832         (read_key_sequence): Discard unbound up-events like unbound
2833         down-events: they are even more likely only relevant for special
2834         purposes.
2835         While Emacs will not produce up-events on its own currently (those are
2836         converted to drag or click events before being converted to
2837         Lisp-readable structures), the input queue can be made to contain them
2838         by synthesizing events to `unread-command-events'.  Emacs should deal
2839         consistently with such events.
2841 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
2843         Fix display of thin lines whose newline has line-height property of t
2844         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
2845         and descent values of non-empty glyph rows, since they could have
2846         forced low values deliberately.  (Bug#21243)
2848 2015-08-12  Richard Stallman  <rms@gnu.org>
2850         Offer to combine multiple To or CC fields.
2851         * sendmail.el (mail-combine-fields): New function.
2852         (mail-send): Call 'mail-combine-fields'.
2854         Don't decrypt encrypted files.
2855         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
2857         Handle encrypted mbox files.
2858         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
2859         file if necessary.
2861         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
2862         * rmail.el (rmail-epa-decrypt-1): New subroutine.
2863         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
2864         In a mime message, reenable Mime and show the parts that
2865         were shown before.
2866         Add keyword "decrypt" if anything decrypted.
2868         epa-inhibit inhibits auto-recognition of .gpg files
2869         * lisp/epa-file.el (epa-inhibit): New variable.
2870         (epa-file-handler): Check epa-inhibit.
2872 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
2874         * emacs-lisp/lisp-mnt.el (lm-header): save-excursion
2876 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2878         Respect python.el imenu when semantic-mode is off
2879         Fixes debbugs:21220
2880         * lisp/cedet/semantic/wisent/python.el: Do not force
2881         wisent-python-default-setup on python-mode-hook.
2883 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2885         Give names to Unicode code points in C code
2886         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
2887         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
2888         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
2889         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
2890         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
2891         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
2892         (OBJECT_REPLACEMENT_CHARACTER):
2893         New named constants for Unicode code points.
2894         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
2895         * src/composite.c (char_composable_p):
2896         * src/lread.c (readevalloop, read1):
2897         * src/xdisp.c (get_next_display_element):
2898         Use them.
2899         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
2900         Remove; now in character.h.
2902 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
2904         elisp--xref-find-definitions handle cl-defstuct default constructor
2905         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
2906         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
2907         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
2908         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
2909         from xref-elisp-test for ease of debugging.
2910         (xref-elisp-deftest): Rename from xref-elisp-test.
2911         (find-defs-constructor): New test.
2912         (find-defs-defgeneric-el): Match batch test config.
2913         (compile): Required for find-defs compilation-minor-mode test.
2914         (find-defs-defvar-el): Match code change.
2915         (find-defs-face-el): Match code change.
2916         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
2917         Improve doc string.
2919 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2921         * lisp/replace.el (perform-replace): Document `replacements'.
2922         (perform-replace): Move the description of the format of `replacements' from
2923         the body's comment to the docstring.
2925 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
2927         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
2928         sequence.  Recent adb version send initial escape sequences, even
2929         when terminal type is set to TERM=dumb.
2931 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
2933         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
2934         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted
2935         (elisp--xref-format-cl-defmethod): new
2936         (find-feature-regexp): new
2937         (find-alias-regexp): new
2938         (elisp--xref-make-xref): new
2939         (elisp--xref-find-definitions): Rewrite using the above, handle many more
2940         cases. Always output all available definitions.
2941         (xref-location-marker): No need for special cases.
2942         * test/automated/elisp-mode-tests.el: Add more tests of
2943         elisp--xref-find-definitions, improve current tests.
2945 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
2947         Fix recording of events pushed onto unread-command-events
2948         * src/keyboard.c (read_char): Make sure events read from
2949         unread-command-events and unread-post-input-method-events are
2950         always recorded by record_char.  Reported by David Kastrup
2951         <dak@gnu.org>, see
2952         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
2954 2015-08-10  Samer Masterson  <samer@samertm.com>
2956         Set file buffer as current for "--file"
2957         * lisp/startup.el (command-line-1): Set file buffer as current before
2958         it is displayed so it can be used with options like
2959         "--eval".  (Bug#21095)
2961 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
2963         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
2964         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
2965         after setting LC_ALL to the desired locale, to avoid affecting how
2966         numbers are read and printed.  (Bug#21223)
2968 2015-08-10  Alan Mackenzie  <acm@muc.de>
2970         Fix "Invalid search bound (wrong side of point)" in fontification.
2971         progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an
2972         initialization expression, check point is not beyond the fontification
2973         limit.
2975 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2977         Fix DPI calculation when Xft/DPI is default
2978         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
2979         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
2980         Remove unnecessary cast while we're in the neighborhood.
2982 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
2984         Add project-vc-search-path and project-vc-ignores
2985         * lisp/progmodes/project.el (project-vc): New group.
2986         (project-vc-search-path, project-vc-ignores): New variables.
2987         (project--value-in-dir): Utility function.
2988         (project-search-path, project-ignores): Use them.
2989         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
2990         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
2992 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2994         Fix some minor quoting issues with grave accent
2995         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
2996         Remove redundant quotes.
2997         * src/doc.c (uLSQM, uRSQM): New macros.
2998         * src/doc.c (Fsubstitute_command_keys):
2999         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
3000         preference for quotes rather than hardcoding the ‘grave’ style.
3001         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
3002         (re_match_2_internal) [DEBUG]: In debugging output, quote C
3003         strings with "...", not `...'.
3005         ChangeLog.2 ignores remote-tracking merges
3006         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
3007         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
3008         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
3010 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
3012         Use kpsewhich in ffap-latex-mode, if available
3013         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
3014         (ffap-latex-mode): Use kpsewhich if available.
3016         ffap: disallow braces in filenames for tex modes
3017         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
3018         braces in tex-related modes.
3020         Remove useless backslashes from ffap-string-at-point-mode-alist
3021         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
3022         misleading backslashes from default value.
3024         Augment docstring of ffap-string-at-point-mode-alist
3025         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
3026         and END are handled.
3028 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3030         Remove no-op calls to substitute-command-keys
3031         * lisp/org/org-src.el (org-edit-src-code)
3032         (org-edit-fixed-width-region):
3033         * lisp/simple.el (completion-setup-function):
3034         Remove calls to substitute-command-keys that always just return
3035         their argument.
3037 2015-08-09  Daiki Ueno  <ueno@gnu.org>
3039         Utilize `quit-window' in epa.el
3040         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
3041         (Bug#21210)
3043 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
3045         fix link to source code in help window
3046         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
3047         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
3048         'No longer include timestamp in header of .elc files'. Add code
3049         that will return .el source file in load-path.
3051 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
3053         * isearch.el (isearch-search-fun-default): (Bug#21164)
3054         Respect `isearch-lax-whitespace' when searching through
3055         `isearch-word'.
3057 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
3059         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
3061         * org.el: Fix up some lexical scoping warnings, and use dolist
3062         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
3063         (org-set-regexps-and-options, org-assign-fast-keys)
3064         (org-contextualize-keys, org-contextualize-validate-key)
3065         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
3066         (org-find-olp, org-find-exact-heading-in-directory)
3067         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
3068         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
3069         (org-replace-escapes): Use dolist.
3070         (org-mode): Optimize away XEmacs-only code.
3071         (org-refile-get-targets): Remove unused var `f'.
3072         (org-fast-todo-selection): Remove unused var `e'.
3073         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
3074         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
3075         (org-format-latex): Use dolist.  Remove unused var `e'.
3076         (org-toggle-heading): Access vars lexically rather than dynamically.
3077         (org-backward-sentence, org-forward-sentence, org-meta-return)
3078         (org-kill-line): Mark arg as unused.
3079         (org-submit-bug-report): Silence compiler warning.
3080         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
3081         (org-get-cursor-date): Remove unused var `tm'.
3082         (org-comment-or-uncomment-region): Use standard name `_'.
3083         (reftex-docstruct-symbol, reftex-cite-format): Declare to
3084         silence byte-compiler.
3085         (org-reftex-citation): Add `org--' prefix to dynamically scoped
3086         `rds' var.
3088 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
3090         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
3092 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
3094         Electric quote if coding is undecided or no conv
3095         * lisp/electric.el (electric--insertable-p): Also say that a
3096         string is insertable if the buffer file coding system is undecided
3097         or uses no conversion, as curved quotes will work in either case.
3099         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
3101 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
3103         Fix overlay string display regressions introduced in Emacs 24.5
3104         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
3105         buffer position, if we move the iterator to a new position as
3106         result of jumping over text covered by a "replacing" display
3107         property.
3108         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
3110         Support recovery from C stack overflow on MS-Windows
3111         * src/w32fns.c (w32_reset_stack_overflow_guard)
3112         (stack_overflow_handler): New functions for handling C stack
3113         overflow exceptions.
3114         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
3115         specially, and zero out except_addr if we do.
3116         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
3117         mode.
3118         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
3119         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
3120         the MinGW build, but the code guarded by that is for Posix hosts.
3121         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
3122         w32_reset_stack_overflow_guard.
3123         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
3124         (sigsetjmp): New macro.
3125         (w32_reset_stack_overflow_guard): Declare the prototype.
3126         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
3128 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
3130         Improve error signalling for seq-subseq.
3132         * lisp/seq.el (seq-subseq): The existing behaviour is to error
3133         when indexes are too large, but to silently ignore numbers which
3134         are too negative for lists.  String and vector handling errors in
3135         both cases. This has been regularlised. Error signalling behaviour
3136         has been explicitly added to the docstring.
3138         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
3139         therefore also impacted by this change. The docstring has been
3140         updated to reflect this.
3142         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
3143         added for these exceptional cases, as well as one non exceptional
3144         base case.
3146 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
3148         Improve error checking in tramp-adb.el
3149         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
3150         Improve error checking.  "ls -l" on Android in Enforcing mode can
3151         print "lstat './FILENAME failed: Permission denied".
3153 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
3155         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
3156         non-struct vectors.
3158 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
3160         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
3161         * lisp/window.el: fix typo that broke build
3162         (display-buffer--action-function-custom-type): add
3163         `display-buffer-use-some-frame'
3164         (display-buffer): add `display-buffer-use-some-frame' to doc string
3166         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
3167         * lisp/window.el (display-buffer-use-some-frame): Add support for
3168         'inhibit-same-window in alist.
3169         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
3170         'inhibit-same-window in alist.
3172 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
3174         Avoid infinite loop in display of invisible text in strings
3175         * src/xdisp.c (handle_invisible_prop): If the next change of
3176         invisibility spec does not mean the beginning of a visible text,
3177         update the string position from which to start the search for the
3178         next invisibility change.  This avoids an infinite loop when we
3179         have more than one invisibility spec that are made inactive by
3180         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
3181         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
3182         for the situation that caused bug #21200.
3184 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3186         * lisp/emacs-lisp/package.el: Simplify describe-package-1
3187         (package-help-section-name-face): New face.
3188         (package--print-help-section): New function.
3189         (describe-package-1): Refactor section printing.
3190         (package-make-button): Use face instead of font-lock-face, which
3191         doesn't work on buttons.
3193         * lisp/emacs-lisp/package.el: Define custom faces
3194         (package-name-face, package-description-face)
3195         (package-status-built-in-face, package-status-external-face)
3196         (package-status-available-face, package-status-new-face)
3197         (package-status-held-face, package-status-disabled-face)
3198         (package-status-installed-face, package-status-dependency-face)
3199         (package-status-unsigned-face, package-status-incompat-face)
3200         (package-status-avail-obso-face): New faces.
3201         (package-menu--print-info-simple): Use them.
3203 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
3205         Fix some confusion with ‘format’
3206         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
3207         (allout-graphics-modification-handler):
3208         Protect arbitrary string in a format context with "%s" format.
3209         * lisp/avoid.el:
3210         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
3211         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
3212         * lisp/erc/erc-button.el (erc-button-beats-to-time):
3213         * lisp/gnus/message.el (message-send-form-letter):
3214         * lisp/org/ob-core.el (org-babel-check-evaluate)
3215         (org-babel-confirm-evaluate):
3216         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
3217         * lisp/org/ox-latex.el (org-latex-compile):
3218         * lisp/org/ox-man.el (org-man-compile):
3219         * lisp/org/ox-odt.el (org-odt-template):
3220         * lisp/org/ox-texinfo.el (org-texinfo-compile):
3221         * lisp/progmodes/prolog.el (prolog-help-info)
3222         (prolog-view-predspec):
3223         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
3224         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
3225         * lisp/textmodes/rst.el (rst-replace-lines):
3226         Change (message (format ...)) to (message ...), and likewise
3227         for ‘error’.  This lessens the probability of confusion when the
3228         output of ‘format’ contains ‘%’.
3230 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
3232         * lisp/replace.el (replace-character-fold): Default to nil
3234         * lisp/character-fold.el: Fix lax whitespace
3235         (character-fold-table): Don't make space match other whitespace chars.
3236         (character-fold-to-regexp): Simplify lax behaviour.
3238 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
3240         Preserve window point in xref-find-definitions-other-window
3241         Fix the problem reported by Ingo Logmar in
3242         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
3243         * lisp/progmodes/xref.el (xref--goto-char): Extract from
3244         xref--goto-location.
3245         (xref--pop-to-location): Use it. Replace xref--goto-location with
3246         a direct xref-location-marker call.
3247         (xref--show-location): Likewise.
3248         (xref--display-position): Use xref--goto-char.
3250         * lisp/progmodes/project.el: Add a paragraph to the front matter.
3252 2015-08-04  David Kastrup  <dak@gnu.org>
3254         Do not overwrite preexisting contents of unread-command-events
3255         * lisp/vc/emerge.el (emerge-show-file-name):
3256         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
3257         (vhdl-comment-insert, vhdl-hooked-abbrev):
3258         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
3259         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
3260         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
3261         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
3262         * lisp/obsolete/vip.el (vip-escape-to-emacs)
3263         (vip-prefix-arg-value, vip-prefix-arg-com):
3264         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
3265         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
3266         (quail-tibkey-update-translation):
3267         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3268         * lisp/leim/quail/lao.el (quail-lao-update-translation):
3269         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
3270         (quail-japanese-self-insert-and-switch-to-alpha):
3271         * lisp/leim/quail/hangul.el (hangul2-input-method)
3272         (hangul3-input-method, hangul390-input-method):
3273         * lisp/language/hanja-util.el (hangul-to-hanja-char):
3274         * lisp/international/robin.el (robin-input-method):
3275         * lisp/international/quail.el (quail-start-translation)
3276         (quail-start-conversion):
3277         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
3278         (gnus-article-describe-key-briefly):
3279         * lisp/eshell/em-hist.el (eshell-list-history):
3280         * lisp/term.el (term-dynamic-list-input-ring)
3281         (term-dynamic-list-completions):
3282         * lisp/subr.el (momentary-string-display):
3283         * lisp/simple.el (read-quoted-char):
3284         * lisp/pcomplete.el (pcomplete-show-completions):
3285         * lisp/kmacro.el (kmacro-repeat-on-last-key):
3286         * lisp/info.el (Info-summary):
3287         * lisp/ehelp.el (electric-help-command-loop):
3288         * lisp/ebuff-menu.el (electric-buffer-list)
3289         (Electric-buffer-menu-exit):
3290         * lisp/double.el (double-translate-key):
3291         * lisp/comint.el (comint-dynamic-list-input-ring)
3292         (comint-dynamic-list-completions): Do not overwrite preexisting
3293         contents of `unread-command-events' when putting new events into
3294         it.
3296 2015-08-04  Daniel Colascione  <dancol@dancol.org>
3298         Improve ansi-color filtering of unrecognized escape sequences
3299         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
3300         escape sequences.
3301         (ansi-color-filter-apply): Filter out unrecognized escape sequences
3302         (ansi-color-apply): Filter out unrecognized escape sequences
3304 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
3306         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
3307         definitions to `easy-menu-define', improve a couple to account for
3308         async, and add a couple of new commands.
3310 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
3312         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
3314 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
3316         Add new 'calendar-weekend-days' option
3317         Make the days receiving the 'calendar-weekend-header' face freely
3318         customizable, as they differ by region/culture.
3319         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
3320         new variable.
3321         * lisp/calendar/calendar.el (calendar-generate-month): New variable
3322         calendar-weekend-days to customize day header fontification.
3324 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
3326         Redo text-quoting-style variable
3327         Rename help-quote-translation to text-quoting-style,
3328         and use symbols rather than characters as values.
3329         This follows suggestions along these lines by Alan Mackenzie in:
3330         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
3331         and by Drew Adams in:
3332         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
3333         * doc/lispref/help.texi (Keys in Documentation)
3334         * etc/NEWS:
3335         * lisp/cus-start.el (standard):
3336         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
3337         Document and/or implement the new behavior instead of the old.
3338         (syms_of_doc): New symbols 'grave' and 'straight'.
3340 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
3342         nnimap.el: Use IMAP MOVE extension if available
3343         * lisp/gnus/nnimap.el (nnimap-request-move-article)
3344         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
3345         Use MOVE extension if available.
3347         nnimap.el: Explicitly ask for server capabilities
3348         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
3349         capabilities will be returned in the login-result.
3351 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3353         Treat help strings like other doc strings
3354         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
3355         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
3356         substitute-command-keys.
3357         * src/keyboard.c (show_help_echo, parse_menu_item): Call
3358         substitute-command-keys on the help string before displaying it.
3360         Also mention "curly quotes"
3361         See Drew Adams's email in:
3362         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
3363         * doc/lispref/help.texi (Keys in Documentation):
3364         Add index entry "curly quotes".
3365         * etc/NEWS: Use the phrase "curly quotes" too.
3367         ede-proj-target-makefile docstring tweaks
3368         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
3369         Consistently use "all:" to describe the all: target,
3370         replacing three different and confusingly-quoted usages.
3372 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
3374         Whitespace fixes
3376 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
3378         Don't abort emacsclientw when -a was specified
3379         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
3380         out if we are in emacsclientw and -a was specified.
3382 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
3384         Fix handling of 1st keystroke on MS-Windows
3385         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
3386         This is needed to correctly handle the session's first keystroke,
3387         if it has any modifiers.  (Bug#19994)
3389 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3391         Substitute some customization etc. doc strings
3392         These changes apply substitute-command-keys to some
3393         doc strings that were going through untranslated
3394         when creating customization or other widgets.
3395         * lisp/cus-edit.el (custom-group-value-create):
3396         * lisp/wid-edit.el (widget-default-create):
3397         (widget-push-button-value-create):
3398         Treat the widget tag as a doc string.
3399         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
3400         Treat the :documentation value as a doc string.
3401         * lisp/wid-edit.el (widget-choose):
3402         Treat the choice names as doc strings.
3403         (widget-default-create): Treat the :doc value as a doc string.
3404         (widget-toggle-value-create): Treat the :on and :off values
3405         as doc strings.
3406         (widget-documentation-string-value-create):
3407         Substitute the doc string.
3409 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
3411         Add a second argument to project-ignores
3412         * lisp/progmodes/project.el (project-ignores): Add a second
3413         argument DIR.
3414         * lisp/progmodes/project.el (project-ignores): Only include the VC
3415         ignores if DIR is the VC root.
3416         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
3418 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
3420         Prevent incorrect display when 'line-spacing' variable is set
3421         * src/xdisp.c (try_window_id): Give up this optimization if the
3422         buffer has its 'line-spacing' variable set non-nil.
3424 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
3426         Don't pass NOVISIT to find-file
3427         * lisp/progmodes/etags.el (next-file):
3428         Don't pass NOVISIT to find-file (bug#21175).
3430         Ignore buffer restriction for tags-loop-eval
3431         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
3432         restriction (bug#21167).
3434 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
3436         Fix a thinko in 'ffap-gopher-at-point'
3437         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
3439         Honor 'line-spacing' for empty lines
3440         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
3441         property and 'line-spacing' frame parameter or variable or
3442         property for empty lines, by doing the same processing as in
3443         x_produce_glyph for newline characters.  (Bug#21165)
3445 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3447         Simplify by assuming C99 integer division
3448         * src/floatfns.c (ceiling2, floor2, truncate2):
3449         Assume C99 (i.e., Fortran) semantics for integer division.
3450         This simplifies the code.
3452 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
3454         Don't overflow if computing approximate percentage
3455         * lisp/align.el (align-region):
3456         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
3457         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
3458         * lisp/cus-edit.el (custom-buffer-create-internal):
3459         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
3460         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
3461         (checkdoc-next-message-error):
3462         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
3463         * lisp/epa.el (epa-progress-callback-function):
3464         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
3465         * lisp/ffap.el (ffap-menu-rescan):
3466         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
3467         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
3468         * lisp/gnus/nneething.el (nneething-retrieve-headers):
3469         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
3470         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
3471         * lisp/gnus/nnml.el (nnml-retrieve-headers):
3472         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
3473         * lisp/gnus/nntp.el (nntp-retrieve-headers)
3474         (nntp-retrieve-articles):
3475         * lisp/imenu.el (imenu--relative-position):
3476         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
3477         (skkdic-convert-okuri-nasi):
3478         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
3479         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
3480         * lisp/org/org-list.el (org-update-checkbox-count):
3481         * lisp/org/org.el (org-table-map-tables)
3482         (org-update-parent-todo-statistics):
3483         * lisp/play/decipher.el (decipher-insert-frequency-counts)
3484         (decipher-analyze-buffer):
3485         * lisp/profiler.el (profiler-format-percent):
3486         * lisp/progmodes/cc-cmds.el (c-progress-update):
3487         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
3488         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
3489         (idlwave-list-load-path-shadows):
3490         * lisp/progmodes/opascal.el (opascal-step-progress):
3491         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
3492         (vhdl-scan-directory-contents):
3493         * lisp/textmodes/bibtex.el (bibtex-progress-message):
3494         * lisp/textmodes/flyspell.el (flyspell-small-region)
3495         (flyspell-external-point-words):
3496         * lisp/textmodes/table.el (table-recognize):
3497         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
3498         progress-report percentages and the like.  This avoids problems
3499         if (* 100 NUMERATOR) would overflow.
3500         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
3501         * lisp/gnus/registry.el (registry-reindex):
3502         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
3503         * lisp/descr-text.el (describe-char):
3504         * lisp/org/org-colview.el (org-nofm-to-completion):
3505         * lisp/ps-print.el (ps-plot):
3506         * lisp/simple.el (what-cursor-position):
3507         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
3508         more-complicated and less-accurate approximation.
3510         Fix some int overflows in profiler.c
3511         * src/profiler.c (make_log): Make args EMACS_INT, not int,
3512         to avoid unwanted behavior on 'int' overflow.
3513         (make_log, evict_lower_half, record_backtrace):
3514         Use ptrdiff_t, not int, for object indexes.
3516         Port to pedantic memcpy
3517         * src/keyboard.c (menu_bar_items, tool_bar_items):
3518         * src/xrdb.c (magic_db):
3519         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
3521         Merge from gnulib
3522         This incorporates:
3523         2015-07-29 time_rz: port to pedantic memcpy
3524         * lib/time_rz.c: Copy from gnulib.
3526 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
3528         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
3529         When updating the very last entry, tabulated-list-print would
3530         erase it and then try to look at the next one (which obviously
3531         isn't there).
3533 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
3535         Allow to use the old key processing code on MS-Windows
3536         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
3537         New variable.
3538         (w32_wnd_proc): Use it to invoke the old code that processed
3539         character keys, as fallback, when this variable is non-nil.  Fix
3540         typos in comments.  (Bug#19994)
3542 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
3544         Improve handling of Unicode keyboard input on MS-Windows
3545         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
3546         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
3547         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
3548         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
3549         successful, don't call TranslateMessage.  (Bug#19994)
3551 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
3553         Fix default-directory in changeset diffs after vc-print-log
3554         * lisp/vc/log-view.el (log-view-diff-common): Move the
3555         revision-granularity check back into log-view-diff-changeset.
3556         (log-view-diff-changeset): Bind default-directory to the current
3557         VC root.
3559         Rename project-directories to project-roots
3560         * lisp/progmodes/project.el (project-search-path-function)
3561         (project-search-path): Update the docstring.
3562         (project-directories): Rename to `project-roots', update all
3563         callers and implementations accordingly.
3564         (project-root): Remove.
3565         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
3566         as the default file mask.
3568 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
3570         Support long URLs in w32-shell-execute
3571         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
3572         and filename_to_ansi to convert the DOCUMENT argument, as it could
3573         be a URL that is not limited to MAX_PATH characters.  Instead, use
3574         MultiByteToWideChar directly, and allocate heap storage as
3575         required to accommodate the converted string.  Likewise with
3576         non-Unicode operation.  Ensure OPERATION is null-terminated, even
3577         if it is longer than 32K bytes.  (Bug#21158)
3579 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
3581         vc-mtn-find-revision handle null rev.
3582         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
3584 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
3586         Add docs for display-buffer action display-buffer-use-some-frame
3587         * lisp/window.el (display-buffer-use-some-frame): improve doc string
3588         * doc/lispref/windows.texi (Display Action Functions): add
3589           display-buffer-use-some-frame
3590         * etc/NEWS: mention display-buffer-use-some-frame
3592         Add display-buffer action display-buffer-use-some-frame
3593         * lisp/window.el (display-buffer-use-some-frame): new
3595         Handle vc-mtn error more gently
3596         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
3598 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
3600         Fix Tramp problems with multihops, and nc.
3601         * lisp/net/tramp-cache.el (tramp-get-file-property)
3602         (tramp-set-file-property, tramp-flush-file-property)
3603         (tramp-get-connection-property, tramp-set-connection-property)
3604         (tramp-flush-connection-property): Remove hop from vector.
3605         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
3606         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
3607         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
3608         netstat to 60".
3609         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
3610         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
3611         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
3612         Keep hop in result.
3613         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
3614         Add hop tests.
3616 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
3618         Resurrect highlighting of repeated words by Flyspell Mode
3619         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
3620         characters between point and the doublon candidate, so that
3621         flyspell-word-search-backward finds it.  (Bug#21157)
3623         Fix redisplay of large images on expose events
3624         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
3625         between signed negative values and unsigned values.  This
3626         prevented redisplay on expose events when the window showed a very
3627         large image.
3629 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
3631         Remove unnecessary stack overflow dependency
3632         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
3633         Don't worry about $ac_cv_header_sys_resource_h and
3634         $ac_cv_func_getrlimit, as they're no longer needed for this.
3635         Problem reported by Eli Zaretskii in:
3636         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
3638 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
3640         Pacify compilation -Wincompatible-pointer-types warnings
3641         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
3642         warning.
3643         (CompareStringW_Proc): New typedef.
3644         (w32_compare_strings): Use it, to pacify compiler warnings under
3645         "-Wincompatible-pointer-types".
3646         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
3647         (GetDiskFreeSpaceExA_Proc): New typedefs.
3648         (Ffile_system_info): Use them, to pacify compiler warnings under
3649         "-Wincompatible-pointer-types".
3651 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
3653         Fix subscript error in calculate_direct_scrolling
3654         Use slightly-longer cost vectors.  Without this change,
3655         calculate_direct_scrolling can have a subscript violation when
3656         FRAME_LINES (frame) <= delta.
3657         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
3658         (line_ins_del, do_line_insertion_deletion_costs):
3659         Allocate and use slightly-larger cost vectors, ones based on
3660         FRAME_TOTAL_LINES instead of FRAME_LINES.
3662         Fix uninitalized value in encode_coding_object
3663         * src/coding.c (encode_coding_object): Also initialize
3664         coding->src_pos and coding->src_pos_byte when NILP (src_object).
3665         This avoids later use of uninitialized storage.
3667 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
3669         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
3671 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
3673         Merge from gnulib
3674         This incorporates:
3675         2015-07-27 time_rz: port better to MinGW
3676         2015-07-27 time: port __need_time_t to MinGW
3677         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
3678         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
3679         * lib/time-internal.h: New file, from gnulib.
3681 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
3683         Handle NULL pointers in w32heap.c allocation routines
3684         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
3685         freeable".
3686         (realloc_after_dump, realloc_before_dump, free_before_dump):
3687         Handle NULL pointers gracefully, as Emacs now seems to expect
3688         that.
3690         Fix Cairo build without PNG
3691         * src/image.c: Define PNG function when USE_CAIRO is defined, even
3692         if HAVE_PNG is not.  (Bug#21133)
3694         MS-Windows follow-up for recent TZ-related changes
3695         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
3696         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
3697         picking up 'struct timespec' from pthread.h, if it is installed on
3698         the user's system.  We want either the definitions from MinGW
3699         system headers, if available, or the Gnulib replacements if not.
3700         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
3701         lib/time.h.
3702         * lib/time.in.h: Don't let __need_* symbols affect what happens on
3703         MinGW.  These symbols are defined by MinGW system headers, but we
3704         don't want that to affect whether Gnulib portions of the header
3705         are or aren't used.
3707 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
3709         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
3711         New optional ZONE arg for format-time-string etc.
3712         This simplifies time conversions in other time zones.
3713         It also prevents display-time-world tampering with TZ (Bug#21020).
3714         * admin/admin.el (add-release-logs):
3715         Use improved add-log-time-format API.
3716         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
3717         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
3718         * configure.ac (tzalloc): Remove test for this, since
3719         Emacs no longer uses HAVE_TZALLOC directly.
3720         * doc/lispref/os.texi (Time of Day, Time Conversion)
3721         (Time Parsing):
3722         * etc/NEWS: Document the new behavior.
3723         Merge from gnulib, incorporating:
3724         2015-07-25 strftime: fix newly-introduced bug on Solaris
3725         2015-07-23 fprintftime, strftime: use timezone_t args
3726         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
3727         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
3728         * m4/time_h.m4:
3729         Update from gnulib.
3730         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
3731         New files from gnulib.
3732         * lisp/time-stamp.el (time-stamp-string):
3733         * lisp/time.el (display-time-world-list)
3734         (display-time-world-display):
3735         Use new API, with time zone arg.
3736         * lisp/time.el (display-time-world-display):
3737         Fix race when current-time advances while we're running.
3738         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
3739         (add-log-iso8601-time-string): Accept optional time zone arg.
3740         * lisp/vc/add-log.el (add-change-log-entry):
3741         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
3742         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
3743         Add rules for the time module, since they're now needed
3744         for tzalloc etc.
3745         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
3746         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
3747         * src/editfns.c: Include errno.h.
3748         (set_time_zone_rule): Omit unnecessary forward decl.
3749         (initial_tz): Remove, replacing with ...
3750         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
3751         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
3752         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
3753         (tzlookup): New static functions.
3754         (init_editfns): New arg DUMPING.  All uses changed.
3755         (init_editfns): Omit most initialization if dumping, not if
3756         !initialized.  Initialize wall_clock_tz and local_tz.
3757         (emacs_nmemftime, format_time_string): Time zone argument can now
3758         be any time zone, not just a boolean for UTC or local time.  All
3759         callers changed.
3760         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
3761         (Fcurrent_time_zone): New optional arg ZONE.
3762         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
3763         the same form as with the other new additions.
3764         (decode_time_zone): Remove; no longer needed.
3765         (tzvalbuf): Now file-scope.
3766         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
3767         (syms_of_editfns): Define Qwall.
3768         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
3769         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
3770         [!HAVE_TZALLOC]:
3771         Remove; now supplied by gnulib.
3772         * src/emacs.c (main):
3773         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
3775 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
3777         Fix infinite loop in delete-consecutive-dups
3778         * lisp/subr.el (delete-consecutive-dups): Work even if the last
3779         element is nil (Bug#20588).  Avoid rescan of a circular list in
3780         deletion of last element.
3782 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
3784         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
3785         * src/nsfns.m (Fx_frame_geometry):
3786         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
3787         terminal frames.
3788         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
3789         (Fx_frame_geometry): Return nil for terminal frames
3791 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
3793         * etc/tutorials/TUTORIAL.ja: Improve translation.
3795 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
3797         Avoid crashes when w32 GUI functions are called in -batch
3798         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
3799         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
3800         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
3802         Fix flyspell-check-previous-highlighted-word
3803         * lisp/textmodes/flyspell.el
3804         (flyspell-check-previous-highlighted-word): Really accept a
3805         numeric argument, as the doc string describes.  Fix an off-by-one
3806         error in looking up overlays, so invocation with point immediately
3807         after a word would check that word.  Clarify the doc string as
3808         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
3810 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
3812         Minor cleanup in tramp-tests.el
3813         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
3814         Implement using the documented interface
3815         `tramp-connection-properties', rather than with internal functions.
3817 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
3819         Pass lambdas to `skeleton-read'
3820         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
3821         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
3822         lambdas to `skeleton-read' (bug#20386).
3824 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
3826         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
3828         Don't require GUI frames and mouse for Flyspell menus
3829         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
3830         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
3831         support, since pop-up menus work with text terminals and can be
3832         controlled via the keyboard.
3834         Improve documentation of Flyspell commands
3835         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
3836         can be invoked via the keyboard.  Mention those commands by name
3837         and add them to the fn index.  (Bug#21125)
3839 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
3841         Fix some Tramp problems with HP-UX
3842         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3843         Add "tab0" to stty call.
3844         * test/automated/tramp-tests.el (tramp-persistency-file-name):
3845         Set to nil.
3846         (tramp--test-hpux-p): New defun.
3847         (tramp--test-utf8): Use it.
3849 2015-07-22  Glenn Morris  <rgm@gnu.org>
3851         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
3853 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
3855         Fix point positioning in ffap-next-guess
3856         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
3857         as our callers expect.  This was clobbered as part of fixing
3858         bug#5673.  (Bug#21107)
3859         (ffap-gopher-at-point): Set ffap-string-at-point-region.
3861 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
3863         Fix customization type of `even-window-sizes'.
3864         * lisp/window.el (even-window-sizes): Fix customization type.
3866         Optionally even widths of `display-buffer' windows.  (Bug#21100)
3867         * lisp/window.el (quit-restore-window): Restore width if
3868         requested.
3869         (display-buffer-record-window): Record width when window is
3870         reused and horizontally combined.
3871         (even-window-sizes): New option to allow evening window widths.
3872         (even-window-heights): Defalias to `even-window-sizes'.
3873         (window--even-window-heights): Rename to
3874         `window--even-window-sizes'.  Handle side-by-side windows.
3875         (display-buffer-use-some-window): Call `window--even-window-sizes'
3876         instead of `window--even-window-heights'.
3877         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
3878         * doc/lispref/windows.texi (Choosing Window Options): Describe
3879         `even-window-sizes'.
3880         (Coordinates and Windows): Fix typo.
3882 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
3884         add file name to autoload error messages.
3885         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
3886           to add file name to error message.
3888 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
3890         Use 0.0.0.1 as test host in Tramp
3891         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
3892         Use 0.0.0.1 as test host.
3894 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3896         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
3897         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
3898         Fix inf-loop (bug#21083).
3900 2015-07-21  Glenn Morris  <rgm@gnu.org>
3902         * test/automated/package-test.el (package-test-signed):
3903         Update for recent changes.
3905         * test/automated/elisp-mode-tests.el
3906         (elisp-xref-finds-both-function-and-variable)
3907         (elisp-xref-finds-only-function-for-minor-mode):
3908         Update for recent xref name changes.
3910 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
3912         Make eldoc timer non-repeatable
3913         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
3914         non-repeatable.  Since it's on post-command hook, that just wasted
3915         CPU cycles.
3917 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
3919         Mention `tramp-connection-properties' in NEWS
3921         Sync with Tramp repository
3922         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
3923         required prior changing its configuration.
3924         (Connection caching, Predefined connection information)
3925         (Remote shell setup): Fix typos.
3926         (Predefined connection information): Describe, how to overwrite
3927         parameters of `tramp-methods'.
3928         (Remote programs, Remote processes, Traces and Profiles):
3929         Simplify example.
3930         (Remote programs): Remove superfluous comment.
3931         * doc/misc/trampver.texi: Update release number.
3932         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
3933         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
3934         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
3935         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
3936         "gvfs-mkdir -p ..." does not work robust.
3937         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
3938         * lisp/net/tramp-sh.el (tramp-methods):
3939         Add `tramp-remote-shell-login' parameter where it fits.
3940         (tramp-get-remote-path): Use it.
3941         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
3942         (all): Adapt `tramp-get-method-parameter' calls.
3943         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
3944         (tramp-get-method-parameter): Replace argument METHOD by VEC.
3945         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
3946         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
3947         (all): Adapt `tramp-get-method-parameter' calls.
3948         * lisp/net/trampver.el Update release number.
3949         * test/automated/tramp-tests.el (tramp--instrument-test-case):
3950         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
3951         (tramp-test13-make-directory, tramp--test-adb-p)
3952         (tramp--test-smb-or-windows-nt-p): Simplify.
3953         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
3954         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
3955         (tramp--test-utf8): Fix docstring.
3957 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
3959         Add new xref-query-replace command
3960         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
3961         function, extracted from xref-pulse-momentarily.
3962         (xref-query-replace): New command.
3963         (xref--query-replace-1): New helper function.
3964         (xref--xref-buffer-mode-map): Add `r' binding.
3966 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3968         Simplify icalendar decoding of Z dates
3969         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
3970         Simplify calculation of time strings with trailing "Z".
3972 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
3974         Do not corrupt grep-find-ignored-files
3975         * lisp/progmodes/project.el (project-ignores): Change the order of
3976         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
3978         Add xref-match-item, and use it
3979         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
3980         (xref-file-location): Add reader for the column slot.
3981         (xref-match-item): New class.
3982         (xref-match-bounds): A method implementation for it.
3983         (xref-make-match): New constructor function.
3984         (xref--current-item): New private variable.
3985         (xref-pulse-momentarily): Use it.
3986         (xref--pop-to-location): Change the first argument to an xref
3987         item, instead of location, bind xref--current-item.
3988         Update all callers.
3989         (xref-next-line, xref-prev-line, xref--next-error-function)
3990         (xref--mouse-2): Look for the property `xref-item',
3991         instead of `xref-location'.
3992         (xref--item-at-point): Likewise.  This function replaces
3993         `xref-location-at-point'.  Update all callers.
3994         (xref--insert-xrefs): Add the `xref-item' text property, instead
3995         of `xref-location'.
3996         (xref--collect-match): Use xref-make-match.
3998         Rename xref--xref to xref-item
3999         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
4000         Update all references.
4002         Rename xref description slot to summary
4003         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
4004         slot to `summary'.
4006         vc-hg: Perform the print-log call asynchronously
4007         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
4008         asynchronously (bug#21067).
4010         Add xref-after-jump-hook and xref-after-return-hook
4011         * lisp/progmodes/xref.el (xref-after-jump-hook)
4012         (xref-after-return-hook): New hooks.
4013         (xref-pulse-on-jump): Remove, in favor of the above.
4014         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
4015         (xref--pop-to-location, xref--display-position)
4016         (xref-pop-marker-stack): Use the new hooks, as requested in
4017         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
4019 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
4021         Correct js-mode's lighter
4022         * lisp/progmodes/js.el (js-mode): Correct the lighter.
4024 2015-07-19  Leo Liu  <sdl.web@gmail.com>
4026         Fix a bug in cfengine3-mode
4027         * progmodes/cfengine.el (cfengine3-mode): Handle nil
4028           eldoc-documentation-function.
4030 2015-07-18  Julien Danjou  <julien@danjou.info>
4032         sieve-mode: support "body" test command
4033         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
4034         Add missing "body" test command.
4036 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
4038         Fix info-apropos when the default encoding is Latin-N
4039         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
4040         'undecided', so that it is set to the encoding of the Info file we
4041         are about to insert.  Otherwise, 'info-apropos' will fail to find
4042         some index nodes in some UTF-8 encoded files, if the buffer's
4043         previous encoding is Latin-N or some such.
4045 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
4047         * epg.el (epg--start): Check that gpgconf can be found before calling it.
4049         Expose more file types to OS X that Emacs understands.
4050         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
4051         json, and org files.  Export UTIs for el, elc, and org files.
4053 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
4055         Fix visual-order cursor movement when lines are truncated
4056         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
4057         simulate display in a window of infinite width, to allow move_it_*
4058         functions reach positions outside of normal window dimensions.
4059         Remove code that tried to handle a subset of these situations by
4060         manual iteration of buffer text.  (Bug#17777)
4062         Fix following Info cross-references to anchors
4063         * lisp/info.el (Info-read-subfile): Add to the returned value the
4064         length of subfile preamble, after converting it to file's byte
4065         offset, as expected by the caller.  Use bufferpos-to-filepos.
4066         (Info-find-node-2): If searching for a node with a
4067         1000-character slop fails, try again with a 10000-character slop,
4068         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
4069         * lisp/international/mule-util.el (bufferpos-to-filepos): New
4070         function.
4071         * etc/NEWS: Mention bufferpos-to-filepos.
4073         Fix scrolling backwards on TTY frames under scroll-conservatively
4074         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
4075         in moving backwards on TTY frames.  (Bug#21080)
4077 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
4079         Consider a jsdoc tag to be a beginning of a paragraph as well
4080         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
4081         consider a jsdoc tag to be a beginning of a paragraph as well.
4083 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
4085         * lisp/emacs-lisp/package.el: Fix warnings
4087         * lisp/emacs-lisp/package.el (package-buffer-info):
4088         Add author and maintainers to `package-buffer-info'.
4090         * lisp/emacs-lisp/package.el: Many small changes
4091         Replace all instances of 'face with 'font-lock-face.
4092         (describe-package-1): Improve some strings and move the summary up the
4093         list.
4094         (package-install-file): Update docstring.
4095         (package-menu-hide-package): Bind to `H'.
4097         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
4098         Fix error handling.
4100 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
4102         Fix hang with large yanks This should fix the bug fixed by Mike
4103         Crowe's patch in:
4104         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
4105         A problem in this area has been reported by several users; see
4106         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
4107         This fix differs from Mike Crowe's patch in that it should avoid a
4108         race condition that could lose SIGIO signals.  ignore_sigio dates
4109         back to the 1980s when some platforms couldn't block signals, and
4110         could only ignore them, which led to races when signals arrived
4111         while being ignored.  We shouldn't have to worry about those old
4112         platforms now.
4113         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
4114         * src/emacs.c (shut_down_emacs):
4115         Don't call ignore_sigio; unrequest_sigio should suffice.
4116         * src/keyboard.c (kbd_buffer_store_buffered_event):
4117         Use unrequest_sigio, not ignore_sigio.
4118         (kbd_buffer_get_event):
4119         Call request_sigio when getting the ball rolling again.
4121 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
4123         * lisp/obsolete/longlines.el (longlines-search-function):
4124         Fallback on `isearch-search-fun-default'.
4126 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
4128         Support @-mentions
4129         * rcirc.el (rcirc-completion-at-point): Support completion of
4130         mentions/messages with @nick instead of just nick.
4132 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
4134         Fix Bug#20943.
4135         * lisp/autorevert.el (auto-revert-handler): Do not check for
4136         `buffer-modified-p'.
4137         * lisp/files.el (buffer-stale--default-function): Check for
4138         `buffer-modified-p'.
4139         * test/automated/auto-revert-tests.el
4140         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
4142 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
4144         Fix delete-dups bug on long lists
4145         * lisp/subr.el (delete-dups):
4146         Don't mistakenly keep some dups when applied to long lists.
4148 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4150         Better heuristic for C stack overflow
4151         Improve the heuristic for distinguishing stack overflows from
4152         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
4153         the getrlimit method wasn't portable to Cygwin; see:
4154         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
4155         Corinna suggested pthread_getattr_np but this also has problems.
4156         Instead, replace the low-level system stuff with a simple
4157         heuristic based on known good stack addresses.
4158         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
4159         * src/sysdep.c: Don't include <sys/resource.h>.
4160         (stack_direction): Remove.  All uses removed.
4161         (stack_overflow): New function.
4162         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
4163         Make SEGV fatal in non-main threads.
4165 2015-07-16  Daiki Ueno  <ueno@gnu.org>
4167         epg: Automatically start pinentry server
4168         * epg-config.el (epg-gpgconf-program): New variable.
4169         * epg.el (epg--start): Call `pinentry-start' if
4170         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
4172 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
4174         * lisp/gnus/nnimap.el: Fix my last bogus change
4175         Reinstall Stefan Monnier's change that was made in
4176         <83d824bc4041332f338ad7e5e830f443535aa300>.
4178 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4180         Merge from gnulib
4181         This incorporates:
4182         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
4183         2015-07-05 acl-permissions: Fix on FreeBSD
4184         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
4185         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
4186         * lib/set-permissions.c: Copy from gnulib.
4188         Port to stricter C99
4189         * src/keyboard.h (kbd_buffer_store_event_hold):
4190         Don't return a void expression.
4192 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
4194         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
4196 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
4198         New autorevert tests.
4199         * test/automated/auto-revert-tests.el: New file.
4201 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
4203         Clear gcprolist etc. after stack overflow
4204         After stack overflow, command_loop calls init_eval, and this needs to
4205         clear gcprolist and byte_stack_list (Bug#20996).
4206         * src/alloc.c (init_alloc):
4207         Move gcprolist and byte_stack_list initialization from here ...
4208         * src/eval.c (init_eval): ... to here.
4210 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
4212         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
4214 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4216         Avoid deprecated enums in mac-ct font backend driver
4217         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
4218         (mac_ctfont_get_advance_width_for_glyph)
4219         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
4221         Cache font family in mac-ct font backend driver
4222         * src/macfont.m (macfont_family_cache): New variable.
4223         (syms_of_macfont): Initialize it.
4224         (macfont_available_families_cache): New variable.
4225         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
4226         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
4227         (macfont_handle_font_change_notification)
4228         (macfont_init_font_change_handler)
4229         (macfont_copy_available_families_cache): New functions.
4230         (macfont_create_family_with_symbol): Use font family caches.
4231         (macfont_list, macfont_list_family): Use
4232         macfont_copy_available_families_cache instead of
4233         mac_font_create_available_families.
4235 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
4237         Show the default value in the prompt
4238         * lisp/progmodes/xref.el: Add `M-?' binding for
4239         xref-find-references.  Declare functions `grep-read-files' and
4240         `grep-expand-template'.
4241         (xref--read-identifier): Show the default value in the prompt.
4243         When called with prefix argument, ask for file patterns to search as well
4244         * lisp/progmodes/xref.el (xref-find-regexp): When called with
4245         prefix argument, ask for file patterns to search as well.  When
4246         prompting for the directory, require an existing one.
4247         (xref-collect-matches): Add a new argument, FILES.  Use it in the
4248         above function.
4250         Add `project-ignores'
4251         * lisp/progmodes/project.el (project-ignores): New generic
4252         function, and an implementation for the VC project type.
4253         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
4254         variant of rgrep-default-command that handles a generic list of
4255         ignores.
4256         (xref-collect-matches): Use it, and pass through to it the value
4257         of the newly added argument.
4258         (xref-find-regexp): Handle ignored paths within the project.
4259         Remove outdated comment.
4260         * lisp/vc/vc.el (vc-default-ignore-completion-table):
4261         Skip the comments and the empty lines.
4263 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
4265         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
4267 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
4269         gnus-registry.el: Correct function argument order
4270         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
4271         Reverse the order of function arguments.
4273 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
4275         Bind grep-highlight-matches to nil
4276         * lisp/progmodes/xref.el (xref-collect-matches):
4277         Bind grep-highlight-matches to nil (bug#20728).
4279 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
4281         nnimap.el: Fix IMAP message size parsing
4282         * lisp/gnus/nnimap.el (nnimap-transform-headers):
4283         Don't assume that UID comes before RFC822.SIZE.
4285 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4287         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
4288         (auth-source-creation-prompts): Declare.
4289         (nnimap-retrieve-headers, nnimap-status-message)
4290         (nnimap-request-create-group, nnimap-request-delete-group)
4291         (nnimap-close-group, nnimap-request-move-article)
4292         (nnimap-request-accept-article, nnimap-request-newgroups)
4293         (nnimap-request-post, nnimap-dummy-active-number)
4294         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
4295         (nnimap-parse-flags): Remove unused var `p'.
4296         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
4297         (nnimap-flags-to-marks): Remove unused var `totalp'.
4299 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
4301         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
4303 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4305         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
4307 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
4309         Don't check the exit status, it can be misleading
4310         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
4311         exit status, it can be misleading.
4313         Introduce a Project API
4314         * lisp/progmodes/project.el: New file.
4315         * lisp/cedet/ede.el: (project-try-ede): New function.
4316         (project-root): New implementation.
4317         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4318         Set project-search-path-function.
4319         (elisp--xref-find-references): Delegate some logic to
4320         project-search-path.
4321         (elisp-search-path): New function.
4322         (elisp-xref-find): Don't implement `matches' anymore.
4323         * lisp/progmodes/etags.el: Don't implement `matches'.
4324         Delegate some logic to project-search-path.
4325         (etags-search-path): New function.
4326         * lisp/progmodes/xref.el (xref-find-function):
4327         Remove `matches' from the API.
4328         (xref-find-regexp): Move whatever common logic was in elisp and
4329         etags implementations, and search the directories returned by
4330         project-directories and project-search-path.
4332 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
4334         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
4336         Add support for gv.el in map.el
4337         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
4338         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
4339         * test/automated/map-tests.el: Update tests to work with the new
4340         implementations of map-elt and map-put.
4342 2015-07-09  Glenn Morris  <rgm@gnu.org>
4344         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
4346 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
4348         Syntax-propertize until the end of the line first
4349         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
4350         until the end of the line first.
4352 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
4354         * doc/emacs/files.texi (File Archives): Add a cross reference.
4356 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
4358         nnimap.el: Handle plain value for nnimap-stream
4359         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
4360         capabilities, so that a 'plain value for the `nnimap-stream' server
4361         variable is handled correctly.
4362         * doc/misc/gnus.texi (Customizing the IMAP Connection):
4363         Document the 'plain option.
4365 2015-07-08  Leo Liu  <sdl.web@gmail.com>
4367         Fix bug in thing-at-point--bounds-of-well-formed-url
4368         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
4369           sure boundary contains current point.
4371 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
4373         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
4375         Declare whitespace-line-column a safe file-local
4376         * lisp/whitespace.el (whitespace-line-column): Declare to be a
4377         safe file-local when the value is an integer.
4379 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
4381         gnus-group.el: Check if group names are already strings
4382         * lisp/gnus/gnus-group.el (gnus-group-group-name):
4383         The group name may already be a string.
4384         Specifically, in the group list reached from the *Server* buffer,
4385         the 'gnus-group text property returns a string.  Everywhere else
4386         it returns a symbol.
4388         nnimap.el: Remove unused let variables
4389         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
4391 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
4393         Support "maximized" property of runemacs's shortcut
4394         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
4395         the '--maximized' switch to Emacs.
4397         Support "minimized" property of runemacs's shortcut
4398         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
4399         pass the '--iconic' switch to Emacs.  (Bug#20991)
4401 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
4403         Doc fixes
4404         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
4405         C-w' in Diff mode.
4406         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
4407         Add a cross reference.
4409 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
4411         * lisp/obsolete/landmark.el: Add Obsolete-since header
4413 2015-07-07  Glenn Morris  <rgm@gnu.org>
4415         * test/automated/ert-tests.el (ert-test-deftest):
4416         Update for recent changes.
4418 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
4420         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
4421         * lisp/emacs-lisp/gv.el (gv-setter): New function.
4422         (gv-invalid-place): New error.
4423         (gv-get): Use them.
4424         (gv-synthetic-place, gv-delay-error): New places.
4425         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
4426         (cl-defgeneric, cl-defmethod): Use gv-setter.
4428 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
4430         Make vc-tests work with MSYS svn program
4431         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
4432         svn is an MSYS program.
4434 2015-07-07  Ken Brown  <kbrown@cornell.edu>
4436         Improve recent change to emacsclient on Cygwin
4437         * lisp/server.el (server-process-filter): Remove redundant check
4438         that 'cygwin-convert-file-name-from-windows' is defined as a
4439         function on Cygwin.  Don't call that function unless its argument
4440         starts with a drive letter.
4442 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4444         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
4445         Fix void variable due to `found-something' being in the wrong `let'.
4447 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
4449         * lisp/play/landmark.el: Move to lisp/obsolete/
4451 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
4453         Have `x-show-tip' handle `right' and `bottom' frame parameters.
4454         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
4455         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
4456         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
4457         tooltips also via `right' and `bottom' frame parameters.
4459 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
4461         Add online-help support to describe types
4462         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
4463         (describe-symbol): Improve the selection of default.
4464         * lisp/help-mode.el: Require cl-lib.
4465         (describe-symbol-backends): Move from help-fns.el.
4466         (help-make-xrefs): Use it.
4467         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
4468         for types.
4469         (cl--typedef-regexp): New const.
4470         (find-function-regexp-alist): Add entry for types.
4471         (cl-help-type, cl-type-definition): New buttons.
4472         (cl-find-class): New function.
4473         (cl-describe-type): New command.
4474         (cl--describe-class, cl--describe-class-slot)
4475         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
4476         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
4477         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
4478         New functions.  Moved from eieio-opt.el.
4479         (cl--generic-class-parents): New function, extracted from
4480         cl--generic-struct-specializers.
4481         (cl--generic-struct-specializers): Use it.
4482         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
4483         Improve constructor's docstrings.
4484         (cl-struct-unknown-slot): New error.
4485         (cl-struct-slot-offset): Use it.
4486         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
4487         definition in current-load-list.
4488         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
4489         (eieio--add-new-slot): Set it.
4490         (eieio-defclass-internal): Use new name for current-load-list.
4491         (eieio-oref): Add compiler-macro to warn about unknown slots.
4492         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
4493         as compile-time as well.  Improve constructor docstrings.
4494         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4495         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
4496         (eieio-class-def): Remove button.
4497         (eieio-help-constructor): Use new name for load-history element.
4498         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
4499         (eieio-method-documentation): Move to cl-generic.el.
4500         (eieio-display-method-list): Use new names.
4501         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
4502         Add "define-linline".
4503         (lisp-fdefs): Remove "defsubst".
4504         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
4505         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
4506         (macroexp--warn-and-return): Use it to avoid inf-loops.
4507         Add `compile-only' argument.
4509 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4511         python.el: Fix local/remote shell environment setup
4512         * lisp/progmodes/python.el (python-shell-with-environment): Fix
4513         remote/local environment setup.
4514         * test/automated/python-tests.el (python-shell-with-environment-1)
4515         (python-shell-with-environment-2): New tests.
4517 2015-07-06  Glenn Morris  <rgm@gnu.org>
4519         * lisp/simple.el (set-variable): Tweak recent doc fix.
4521 2015-07-06  Ken Brown  <kbrown@cornell.edu>
4523         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
4525 2015-07-06  Glenn Morris  <rgm@gnu.org>
4527         * lisp/simple.el (set-variable): Use user-error for type mismatch.
4529 2015-07-06  Ken Brown  <kbrown@cornell.edu>
4531         * src/emacs.c (main): Don't increase the stack size on Cygwin
4533 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4535         (describe-symbol): Rewrite describe-function-or-variable
4536         * lisp/help-fns.el (describe-symbol-backends): New var.
4537         (help-xref-stack-item): Declare.
4538         (describe-symbol): Rename from describe-function-or-variable.
4539         Rewrite using describe-symbol-backends instead of help-xref-interned.
4540         * lisp/help.el (help-map): Use it.
4541         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
4542         (help-xref-interned): Make it into an obsolete alias.
4544         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
4545         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
4546         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
4548 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
4550         Fix parsing glitches in dired-mark-sexp (bug#13575)
4551         * lisp/dired-x.el (dired-x--string-to-number): New function.
4552         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
4553         of directory-listing-before-filename-regexp.  Consider
4554         forward-word harmful and replace it.  Add more verbiage in
4555         comments and doc string.
4557 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4559         python.el: Respect process environment for remote shells
4560         * lisp/progmodes/python.el
4561         (python-shell-calculate-process-environment): Calculate
4562         process-environment or tramp-remote-process-environment depending
4563         whether current file is remote.
4564         (python-shell-calculate-exec-path): Calculate exec-path or
4565         tramp-remote-path depending whether current file is remote.
4566         (python-shell-with-environment): New macro.
4567         (python-shell-prompt-detect, python-shell-calculate-command)
4568         (python-shell-make-comint, python-check): Use it.
4570         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
4571         * lisp/progmodes/python.el (python-shell--interpreter)
4572         (python-shell--interpreter-args): New vars.
4573         (inferior-python-mode, python-shell-make-comint): Use them.
4575         python.el: Fixes for IPython 3.x  (Bug#20580)
4576         * lisp/progmodes/python.el:
4577         (python-shell-completion-native-setup): Fix IPython 3.x setup.
4578         (python-shell-completion-native-get-completions): Fix timeout
4579         logic.
4581         python.el: Fix mark-defun behavior  (Bug#19665)
4582         * lisp/progmodes/python.el: (python-mark-defun): New function.
4583         * test/automated/python-tests.el (python-mark-defun-1)
4584         (python-mark-defun-2, python-mark-defun-3): New tests.
4586 2015-07-05  Glenn Morris  <rgm@gnu.org>
4588         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
4589         such as "extends(parent), private".  (Bug#20969)
4590         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
4591         New tests.
4593 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4595         Avoid duplicate calls to current_timespec
4596         * src/process.c (wait_reading_process_output):
4597         Cache current_timespec results as long as we're not waiting.
4599 2015-07-05  Ian Kelling  <ian@iankelling.org>
4601         Avoid returning early reading process output due to SIGIO
4602         * src/process.c (wait_reading_process_output): Extend the behavior of
4603         not breaking due to not finding output when a timer has lowered the
4604         timeout to include when SIGIO lowers the timeout.
4606         Don't return as fast reading any process output
4607         * src/process.c (wait_reading_process_output):
4608         The patch for Bug#17647 returns too fast sometimes when reading
4609         from any processes. Revert part of it, and limit the timeout more
4610         sensibly (Bug#20978).
4612         Refactor timeouts in wait_reading_process_output
4613         * src/process.c (wait_reading_process_output):
4614         Simplify timeouts with an enum.  Remove a redundant condition.
4615         (Bug#20978)
4617         Remove ADAPTIVE_READ_BUFFERING ifdef
4618         * src/process.c (make-process, make-pipe-process, deactivate_process)
4619         (wait_reading_process_output, read_process_output, send_process)
4620         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
4621         added in case there was an operating system in which it was not
4622         useful.  That was 11 years ago and it hasn't happened.  Make
4623         development easier by not considering the effect of changes on a
4624         theoretical OS where this is disabled (Bug#20978).
4626 2015-07-05  Glenn Morris  <rgm@gnu.org>
4628         * lisp/simple.el (set-variable): Doc fix.
4630         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
4632 2015-07-05  Ian Kelling  <ian@iankelling.org>
4634         accept-process-output fix
4635         This is a followon to the fix for Bug#17647 (Bug#20976).
4636         * src/process.c (status_notify): Fix too high return in some cases.
4638 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4640         * lisp/character-fold.el (character-fold-table):
4641         Only fold decompositions if at least one character is non-spacing.
4642         (Bug#20975)
4644 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4646         Merge from gnulib
4647         This incorporates:
4648         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
4649         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
4650         2015-07-02 update-copyright: fix test failure with perl >= 5.22
4651         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
4652         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
4653         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
4654         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
4656 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
4658         Respect `prog-indentation-context' in python.el
4659         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
4660         (python-indent-context, python-indent--calculate-indentation)
4661         (python-info-current-defun)
4662         (python-info-dedenter-opening-block-message)
4663         (python-info-line-ends-backslash-p)
4664         (python-info-beginning-of-backslash)
4665         (python-info-continuation-line-p): Use `prog-widen'.
4666         (python-indent--calculate-indentation)
4667         (python-indent--calculate-levels)
4668         (python-indent-calculate-indentation): Use `prog-first-column'.
4669         (python-indent--calculate-levels): Simplify.
4670         Ignore also initial empty lines for syntax calculation.
4671         * lisp/progmodes/python.el (python-indent-context): Return
4672         :no-indent for first non-empty line, not just in line 1.
4673         * test/automated/python-tests.el (python-indent-base-case)
4674         (python-indent-inside-paren-1, python-indent-inside-paren-2)
4675         (python-indent-inside-paren-3, python-indent-inside-paren-4)
4676         (python-indent-inside-paren-5, python-indent-inside-paren-6)
4677         (python-indent-after-backslash-1)
4678         (python-indent-after-backslash-2)
4679         (python-indent-after-backslash-3)
4680         (python-indent-after-backslash-4, python-indent-inside-string-1):
4681         Expect :no-indent for first non-empty line.
4683 2015-07-04  Daniel Colascione  <dancol@dancol.org>
4685         Factor isearch word description into new function
4686         * lisp/isearch.el (isearch--describe-word-mode): New function.
4687         (isearch-message-prefix, isearch-query-replace): Use it.
4689 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
4691         Fix mouse pointer on w32 when a menu is active
4692         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
4693         shape while a menu is in use.  This started happening since we now
4694         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
4696 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
4698         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
4699         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
4700         parameter.  (Bug#17344)
4702         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
4703         * lisp/progmodes/compile.el (compilation-set-window): Take
4704         `window-fringes' from argument window.  (Bug#20829)
4706 2015-07-03  Glenn Morris  <rgm@gnu.org>
4708         Update eieio tests for recent eieio-core change.
4709         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
4710         * test/automated/eieio-tests.el
4711         (eieio-test-32-slot-attribute-override-2):
4712         Replace the deleted eieio--class-v with cl--find-class.
4714 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
4716         Fix some issues with `window-divider-mode'
4717         * lisp/frame.el (window-divider-default-places): New option.
4718         (window-divider-mode): Remove option.
4719         (window-divider-mode): Make it a "regular" minor mode.
4720         (window-divider-width-valid-p): Drop frame- prefix.
4721         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
4722         prefix.  Handle `window-divider-default-places'.
4723         (frame--window-divider-mode-set-and-apply): Remove.
4724         (window-divider-default-bottom-width)
4725         (window-divider-default-right-width): Drop :group entries.
4726         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
4727         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
4728         (menu-bar-no-window-divider): Set `window-divider-default-places'
4729         and call `window-divider-mode'.
4730         * doc/emacs/frames.texi (Window Dividers): Document
4731         `window-divider-default-places'.
4733 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
4735         Add cross references in documentation
4736         * doc/emacs/display.texi (Displaying Boundaries):
4737         * doc/emacs/search.texi (Word Search): Add cross references.
4739 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4741         -batch should not affect ‘’ -> `' display
4742         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
4743         -batch (Bug#20926).
4745 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
4747         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
4748         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
4749           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
4750         Use cl--find-class instead.
4752         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
4754 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
4756         Some further fixes in Change Window node.  (Bug#20183)
4757         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
4758         by "resizing" in section title.  Add some concept indices.
4759         Suggested by N. Jackson (Bug#20183).
4761         Reference window dividers in Change Window section.
4762         * doc/emacs/windows.texi (Change Window): Reference window
4763         dividers.
4765         Document new `window-divider-mode'.
4766         * lisp/frame.el (window-divider-mode): Fix doc-string.
4767         * doc/emacs/frames.texi (Window Dividers): New section.
4769         Improve accessibility of window dividers.  (Bug#20183)
4770         * lisp/faces.el (window-divider)
4771         (window-divider-first-pixel, window-divider-last-pixel): Change
4772         membership from `frames' to `window-divider' customization group.
4773         * lisp/frame.el (window-divider): New customization group.
4774         (window-divider-mode): New minor mode.
4775         (window-divider-default-bottom-width)
4776         (window-divider-default-right-width): New options.
4777         (frame--window-divider-previous-mode): New variable.
4778         (frame-window-divider-width-valid-p)
4779         (frame--window-divider-mode-apply)
4780         (frame--window-divider-mode-set-and-apply): New functions.
4781         * lisp/menu-bar.el (menu-bar-options-save): Save
4782         window-divider-mode settings.
4783         (menu-bar-window-divider-customize)
4784         (menu-bar-bottom-and-right-window-divider)
4785         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
4786         (menu-bar-no-window-divider): New functions.
4787         (menu-bar-showhide-window-divider-menu): New variable.
4788         (menu-bar-showhide-menu): Show/hide window divider menu.
4789         * lisp/mouse.el (mouse-split-window-vertically)
4790         (mouse-split-window-horizontally): Replace `error' by
4791         `user-error'.  Bind `window-combination-resize' to nil.
4792         (top-level): Add/reorder mouse key bindings on mode- and
4793         vertical-line.
4795 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4797         Don't display ‘’ as `' under X in en_GB
4798         The curved quote setup code invokes (char-displayable-p ?‘),
4799         but this isn’t reliable until after the X frame replaces the
4800         terminal frame (Bug#20926).
4801         * lisp/international/mule-cmds.el (set-locale-environment):
4802         Move curved quote setup code from here ...
4803         * lisp/startup.el (command-line): ... to here, after creating
4804         the X frame.
4806 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
4808         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
4810         Add argument to reverse the meaning of ido-restrict-to-matches
4811         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
4812         to reverse the meaning (Bug#15631).
4814 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
4816         Be more tolerant to fonts named "Foobar-12"
4817         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
4818         don't barf; instead, request a new fontset to be generated.  This
4819         avoids unnecessarily rejecting fonts named against XLFD rules.  See
4820         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
4821         for the description of the original problem.
4822         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
4823         by a hyphen in a font's name.
4825         Fix value of posn-at-pont in R2L lines
4826         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
4827         coordinate of -1, for a newline in a right-to-left line that
4828         overflowed into the left fringe.
4830 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
4832         (cl--copy-slot-descriptor): Copy the `props' alist as well
4833         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
4834         Rename from cl--copy-slot-descriptor.
4835         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
4837 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4839         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
4840         (xterm-query-timeout): New var.
4841         (xterm--query): Use it.  Fallback on async method if we timeout before
4842         getting the first byte of the reply (bug#12354).
4844 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4846         Spelling fixes
4848 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
4850         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
4852 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4854         In strings, prefer plain ` and ' to \` and \'
4855         * lisp/allout.el (allout-insert-listified):
4856         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
4857         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
4858         (ls-lisp-string-lessp):
4859         * lisp/menu-bar.el (menu-bar-open):
4860         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
4861         * lisp/progmodes/compile.el (compile):
4862         * lisp/progmodes/etags.el (tags-loop-scan):
4863         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
4864         * lisp/subr.el (posn-actual-col-row):
4865         * lisp/term/pc-win.el (x-list-fonts):
4866         * lisp/textmodes/texinfmt.el (texinfmt-version):
4867         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
4868         * lisp/time.el (display-time-world-list):
4869         * lisp/tmm.el (tmm-menubar):
4870         * src/buffer.c (syms_of_buffer):
4871         * src/fileio.c (syms_of_fileio):
4872         Omit unnecessary and confusing backslash before quote.
4873         * lisp/erc/erc.el (erc-cmd-LASTLOG):
4874         * lisp/progmodes/flymake.el (flymake-fix-file-name):
4875         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
4876         Fix string that was intended to escape a backslash and not a quote.
4878 2015-06-30  Glenn Morris  <rgm@gnu.org>
4880         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
4882         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
4883         Replace hard-coded lists with wildcard + filter-out.
4885         * configure.ac (system-configuration-features): Add X11, NS.
4887         Improve reproducibility of generated loaddefs file.
4888         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
4889         Make the return value the modtime of the input file (if no autoloads).
4890         (update-directory-autoloads): In the "no autoloads" section,
4891         use "most recent modtime" rather than "current time".
4893 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4895         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
4896         (Bug#20930)
4898 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
4900         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
4902         Add seq-min and seq-max
4903         Bump version number.
4904         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
4905         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
4907 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
4909         Make sure sleep-for always delays for as long as it's told
4910         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
4911         a loop, to ensure we always wait exactly the required amount of
4912         time.  (Bug#15990)
4914 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4916         Fix pointer signedness glitch
4917         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
4919 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
4921         Don't block changes in mouse pointer inside 'track-mouse'
4922         * etc/NEWS:
4923         * doc/lispref/frames.texi (Mouse Tracking): Document the special
4924         effect of setting 'track-mouse' to 'dragging'.
4925         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
4926         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
4927         * lisp/mouse-drag.el (mouse-drag-throw):
4928         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
4929         to avoid changes in the shape of the mouse pointer.
4930         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
4931         pointer shape when do_mouse_tracking has the value of 'dragging',
4932         not just any non-nil value.  (Bug#20934)
4933         (syms_of_xdisp): DEFSYM 'dragging'.
4935 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4937         * lisp/isearch.el (isearch-toggle-word): Fix toggle
4939         * lisp/emacs-lisp/package.el (package-compute-transaction):
4940         Don't assume version sorting.
4942         * lisp/emacs-lisp/package.el (package--save-selected-packages):
4943         Don't save before init time, to avoid overwriting configurations.
4944         (Bug#20855)
4946 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
4948         Add cross references.
4949         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
4950         references.
4952 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
4954         cfengine.el: update for the upcoming CFEngine 3.7 release
4955         Update for the upcoming CFEngine 3.7 release: support macros and
4956         quoted context strings; reformat JSON; indent promise attributes 2
4957         units by default; give function parameter descriptions in the eldoc
4958         glue.
4959         * cfengine.el: Update version and docs and fix name.  Autoload
4960         `json-pretty-print'.  Support new features in 3.7.
4961         (cfengine-parameters-indent): Set default promise attribute indent to
4962         2 more than the promise itself.
4963         (cfengine3-macro-regex): New variable to match the new macro syntax.
4964         (cfengine3-font-lock-keywords): Use it to highlight macros.
4965         (cfengine3-indent-line): Use it to indent macros to column 0.
4966         (cfengine3-class-selector-regex): Update for the new quoted strings
4967         format.
4968         (cfengine3-reformat-json-string): New function to reformat a JSON
4969         string using `json-pretty-print'.
4970         (cfengine3-format-function-docstring): Use function parameter
4971         description if it's provided by the cf-promises syntax dump.
4973 2015-06-29  Michael R. Mauger  <michael@mauger.com>
4975         Cygwin emacsclient handles w32 file names
4977 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
4979         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
4981 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
4983         * doc/lispref/text.texi (Sticky Properties): Improve wording.
4984         (Bug#20924)
4986         Allow font names that end in "-NN", where NN is a number
4987         * src/font.c (font_load_for_lface): If the font-spec didn't match
4988         any available fonts, try again without interpreting trailing "-NN"
4989         as the font size.  For the description of the original problem, see
4990         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
4992         .gdbinit followup to changes in !USE_LSB_TAG
4993         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
4994         !USE_LSB_TAG, as Emacs no longer does.
4996 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
4998         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
4999         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
5001 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5003         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
5004         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
5006 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5008         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
5010         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
5012 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
5014         apropos-library quoting fix
5015         * lisp/apropos.el (apropos-library): Quote library consistently
5016         with the rest of the quoting used by apropos.
5018         Clarify interpreter-mode-alist doc
5019         * lisp/files.el (interpreter-mode-alist):
5020         Reword to avoid confusing quoting that wasn't working anyway.
5022 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
5024         Sync with Tramp 2.2.12
5025         * doc/misc/trampver.texi:
5026         * lisp/net/trampver.el: Update release number.
5027         * test/automated/tramp-tests.el (tramp-test13-make-directory):
5028         Fix cleanup.
5030 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5032         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
5033         (bug#20913)
5035 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
5037         Bind grep-highlight-matches around the rgrep call
5038         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
5039         around the rgrep call (bug#20728).
5041         Put "--color" before the other options in grep-command
5042         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
5043         before the other options in grep-command (bug#20912).
5045         Add --color Grep option to the command dynamically
5046         * lisp/progmodes/grep.el (grep-template, grep-find-template):
5047         Update the description for <C>.  (Bug#20728)
5048         (grep-compute-defaults): Don't add the --color option to
5049         grep-options.  Only add it to grep-command.
5050         (grep-expand-keywords): Expand the env value opts into <C>.
5051         (grep-expand-template): Replace cf in the env with the opts list,
5052         that can include -i and --color.
5053         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
5054         "--color=always" from the template, because we don't have to.
5056 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
5058         cl-extra fixes for most-negative-fixnum
5059         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
5060         Don't mishandle an argument equal to most-negative-fixnum,
5061         whose absolute value equals itself.
5062         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
5064         Initialize cl--gensym-counter to 0
5065         Previously it was initialized to a random value, which made it
5066         harder to reproduce earlier Emacs runs.  The need for a random
5067         value went away when Emacs introduced and used the #: syntax for
5068         uninterned symbols (Bug#20862).
5069         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
5070         Document that cl--gensym-counter now starts with 0.
5071         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
5072         (cl--random-time): Move to near only remaining use.
5073         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
5075         Improve docstring for macroexp-let2
5076         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
5077         Improve as per suggestion by RMS in:
5078         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
5079         Also, rename args to match new doc string.
5081 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
5083         Fix VC test suite on MS-Windows
5084         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
5085         always starts with 3 slashes after the colon.
5086         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
5087         'w32-application-type' to invoke CVS on MS-Windows with properly
5088         formatted CVSROOT directory name.
5090         Add a new function w32-application-type
5091         * src/w32proc.c (Fw32_application_type): New function.
5093         Avoid error in TLS connections due to incorrect format
5094         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
5095         the call to 'error', instead of the unsupported %u.  Reported by
5096         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
5098 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
5100         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
5102 2015-06-26  Leo Liu  <sdl.web@gmail.com>
5104         Fix indentation for with-output-to-string
5105         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
5106           `with-output-to-string' in elisp.
5107           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
5108           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
5110 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
5112         Minor corrections in ELisp manual
5113         * doc/lispref/nonascii.texi (Character Properties): Correct
5114         inaccuracies in description of values of the Unicode properties.
5116         Fix invisible mouse pointers on Windows.
5117         * src/w32fns.c: Include windowsx.h.
5118         (w32_wnd_proc): If the mouse moved and the mouse pointer is
5119         invisible, make it visible again even when the main (Lisp)
5120         thread is busy.
5121         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
5122         garbaging the frame have the input thread call SetCursor.
5124 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
5126         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
5127         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
5128         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
5129         * src/w32term.c (w32_hide_hourglass): Handle
5130         f->pointer_invisible.
5131         (w32_toggle_invisible_pointer): New function.
5132         (w32_create_terminal): Add w32_toggle_invisible_pointer as
5133         toggle_invisible_pointer_hook for this terminal.
5135 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
5137         Doc fix for deletion commands
5138         'delete-char' does not respect the value of 'delete-active-region'.
5139         * doc/emacs/killing.texi (Deletion):
5140         Fix documentation for some single-char deletion commands.
5142         * doc/emacs/help.texi (Apropos):
5143         Improve documentation of 'apropos-do-all'.
5145         * doc/emacs/help.texi (Help Summary):
5146         Improve documentation of 'describe-mode'.
5148 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5150         Fix submake dependency bug with .h files
5151         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
5152         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
5153         before the submake in $(libsrc) would spin off a subsubmake
5154         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
5156 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
5158         * lisp/character-fold.el (character-fold-table): Reuse `table'
5160 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5162         Translate undisplayable ‘ to `
5163         * doc/lispref/help.texi (Keys in Documentation):
5164         * lisp/international/mule-cmds.el (set-locale-environment):
5165         * lisp/term/w32console.el (terminal-init-w32console):
5166         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
5167         If ‘ is not displayable, transliterate it to `, not to '.  See:
5168         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
5170         Fix C99 incompatibilities in Cairo code
5171         * src/image.c (xpm_load) [USE_CAIRO]:
5172         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
5173         Fix pointer signedness problem.
5175 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
5177         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
5178         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
5179           `with-output-to-string' should have the same indent as `progn'.
5180           This is in line with the declaration of `with-output-to-string'.
5182 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5184         Get ‘./configure; make -C src emacs’ to work
5185         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
5186         * lib-src/Makefile.in (../lib/libgnu.a):
5187         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
5189 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
5191         Fix GC bugs --with-wide-int and Qnil == 0
5192         Use the same alignment for the !USE_LSB_TAG case as for the
5193         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
5194         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
5195         once we changed the representation of symbols so that Qnil == 0.
5196         Problem reported by Eli Zaretskii (Bug#20862).
5197         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
5198         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
5199         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
5200         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
5201         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
5202         This optimization in the !USE_LSB_TAG case is no longer valid when
5203         symbols are represented via offsets.  Change the only use to
5204         assume that pointers might hide in objects.
5205         * src/lisp.h (alignas) [!USE_LSB_TAG]:
5206         Require support in this case, too.
5207         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
5208         This is OK, because the !USE_LSB_TAG case now applies only when
5209         Lisp_Object is wider than void *, so there's no longer any need
5210         to shift the offset.  Not shifting the offset means that
5211         symbol representations have the same alignment as pointers,
5212         which the GC assumes.
5214 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
5216         * doc/lispintro/emacs-lisp-intro.texi (Data types):
5217         Improve documentation of 'substring'.
5219 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
5221         * lisp/character-fold.el (character-fold-table): Fix table generation
5223 2015-06-24  Glenn Morris  <rgm@gnu.org>
5225         * nextstep/Makefile.in (all): Make it the first target.
5226         (../src/emacs${EXEEXT}): Add rule for making it.
5228 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
5230         * etc/NEWS: Fix mention to old function name
5232         * lisp/character-fold.el: New file (Bug#20887)
5233         (character-fold-to-regexp): New function.
5234         * lisp/replace.el (replace-search): Check value of
5235         `character-fold-search'.
5236         * lisp/isearch.el: Move character-folding code to
5237         character-fold.el
5238         (isearch-toggle-character-fold): New command.
5239         (isearch-mode-map): Bind it to "\M-sf".
5240         (isearch-mode): Check value of `character-fold-search'.
5242 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5244         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
5245         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
5246         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
5248         * lisp/progmodes/xref.el: Avoid init-args in oref.
5249         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
5250         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
5252 2015-06-24  Glenn Morris  <rgm@gnu.org>
5254         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
5256 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5258         * lisp/gnus/nnmaildir.el: Silence lexical warnings
5259         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
5260         functional style.
5261         (nnmaildir--update-nov): Remove unused var `numdir'.
5262         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
5263         (nnmaildir-request-group, nnmaildir-request-create-group)
5264         (nnmaildir-request-post, nnmaildir-request-move-article)
5265         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
5266         (nnmaildir-get-new-mail, nnmaildir-group-alist)
5267         (nnmaildir-active-file): Declare.
5268         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
5269         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
5270         `mark', `end', `new-mark', and `mark-sym'.
5271         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
5272         `nlist2'.
5273         (nnmaildir-request-expire-articles):
5274         Remove unused vars `article', `stop' and `nlist2'.
5275         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
5276         `end'.  Use nnmaildir--article when dyn-binding is needed.
5277         Give the value directly in the `let' for `del-mark', `del-action',
5278         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
5279         (nnmaildir-close-server): Declare those local vars that need to be
5280         dyn-bound.
5282 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
5284         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
5286         Port selection info fix to clang
5287         * src/keyboard.h (kbd_buffer_store_event_hold):
5288         Don't assume C11 semantics for alignof (Bug#20756).
5290         Fix bug that munged selection info
5291         On some optimizing C compilers, copying a structure did not
5292         copy the padding bytes between elements, and the type punning
5293         between struct input_data and struct selection_input_data did
5294         not work.  Change the C code to use a proper union type instead.
5295         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
5296         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
5297         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
5298         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
5299         (mark_kboards):
5300         Use union buffered_input_event, not struct input_event.
5301         (clear_event, deliver_input_available_signal, process_special_events):
5302         Remove unnecessary forward decls.
5303         (kbd_buffer_store_buffered_event): New function, mostly just the
5304         old kbd_buffer_store_event_hold, except its argument is of type
5305         union buffered_input_event, not struct input_event.
5306         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
5307         not needed otherwise.  Argument is now of type
5308         struct selection_input_event *, not struct input_event *.
5309         All callers changed.
5310         (clear_event): Arg is now of type union buffered_input_event *,
5311         not struct input_event *.  All callers changed.
5312         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
5313         (union buffered_input_event): New type.
5314         (kbd_buffer_store_event_hold): Now an inline function,
5315         defined here.
5316         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
5317         (struct input_event): Use it.
5318         * src/xselect.c (struct selection_event_queue):
5319         Make elements be of type struct selection_input_event,
5320         not struct input_event.
5321         (selection_input_event_equal): New static function.
5322         (x_queue_event): Use it.
5323         (x_queue_event, x_decline_selection_request)
5324         (x_selection_current_request, x_reply_selection_request)
5325         (x_handle_selection_request, x_handle_selection_clear)
5326         (x_handle_selection_event): Use struct selection_input_event,
5327         not struct input_event.  All callers changed.
5328         (x_convert_selection): Omit unused first arg.  All callers changed.
5329         (Fx_disown_selection_internal): Omit unnecessary union.
5330         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
5331         rather than rolling our own equivalent.  Prefer sie.kind when
5332         setting up that kind of structure.
5333         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
5334         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
5335         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
5336         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
5337         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
5338         (SELECTION_EVENT_TIME, x_handle_selection_event):
5339         Arg is now of type struct selection_input_event *)
5340         not struct input_event *.  All callers changed.
5342 2015-06-23  Glenn Morris  <rgm@gnu.org>
5344         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
5346 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5348         * lisp/isearch.el: Fold many unicode characters to ASCII
5349         (isearch-character-fold-search, isearch--character-fold-extras)
5350         (isearch--character-fold-table): New variable.
5351         (isearch--character-folded-regexp): New function.
5352         (isearch-search-fun-default): Use them.
5353         * lisp/replace.el (replace-character-fold): New variable.
5354         (replace-search): Use it.
5355         * etc/NEWS: Document it.
5357 2015-06-23  Glenn Morris  <rgm@gnu.org>
5359         Check for an input event before showing a dialog box.  (Bug#20813)
5360         * lisp/subr.el (y-or-n-p):
5361         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
5362         as last-nonmenu-event.
5364 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
5366         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
5367         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
5368         (switch-to-prev-buffer, switch-to-next-buffer): Respect
5369         switch-to-visible-buffer independent of the windows history.
5371 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5373         * src/keyboard.c (last_timer_event): Remove unused var.
5375 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
5377         * test/automated/package-test.el (package-test-update-listing):
5378         Fix test.
5380 2015-06-23  Glenn Morris  <rgm@gnu.org>
5382         Revert 2014-06-25 nextstep/Makefile change.
5383         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
5384         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
5385         not as an order-only prerequisite.
5387         * configure.ac (--with-ns): Enable by default on OS X.
5389 2015-06-23  Leo Liu  <sdl.web@gmail.com>
5391         Fix shell-for/backward-command to exclude spaces
5392         * lisp/shell.el (shell-forward-command, shell-backward-command):
5393           Handle the 'move case from re-search-forward/backward.
5394           fixes debbugs:20873
5396 2015-06-22  Juri Linkov  <juri@linkov.net>
5398         * lisp/replace.el (query-replace-read-from): Add separator to
5399         the local binding of text-property-default-nonsticky.  (Bug#20690)
5401         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
5402         (Bug#20785)
5404 2015-06-22  Ken Brown  <kbrown@cornell.edu>
5406         Enable CPU profiling on Cygwin
5407         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
5408         change that undefined this.
5409         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
5410         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
5411           Cygwin.
5413         Improve diagnostics of profiler-cpu-start
5414         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
5415         return -1 if the sampling interval is invalid.
5416         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
5417         fails.  (Bug#20843)
5419 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5421         * lisp/emacs-lisp/package.el: Exclude packages by name
5422         (package-hidden-regexps): New variable.
5423         (package-menu--refresh): Use it.
5424         (package-menu-hide-package): New command.
5426         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
5428 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
5430         Fix debug-timer-check on systems without HAVE_TIMERFD
5431         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
5432         the expired timers, since wait_reading_process_output doesn't.
5433         (debug_timer_callback): Enlarge the tolerance to 20 msec.
5435         Fix RCS crashes in vc-test
5436         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
5437         ports of 'ci' on MS-Windows by always passing the -t- switch.
5439 2015-06-22  Glenn Morris  <rgm@gnu.org>
5441         * doc/emacs/package.texi (Packages):
5442         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
5444         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
5446 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
5448         Port tests to help-quote-translation
5449         * test/automated/ert-x-tests.el (ert-test-describe-test):
5450         * test/automated/package-test.el (package-test-describe-package)
5451         (package-test-signed): Allow straight quotes, too.
5453 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
5455         Make find-function-on-key use the current window
5456         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
5457         Extract from `find-function-on-key', add a second argument.
5458         (find-function-on-key): Use it (bug#19679).
5459         (find-function-on-key-other-window)
5460         (find-function-on-key-other-frame): New commands.
5462 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
5464         Revert "Define `map-elt' as a generalized variable"
5465         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
5467 2015-06-21  Ken Brown  <kbrown@cornell.edu>
5469         Drop support for CPU profiling on Cygwin
5470         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
5471         (Bug#20843)
5473 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5475         Fix some “nested” quoting confusion in doc strings
5476         * lisp/emacs-lisp/advice.el (ad-map-arglists):
5477         * lisp/kermit.el (kermit-clean-on):
5478         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
5479         * src/keyboard.c (Frecursive_edit):
5480         Use curved quotes when quoting text containing apostrophe,
5481         so that the apostrophe isn't curved in the output.
5483 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
5485         Define `map-elt' as a generalized variable
5486         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
5487         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
5488         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
5489         `setf' with `map-elt'.
5490         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
5492 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
5494         Improve error handling in tramp-adb.el
5495         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
5496         Improve error handling.
5498 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
5500         Reuse `alist-get' in map.el
5501         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
5502         elements.
5504 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
5506         Fix bytecomp-tests--warnings when $TMPDIR has a long name
5507         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
5508         Allow the warning to begin on the 3rd, not only 2nd line, which
5509         happens if temporary-file-directory has a very long name.
5511         Expect 2 icalendar tests to fail on MS-Windows
5512         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
5513         (icalendar-real-world): Make them expected failures on MS-Windows.
5515 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5517         Improve port of settings UI to older displays
5518         * lisp/cus-start.el (standard): Don't assume curved quotes are
5519         easily distinguishable when users are tinkering with a setting
5520         that affects how curved quotes are generated.
5522         Fix quoting in electric-quote-mode doc string
5523         * lisp/electric.el (electric-quote-mode): Fix quoting.
5524         This is a fallout from the recent change introducing
5525         ‘help-quote-translation’.
5527         Spelling fix
5529         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
5531         * src/doc.c (syms_of_doc): Remove unused symbols.
5533 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
5535         In ‘window-state-put’ undedicate target window.  (Bug#20848)
5536         * lisp/window.el (window-state-put): Undedicate target window
5537         before putting STATE into it.  (Bug#20848)
5539 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5541         Merge from origin/emacs-24
5542         a5e6f33 Fixes: debbugs:20832
5543         b9f02cf Fixes: debbugs:20832
5545 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
5547         Fix file-in-directory-p when the directory is UNC
5548         * lisp/files.el (file-in-directory-p): Support files and
5549         directories that begin with "//".  (Bug#20844)
5551 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
5553         (Bug#20832)
5554         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
5555         in the minibuffer.
5557 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
5559         (Bug#20832)
5560         * lisp/calendar/todo-mode.el (todo-show): Signal an error
5561         if buffer for adding new todo file is empty but modified.
5563 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5565         (filepos-to-bufferpos): Further tweaks to the utf-16 code
5566         * lisp/international/mule-util.el (filepos-to-bufferpos):
5567         Fix typo.  Move non-exact check to the utf-16 branch (the only one
5568         affected).  Don't use byte-to-position for the utf-16 case.
5570 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
5572         Minor fixes in filepos-to-bufferpos
5573         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
5574         test for utf-8-emacs.  Exempt single-byte encodings from the
5575         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
5576         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
5577         UTF-16 encoded files for CR-LF EOLs.
5579 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5581         Improve the optional translation of quotes
5582         Fix several problems with the recently-added custom variable
5583         help-quote-translation where the code would quote inconsistently
5584         in help buffers.  Add support for quoting 'like this', which
5585         is common in other GNU programs in ASCII environments.  Change
5586         help-quote-translation to use more mnemonic values: values are now the
5587         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
5588         traditional Emacs help-buffer quoting style `like this'.  Change the
5589         default behavior of substitute-command-keys to match what's done in
5590         set-locale-environment, i.e., quote ‘like this’ if displayable,
5591         'like this' otherwise.
5592         * doc/lispref/help.texi (Keys in Documentation): Document
5593         new behavior of substitute-command-keys, and document
5594         help-quote-translation.
5595         * doc/lispref/tips.texi (Documentation Tips):
5596         Mention the effect of help-quote-translation.
5597         * etc/NEWS: Mention new behavior of substitute-command-keys,
5598         and merge help-quote-translation news into it.
5599         When talking about doc strings, mention new ways to type quotes.
5600         * lisp/cedet/mode-local.el (overload-docstring-extension):
5601         Revert my recent change to this function, which shouldn't be
5602         needed as the result is a doc string.
5603         * lisp/cedet/mode-local.el (mode-local-print-binding)
5604         (mode-local-describe-bindings-2):
5605         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5606         * lisp/cus-theme.el (describe-theme-1):
5607         * lisp/descr-text.el (describe-text-properties-1, describe-char):
5608         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
5609         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
5610         (eieio-help-constructor):
5611         * lisp/emacs-lisp/package.el (describe-package-1):
5612         * lisp/faces.el (describe-face):
5613         * lisp/help-fns.el (help-fns--key-bindings)
5614         (help-fns--compiler-macro, help-fns--parent-mode)
5615         (help-fns--obsolete, help-fns--interactive-only)
5616         (describe-function-1, describe-variable):
5617         * lisp/help.el (describe-mode):
5618         Use substitute-command-keys to ensure a more-consistent quoting
5619         style in help buffers.
5620         * lisp/cus-start.el (standard):
5621         Document new help-quote-translation behavior.
5622         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
5623         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
5624         (help-xref-url-regexp):
5625         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
5626         * lisp/wid-edit.el (widget-documentation-link-regexp):
5627         Also match 'foo', in case we're in a help buffer generated when
5628         help-quote-translation is ?'.
5629         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
5630         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
5631         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
5632         (Fsubstitute_command_keys): Document and implement new behavior.
5633         (Vhelp_quote_translation): Document new behavior.
5635 2015-06-18  Glenn Morris  <rgm@gnu.org>
5637         * lisp/cus-start.el (help-quote-translation): Add :version.
5639         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
5641 2015-06-18  Alan Mackenzie  <acm@muc.de>
5643         Make translation of quotes to curly in doc strings optional.
5644         src/doc.c (traditional, prefer-unicode): new symbols.
5645         (help-quote-translation): new variable.
5646         (Fsubstitute_command_keys): make translation of quotes dependent on
5647         `help-quote-translation'; also translate curly quotes back to ASCII
5648         ones.
5649         lisp/cus-start.el (top-level): Add a customization entry for
5650         `help-quote-translation'.
5652 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
5654         * lisp/emacs-lisp/package.el: Don't always propagate async errors
5655         (package--with-work-buffer-async): Only propagate the error if the
5656         callback returns non-nil.
5657         (package--download-one-archive): Return nil on the signature
5658         checking callback if we accept unsigned.
5659         (package--download-and-read-archives): Return non-nil on the
5660         archive download callback.
5662 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
5664         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
5665         * src/nsfns.m (Fx_create_frame):
5666         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
5667         image_cache_refcount before first x_default_parameter call.
5669 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
5671         Improve and extend filepos-to-bufferpos
5672         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
5673         Don't barf if F returns nil for some argument.
5674         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
5675         that every encoding of type 'charset' is single-byte.
5677 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
5679         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
5680         Properly delete packages.  (Bug#20836)
5682 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
5684         Update data files from just-released Unicode 8.0
5685         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
5686         status.
5687         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
5688         * admin/unidata/BidiMirroring.txt:
5689         * admin/unidata/BidiBrackets.txt:
5690         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
5692 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
5694         Document curved quotes a bit better
5695         * doc/emacs/basic.texi (Inserting Text):
5696         Mention C-x 8.  Change example to use curved quote rather
5697         than infinity, as this lets us give more ways to do it.
5698         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
5699         and quotation marks.
5700         * doc/emacs/text.texi (Quotation Marks):
5701         * doc/lispref/tips.texi (Documentation Tips):
5702         Add "curly quotes" and "curved quotes" to the index.
5703         * doc/emacs/text.texi (Quotation Marks):
5704         Give the C-x 8 shorthands for curved quotes.
5705         Cross-reference to "Quotation Marks".
5707 2015-06-17  Daiki Ueno  <ueno@gnu.org>
5709         Add pinentry.el for better GnuPG integration
5710         * lisp/pinentry.el: New file.
5711         * etc/NEWS: Add entry about pinentry.el.
5712         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
5713         (Bug#20550)
5715 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5717         * lisp/emacs-lisp/package.el: Slightly better error reporting.
5719 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
5721         (define-minor-mode): Use setq-default for :global minor modes
5722         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
5723         Use setq-default for :global minor modes (bug#20712).
5725 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
5727         Avoid infloop in redisplay with tall images
5728         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
5729         down near ZV.  (Bug#20808)
5730         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
5731         instead of CHARPOS.
5733 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5735         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
5736         Fix error reporting.
5738         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
5740         * lisp/emacs-lisp/package.el: Revert buffer after any operation
5741         Call `package-menu--post-refresh' after any operation that changes
5742         the package database (`package-install' and `package-delete').  To
5743         avoid performance issues in large transactions, these functions
5744         add `post-refresh' to `post-command-hook' instead of calling it
5745         immediately.
5746         (package-menu--mark-or-notify-upgrades): New function.
5747         (list-packages): Add it to `package--post-download-archives-hook'.
5748         (package-menu--post-refresh): Lose the upgrade-checking code, add
5749         code to remove itself from `post-command-hook'.
5750         (package-install, package-delete): Add it to `post-command-hook'.
5751         (package-menu-execute): Don't call `package-menu--post-refresh'.
5753 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
5755         Add missing function xref-location-group for elisp-mode.
5756         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
5758 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
5760         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
5761         The behavior now matches the description in the manual.  (Bug#20783)
5763 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
5765         Update tutorials/TUTORIAL.cn
5766         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
5768 2015-06-17  Glenn Morris  <rgm@gnu.org>
5770         Generate char-script-table from Unicode source.  (Bug#20789)
5771         * admin/unidata/Makefile.in (AWK): New, set by configure.
5772         (all): Add charscript.el.
5773         (blocks): New variable.
5774         (charscript.el, ${unidir}/charscript.el): New targets.
5775         (extraclean): Also remove generated charscript.el.
5776         * admin/unidata/blocks.awk: New script.
5777         * admin/unidata/Blocks.txt: New data file, from unicode.org.
5778         * lisp/international/characters.el: Load charscript.
5779         * src/Makefile.in (charscript): New variable.
5780         (${charscript}): New target.
5781         (${lispintdir}/characters.elc): Depend on charscript.elc.
5782         (temacs$(EXEEXT)): Depend on charscript.
5784         * lisp/international/characters.el (char-script-table): Tweak
5785         some ranges to better match the source.  (Bug#20789#17)
5787         Remove "no-byte-compile: t" from a few files.
5788         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
5789         * lisp/obsolete/patcomp.el: No reason not to compile these.
5791 2015-06-16  Glenn Morris  <rgm@gnu.org>
5793         Fix some typos in copied Unicode data.  (Bug#20789)
5794         * lisp/international/characters.el (char-script-table):
5795         * lisp/international/fontset.el (script-representative-chars)
5796         (setup-default-fontset): Fix typos.
5798         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
5799         Don't print filename twice (it's in the prefix now).
5801         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
5802         No longer needed.
5804         Address a compilation warning.
5805         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
5806         Replace 't' with '_' in pcase.
5808         Address some check-declare warnings.
5809         * lisp/simple.el (tabulated-list-print):
5810         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
5811         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
5812         (ns-get-selection): Update declarations.
5814         Address some compilation warnings.
5815         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
5816         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
5817         Replace 't' with '_' in pcase.
5819         Address some compilation warnings.
5820         * lisp/face-remap.el (text-scale-adjust):
5821         * lisp/menu-bar.el (popup-menu-normalize-position):
5822         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
5823         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
5824         * lisp/emacs-lisp/generator.el (cps--transform-1):
5825         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
5826         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
5827         * lisp/progmodes/octave.el (octave-goto-function-definition)
5828         (octave-find-definition-default-filename):
5829         Replace 't' with '_' in pcase.
5831         * lisp/emacs-lisp/pcase.el (pcase--u1):
5832         Paper-over today's bootstrap failure.
5834 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
5836         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
5838         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
5840         Better confirmation message in `find-alternate-file' (Bug#20830)
5841         * lisp/files.el (find-alternate-file'): Improve the confirmation
5842         message to show the buffer name.
5844         Better docstring for null. (Bug#20815)
5845         * src/data.c (null): Improves the docstring, saying what null returns
5846         when OBJECT is non-nil.
5848 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5850         * lisp/net/newst-treeview.el: Use lexical-binding.
5852         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
5853         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
5854         New auxiliary function, extracted from filepos-to-bufferpos.
5855         Make sure it terminates.
5856         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
5857         Add support for the `exact' quality.
5859 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
5861         Identify feeds in newsticker treeview with :nt-feed property
5862         * lisp/net/newst-treeview.el:
5863         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
5865 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5867         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
5868         (pcase--self-quoting-p): Floats aren't self-quoting.
5869         (pcase): Tweak docstring.
5870         (pcase--u1): Deprecate the t pattern.  Improve error detection for
5871         the nil pattern.
5872         (\`): Tweak docstring.  Signal an error for unrecognized cases.
5873         (bug#20784)
5875 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
5877         Fix infloop in filepos-to-bufferpos
5878         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
5879         offset calculation, and make it conditional on the eol-type of the
5880         file's encoding.  (Bug#20825)
5882 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
5884         Fix handling of image cache refcounts.  (Bug#20802)
5885         This backports Eli Zaretskii's solution of this problem for W32
5886         to X and NS.
5887         * src/nsfns.m (image_cache_refcount): Define unconditionally.
5888         (unwind_create_frame): If the image cache's reference count
5889         hasn't been updated yet, do that now.
5890         (Fx_create_frame): Set image_cache_refcount unconditionally.
5891         * src/xfns.c (image_cache_refcount): Define unconditionally.
5892         (unwind_create_frame): If the image cache's reference count
5893         hasn't been updated yet, do that now.
5894         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
5895         unconditionally.
5896         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
5897         X and NS.
5899 2015-06-16  Nils Ackermann  <nils@ackermath.info>
5901         Improve reftex-label-regexps default value
5902         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
5903         keyvals label regexp more strict to better cope with unbalanced
5904         brackets common in math documents.
5906 2015-06-16  Glenn Morris  <rgm@gnu.org>
5908         * doc/emacs/calendar.texi (Format of Diary File):
5909         Move "nonmarking" from here...
5910         (Displaying the Diary): ... to here.
5912         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
5913         Swap the order of these nodes.
5914         * doc/emacs/emacs.texi: Update detailed menu for the above change.
5916         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
5917         Update date of examples.
5918         (Diary, Format of Diary File): Move example from former to latter.
5919         Reduce duplication.
5921         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
5922         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
5923         Don't set no-byte-compile in the outputs.
5924         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
5926 2015-06-15  Glenn Morris  <rgm@gnu.org>
5928         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
5929         * doc/emacs/calendar.texi (Diary, Format of Diary File):
5930         Update for above diary-file change.
5931         : * etc/NEWS: Mention this.
5933         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
5934         (apply-macro-to-region-lines): Use user-error.
5936         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
5937         (pages-directory-for-addresses): Doc fixes.
5939 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5941         * lisp/info.el: Cleanup bytepos/charpos issues
5942         * lisp/international/mule-util.el: Use lexical-binding.
5943         (filepos-to-bufferpos): New function.
5944         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
5945         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
5946         (Info-read-subfile, Info-search): Use 0-based file positions.
5948         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
5949         (perl--syntax-exp-intro-keywords): New var.
5950         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
5951         (bug#20800).
5953 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5955         Fix quoting when making derived mode docstring
5956         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
5957         Nest regexp-quote inside format, not the reverse.
5958         Problem reported by Artur Malabarba in:
5959         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
5961 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
5963         Fix current-iso639-language on MS-Windows
5964         * lisp/international/mule-cmds.el (set-locale-environment):
5965         Downcase the locale name before interning it.  This is so the
5966         'current-iso639-language' on MS-Windows matches the ':lang'
5967         property of font-spec objects.
5969         Limit Symbola usage some more
5970         * lisp/international/fontset.el (setup-default-fontset): Limit
5971         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
5972         (Bug#20727)
5974 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
5976         * lisp/emacs-lisp/map.el (map-let): Better docstring.
5978 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5980         Spelling fixes
5982 2015-06-14  Glenn Morris  <rgm@gnu.org>
5984         * lisp/version.el (emacs-repository-version-git): Demote errors.
5985         Check result is a hash.
5987 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
5989         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
5990         Catch errors that happen before going async.  (Bug#20809)
5992 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
5994         Another improvement of documentation of set-fontset-font
5995         * doc/lispref/display.texi (Fontsets): Say explicitly that
5996         CHARACTER can be a single codepoint.
5997         * src/fontset.c (Fset_fontset_font): Doc fix.
5999         Another improvement for symbol and punctuation characters
6000         * lisp/international/fontset.el (setup-default-fontset): Exclude
6001         from Symbola character ranges for symbols and punctuation covered
6002         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
6003         installed and where its coverage of symbols and punctuation is
6004         known to be good.  (Bug#20727)
6006 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
6008         Some generic support for multi-mode indentation.
6009                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
6010                 variable.
6011                 (prog-first-column, prog-widen): New convenience functions.
6013 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
6015         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
6016         Don't assume that `tabulated-list-printer' will leave point at the
6017         end of the buffer.  (Bug#20810)
6019 2015-06-13  Glenn Morris  <rgm@gnu.org>
6021         Tweaks for getting repository version; a bit more like it was for bzr.
6022         * lisp/version.el (emacs-repository-version-git)
6023         (emacs-repository--version-git-1): New functions,
6024         split from emacs-repository-get-version.
6025         (emacs-repository-get-version): Make the second argument meaningful.
6027         * lisp/startup.el (command-line-1): Inform if skipping relative
6028         file names due to deleted PWD.
6030         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
6031         when starup directory is missing.  (Bug#18851)
6032         (errno.h): Include it.
6034 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
6036         Better fix for documenting `X as "`X"
6037         Fix suggested by Stefan Monnier.
6038         * lisp/help-fns.el (help-fns--signature):
6039         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
6040         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
6041         Don't treat `X specially, as help-fns--signature now handles this.
6043 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
6045         Improve the default fontset when Symbola is not installed
6046         * lisp/international/fontset.el (setup-default-fontset): Only
6047         prepend Symbola and FreeMono font specs for symbols and
6048         punctuation; do not replace the default spec for them.  This
6049         should have better results when Symbola/FreeMono are not
6050         installed.  (Bug#20727)
6052         Improve documentation of ':lang' in font specs
6053         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
6054         use of the ':lang' property of the font spec.
6055         * doc/emacs/frames.texi (Fonts): Document the language names that
6056         can be in the STYLE part of XLFD.
6057         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
6058         property.
6060         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
6062         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
6064         Revert last change in fontset.el
6065         * lisp/international/fontset.el (setup-default-fontset): Revert
6066         the change "Configure Symbola font only if installed", since font
6067         search is evidently not yet set up when this function is called.
6068         (Bug#20727)
6070 2015-06-12  Glenn Morris  <rgm@gnu.org>
6072         Ensure early startup warnings are visible at the end.  (Bug#20792)
6073         * lisp/emacs-lisp/warnings.el (display-warning):
6074         If startup isn't complete, delay the warning.
6075         * lisp/startup.el (normal-top-level, command-line):
6076         Let display-warning automatically handle the needed delays.
6077         Run delayed-warnings-hook.
6079         * lisp/version.el (emacs-repository-get-version):
6080         Avoid calling external executable if possible.  (Bug#20799)
6082 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
6084         Document `X as "`X", not as "(` X)"
6085         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
6086         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
6088         * src/print.c (print_object): Minor simplification.
6090 2015-06-12  Glenn Morris  <rgm@gnu.org>
6092         * src/buffer.c (init_buffer): Add final newline to message.
6094 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
6096         Configure Symbola font only if installed
6097         * lisp/international/fontset.el (setup-default-fontset):
6098         Don't specify the Symbola font if it's not installed.
6099         Likewise for FreeMono.  (Bug#20727)
6101 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
6103         Configure Symbola font only for symbols and punctuation
6104         * lisp/international/fontset.el (setup-default-fontset): Leave
6105         only symbols and punctuation in the fontset setup for Symbola
6106         font; remove "Greek and Coptic" and "Cyrillic Supplement".
6107         (Bug#20798)
6109 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
6111         Fix crash in fontset-info
6112         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
6113         non-nil.
6115 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
6117         Port to Solaris 10 sparc + Sun C 5.13
6118         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
6119         Adjust to process.c change.
6120         * src/process.c (create_process): Declare volatile variables at
6121         top level of this function, so that they're less likely to be
6122         reused later in the function in the code executed by the vforked
6123         child.  Do not declare locals used only in the vforked child, as
6124         they might share memory with locals still live in the parent.
6125         Instead, use the same variables in the child as in the parent.
6126         This works around a subtle bug that causes a garbage collector
6127         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
6129 2015-06-12  Glenn Morris  <rgm@gnu.org>
6131         * lisp/startup.el (normal-top-level): Don't let *Messages* get
6132         a nil default-directory.
6134 2015-06-11  Glenn Morris  <rgm@gnu.org>
6136         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
6138         Some progress towards starting with PWD deleted.  (Bug#18851)
6139         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
6140         * lisp/startup.el (normal-top-level, command-line-1):
6141         * lisp/minibuffer.el (read-file-name-default):
6142         Handle default-directory being nil.
6144 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6146         Fix "not a tty" bug on Solaris 10
6147         * configure.ac (PTY_OPEN): Define to plain 'open'
6148         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
6149         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
6150         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
6151         hosts that call grantpt which does its work via a setuid subcommand
6152         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
6153         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
6154         seems relevant in that case too.
6156 2015-06-11  Juri Linkov  <juri@linkov.net>
6158         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
6159         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
6160         (Bug#20785)
6162 2015-06-11  Glenn Morris  <rgm@gnu.org>
6164         * lisp/international/characters.el (char-script-table): Fix typo.
6166 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6168         Fix quoting of help for functions with odd names
6169         While investigating Bug#20759, I discovered other quoting problems:
6170         C-h f mishandled characters like backslash and quote in function names.
6171         This fix changes the behavior so that 'C-h f pcase RET' now
6172         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
6173         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
6174         in src/lread.c's read1 function says that the backslash will be
6175         needed starting in Emacs 25, which implies that 'format' is
6176         correct and the old pcase documention was wrong to omit the backslash.
6177         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
6178         * lisp/help-fns.el (help-fns--signature):
6179         * lisp/help.el (help-add-fundoc-usage):
6180         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
6181         Use help--make-usage-docstring rather than formatting
6182         help-make-usage.
6183         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
6184         Return raw docstring.
6185         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
6186         raw docstring.  Take more care to distinguish raw from cooked dstrings.
6187         (describe-function-1): Let help-fns--signature substitute
6188         command keys.
6189         * lisp/help.el (help--docstring-quote): New function.
6190         (help-split-fundoc): Use it, to quote funny characters more
6191         systematically.
6192         (help--make-usage): Rename from help-make-usage, since this
6193         should be private.  Leave an obsolete alias for the old name.
6194         (help--make-usage-docstring): New function.
6195         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
6197 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
6199         * lisp/thingatpt.el (in-string-p): Revert last change,
6200         since in-string-p is not used in thingatpt.el but only from outside.
6201         Also, use lexical binding.
6203 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6205         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
6206         * test/automated/let-alist.el (let-alist-cons): Test it.
6208 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6210         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
6212 2015-06-10  Glenn Morris  <rgm@gnu.org>
6214         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
6216         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
6217         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
6218         * admin/gitmerge.el (gitmerge-commit-message):
6219         Exclude "skipped" messages from ChangeLog once again.
6221         Slight namespace cleanup for thingatpt.el.
6222         * lisp/thingatpt.el (thing-at-point--in-string-p)
6223         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
6224         (thing-at-point--read-from-whole-string): Rename from
6225         old versions without "thing-at-point--" prefix.
6226         Keep old versions as obsolete aliases.  Update all uses.
6228         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
6229         Move requiring of finder from here...
6230         (checkdoc-package-keywords): ... to here.
6232         Use 'user-error' in a few calendar files.
6233         * lisp/calendar/appt.el (appt-add):
6234         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
6235         (calendar-generate):
6236         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
6237         Replace 'error' with 'user-error'.
6239         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
6241         * lisp/files-x.el (add-file-local-variable):
6242         Special-case 'lexical-binding'.  (Bug#20641)
6244         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
6245         No longer autoload.
6246         * doc/misc/autotype.texi (Executables):
6247         Undocument executable-self-display.
6249         * lisp/progmodes/executable.el (executable-self-display):
6250         Use non-obsolete tail syntax.  (Bug#20779)
6251         (executable-self-display): Doc update.
6253 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6255         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
6256         (finder-known-keywords): Silence byte-compiler.
6258 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6260         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
6262         * lisp/progmodes/sh-script.el: Better handle nested quotes
6263         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
6264         (sh-font-lock-quoted-subshell): Make sure double quotes within single
6265         quotes don't mistakenly end prematurely the surrounding string.
6267         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
6269 2015-06-09  Glenn Morris  <rgm@gnu.org>
6271         * test/automated/Makefile.in (ELFILES): Sort.
6273         * Makefile.in (SUBDIR_MAKEFILES):
6274         * lwlib/Makefile.in (WARN_CFLAGS):
6275         Use built-in Make functions rather than echo+sed.
6277 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
6279         Update char-script-table
6280         * lisp/international/characters.el (char-script-table): Update
6281         from Unicode 8.0 Draft.
6283         Improve font selection for punctuation and other symbols
6284         * src/fontset.c (face_for_char): If the character's script is
6285         'symbol', and the font used for ASCII face has a glyph for it, use
6286         the font for the ASCII face instead of searching the fontsets.
6287         This comes instead of NS-specific code that used the current
6288         face's font instead, which is now disabled due to undesirable
6289         consequences.  (Bug#20727)
6291 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
6293         Skip past `#' to find BEG
6294         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
6295         past `#' to find BEG (bug#20771).
6296         * test/automated/elisp-mode-tests.el
6297         (elisp-completes-functions-after-hash-quote): New test.
6299 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
6301         Fix compilation warning/error in --without-x builds
6302         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
6303         code on HAVE_WINDOW_SYSTEM.
6305         Improve the default fontset wrt symbols
6306         * lisp/international/fontset.el (setup-default-fontset): Better
6307         setup of fontset-default for symbols: use Symbola and FreeMono.
6308         (Bug#20727)
6310 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
6312         Add new command checkdoc-package-keywords
6313         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
6314           defcustom.
6315         (checkdoc-list-of-strings-p): Add doc.
6316         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
6317         non-nil, call `checkdoc-package-keywords'.
6318         (checkdoc-get-keywords): New defun.
6319         (checkdoc-package-keywords): New command. Warns if the current file
6320         has package.el-style keywords that aren't in `finder-known-keywords'.
6321         * etc/NEWS: Add entry.
6323 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
6325         Avoid crashes when key-binding is called from a timer
6326         * src/keymap.c (Fkey_binding): Don't segfault if called with an
6327         empty vector as KEY.  (Bug#20705)
6329         Fix a thinko in arc-mode.el
6330         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
6331         non-Zip64 case.  (Bug#20769)
6333 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
6335         * lisp/emacs-lisp/package.el (package-delete): Make interactive
6337 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
6339         checkdoc.el (checkdoc-file): New function
6340         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
6341           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
6342           to the standard output.
6343         (bug#20754)
6345 2015-06-07  Glenn Morris  <rgm@gnu.org>
6347         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
6349         * src/font.c (syms_of_font) <font-log>: Doc fix.
6351         Remove the obsolete leading "*" from some C doc strings.
6352         * src/coding.c (syms_of_coding):
6353         * src/font.c (syms_of_font): Remove leading "*" from docs.
6354         * lisp/cus-start.el (enable-character-translation): Add it.
6356 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
6358         Move gen_origin from program to data
6359         That way, 'make change-history' needs to change only ChangeLog.2,
6360         instead of having to change two files.
6361         * ChangeLog.2: Add commit info for range that this file covers.
6362         * Makefile.in (new_commit_regexp): New macro.
6363         (change-history-nocommit): Simplify, by putting what used to be
6364         the gen_origin value into the data (ChangeLog.2) rather than
6365         into the program (gitlog-to-emacslog).
6366         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
6367         the input file (e.g., ChangeLog.2) rather than by having a
6368         constant in the program.  Substitute it into the output.
6370 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
6372         Escape any quotes in the function name
6373         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
6374         function name (bug#20759).
6376 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
6378         Adapt 'struct timespec' to next release of MinGW runtime
6379         * nt/inc/ms-w32.h (struct timespec): Don't declare if
6380         __struct_timespec_defined is defined.
6382 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
6384         Merge from gnulib
6385         This incorporates:
6386         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
6387         2015-06-05 stdio: Don't redefine gets when using C++
6388         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
6389         2015-06-02 file-has-acl: fix build on Mac OS X 10
6390         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
6391         2015-06-01 pthread_sigmask: discount system version if a simple macro
6392         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
6393         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
6394         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
6395         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
6396         * lib/gnulib.mk: Regenerate.
6398 2015-06-06  Juri Linkov  <juri@linkov.net>
6400         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
6401         before calling grep-compute-defaults because now it affects the
6402         command lines computed in grep-compute-defaults. (Bug#20728)
6404 2015-06-06  Glenn Morris  <rgm@gnu.org>
6406         Address some compilation warnings.
6407         * lisp/international/mule-cmds.el (w32-get-console-codepage)
6408         (w32-get-console-output-codepage):
6409         * lisp/progmodes/elisp-mode.el (xref-collect-references):
6410         * lisp/version.el (cairo-version-string): Declare.
6411         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
6413 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
6415         Fix display when a font claims large values of ascent and descent
6416         This fixes bug#20628.
6417         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
6418         coordinate of a hollow cursor glyph when the original glyph's
6419         ascent is too small.
6420         (get_font_ascent_descent, normal_char_ascent_descent)
6421         (normal_char_height): New functions.
6422         (handle_single_display_spec, append_space_for_newline)
6423         (calc_pixel_width_or_height, produce_stretch_glyph)
6424         (calc_line_height_property): Use normal_char_ascent_descent and
6425         normal_char_height.
6426         (x_produce_glyphs): When font-global values of ascent and descent
6427         are too large, use per-character glyph metrics instead, if
6428         possible.  But don't allow the glyph row's ascent and descent
6429         values become smaller than the values from the metrics of the
6430         font's "normal" character.
6431         * src/xftfont.c (xftfont_draw):
6432         * src/w32font.c (w32font_draw): Correct the values of ascent and
6433         descent used to draw glyphless characters' hex code in a box.
6434         * src/xterm.c (x_draw_glyph_string_background):
6435         * src/xdisp.c (x_produce_glyphs):
6436         * src/w32term.c (x_draw_glyph_string_background):
6437         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
6438         to detect fonts whose global ascent and descent values are too
6439         large to be used in layout decision, and redraw the background
6440         when that happens.
6441         * src/dispextern.h (FONT_TOO_HIGH): New macro.
6442         (get_font_ascent_descent): Add prototype.
6443         * src/xterm.c (x_new_font):
6444         * src/w32term.c (x_new_font):
6445         * src/nsterm.m (x_new_font):
6446         * src/font.c (font_open_entity):
6447         * src/composite.c (composition_gstring_width): Use
6448         get_font_ascent_descent to obtain reasonable values for ascent and
6449         descent of a font.
6451 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
6453         Add assertion in adjust_point_for_property
6454         * src/keyboard.c (adjust_point_for_property): Add eassert for
6455         current buffer being shown in selected window.
6457 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
6459         Replace uses of in-string-p; make it obsolete
6460         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
6461         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
6463 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
6465         Fix Dired display of an explicit list of files by ls-lisp.el
6466         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
6467         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
6468         correct for when displaying individual files separately, not as
6469         part of listing a directory, in which case these values are not
6470         recomputed by 'ls-lisp-insert-directory', but used verbatim.
6472         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
6474 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
6476         Do not adjust point in a non-selected window
6477         * src/keyboard.c (command_loop_1): Do not adjust point when
6478         current buffer is not shown in selected window (Bug#20590).
6480         * etc/DEBUG: Mention 'maybe_call_debugger'
6482 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
6484         Fix a unit test for map.el
6485         * test/automated/map-tests.el (test-map-let): Fix the test to work
6486         with the new syntax of `map-let'.
6488         * lisp/emacs-lisp/map.el (map-let): Better docstring.
6490         Better syntax for the map pcase pattern
6491         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
6492         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
6494         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
6496         Fix a byte-compiler error in map-put and map-delete
6497         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
6498         called with a symbol.
6500 2015-06-05  Glenn Morris  <rgm@gnu.org>
6502         * admin/gitmerge.el (gitmerge-commit-message):
6503         Revert to including "skipped" messages in ChangeLog once again.
6505 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
6507         Use string> instead of equiv lambda with string<
6508         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
6509         lambda with string<.
6511 2015-06-05  Glenn Morris  <rgm@gnu.org>
6513         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
6514         (map--delete-array): Fix typo.
6516         * test/automated/map-tests.el: Replace "assert" with "should".
6518         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
6519         (SUBDIRS_REL): Derive from SUBDIRS.
6521         Tweak some build messages.
6522         * lisp/Makefile.in ($(lisp)/loaddefs.el):
6523         * lisp/cus-dep.el (custom-make-dependencies):
6524         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
6525         * lisp/international/titdic-cnv.el (batch-titdic-convert):
6526         Don't say how to compile.
6528 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
6530         Omit U+0332 COMBINING LOW LINE in previous change
6531         It turns out that it does not work on Ubuntu 15.04.
6533         Fix transliteration of Bahá'í months
6534         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
6535         Improve quality of Latin transliteration of Bahá'í month names.
6537         Fix curved quotes in a few places
6538         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
6539         The strings in question are not doc strings, so this partially
6540         undoes the recent change that assumed they were doc strings.
6541         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
6542         * lisp/info.el (Info-finder-find-node):
6543         Use curved quotes.
6544         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
6545         Also allow curved quotes in doc strings.
6547 2015-06-04  Glenn Morris  <rgm@gnu.org>
6549         * lisp/Makefile.in (AM_V_at): Add missing definition.
6551         * lisp/Makefile.in: Quieten output a bit.
6552         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
6553         Don't echo directories, since the commands we invoke print them.
6555         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
6556         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
6557         (SUBDIRS_SUBDIRS): New variables.
6558         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
6559         Remove.
6560         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
6561         (update-subdirs, compile-main, compile-clean):
6562         Replace "setwins" usage with new "SUBDIRS" variables.
6564         * lisp/vc/compare-w.el (compare-windows-get-window-function):
6565         Fix :version tag.
6567 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6569         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
6571         Undo removal of x_clear_area call on expose for GTK3 or cairo.
6572         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
6573         exposed area.  (Bug#20677)
6575 2015-06-04  Glenn Morris  <rgm@gnu.org>
6577         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
6579         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
6581         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
6582         Rename from quail-lao-update-translation, since lao.el defines that.
6584 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
6586         Handle new-style advice in find-funct
6587         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
6588         Handle new-style advice.  Return the symbol's function definition.
6589         (Bug#20718)
6590         (find-function-library): Update accordingly.
6592 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
6594         Merge branch 'map'
6596         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
6598         Add new function string-greaterp
6599         * lisp/subr.el (string-greaterp): New function.  Also aliased to
6600         `string>'.
6601         * test/automated/subr-tests.el (string-comparison-test): Add unit
6602         tests for `string>'and `string<'.
6603         * src/fns.c (string-lessp): Better docstring.
6605 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
6607         Fix timezone-related functions on MS-Windows
6608         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
6609         'xputenv', even if no reallocation of tzvalbuf was necessary.
6610         This fixes a bug in timezone-related functions on MS-Windows.
6611         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
6613 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
6615         Don't pass raw directory name to 'error'
6616         * lisp/files.el (basic-save-buffer-2): Avoid format error if
6617         a directory name contains a string like "%s".
6619 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
6621         Override 'grep --color=always'
6622         * lisp/progmodes/xref.el (xref-collect-matches):
6623         Override --color=always in grep-find-template.
6625 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
6627         Fix error introduced recently in file-notify-tests.el
6628         * test/automated/file-notify-tests.el
6629         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
6630         (file-notify--deftest-remote): Revert previous patch, not
6631         necessary anymore.
6633 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
6635         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
6636         Starting from a display string after a newline, point went to the
6637         previous line.  Also, fix an inadvertent use of a buffer position
6638         with FETCH_BYTE.  (Bug#20701)
6640 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
6642         Instrument file-notify-test.el in order to catch hydra error.
6643         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
6644         Wrap body by `ignore-case', in order to trap non-local errors.
6646 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6648         Undo previous changes in non-toolkit scroll bar drawing.
6649         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
6650         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
6652 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
6654         * .gitignore: Also ignore doc/*/*/*.html and .ps.
6656         Support quotes 'like this' in info files
6657         This is possible when 'makeinfo --disable-encoding' is used
6658         in Texinfo 5.
6659         * lisp/calc/calc-help.el (calc-describe-thing):
6660         * lisp/gnus/gnus-art.el (gnus-button-alist):
6661         * lisp/info.el (Info-find-index-name):
6662         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
6663         Also support quotes 'like this'.
6664         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
6665         * lisp/finder.el (finder-font-lock-keywords): Remove var that
6666         hasn't been used in years, instead of bothering to fix its quoting.
6668 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6670         * .gitignore: Remove !test/etags/html-src/*.html.
6671         It's no longer needed, since *.html was removed.  Sort.
6673 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
6675         Restore <D> instead of '.' in grep-find-template
6676         * lisp/cedet/semantic/symref/grep.el
6677         (semantic-symref-grep-use-template): Update a comment.
6678         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
6679         instead of '.' in grep-find-template (bug#20719).
6680         (rgrep): Pass nil as the directory to rgrep-default-command.
6681         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
6682         default value for DIR.
6683         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
6684         workaround.
6686 2015-06-02  Glenn Morris  <rgm@gnu.org>
6688         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
6690         * configure.ac (emacs_config_features): Add Cairo.
6692         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
6694 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
6696         Ensure, that autorevert works for remote files in file-notify-tests.el
6697         * test/automated/file-notify-tests.el (file-notify--test-desc):
6698         New defvar.
6699         (file-notify--test-remote-enabled)
6700         (file-notify-test00-availability, file-notify-test01-add-watch)
6701         (file-notify-test02-events): Use it.
6702         (file-notify--test-event-test): Check proper descriptor.
6703         (file-notify-test03-autorevert): Ensure, that
6704         `visited-file-modtime' has changed.
6705         (Bug#20392)
6707 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
6709         Add a pcase pattern for maps and `map-let' based on it
6710         * lisp/emacs-lisp/map.el (map-let): New macro.
6711         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
6712         * test/automated/map-tests.el: New test for `map-let'.
6714 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
6716         Reuse rgrep mechanics in xref-find-regexp
6717         * lisp/progmodes/grep.el (rgrep-default-command):
6718         Extract from `rgrep'.
6719         * lisp/progmodes/xref.el (xref-collect-references): Split from
6720         `xref-collect-matches'.  Only handle the case of symbol search.
6721         (xref-collect-matches): Instead of Semantic Symref, use
6722         `rgrep-default-command', to take advantage of its directory and
6723         file ignore settings.
6724         (xref--collect-match): Remove the last argument, leaving the
6725         regexp construction up to the caller.
6726         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
6727         Change to take the xref-collect- function to use as an argument.
6728         (elisp-xref-find): Update accordingly.
6729         * lisp/progmodes/etags.el (etags--xref-find-matches)
6730         (etags-xref-find): Same.
6732         Move xref-elisp-location to elisp-mode.el
6733         * lisp/progmodes/xref.el (xref-elisp-location)
6734         (xref-make-elisp-location, xref-location-marker): Remove here.
6735         (xref--xref): Don't limit the type of the location slot.
6736         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
6737         Define as a cl-struct here.
6738         (xref-location-marker): Move here.
6740 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
6742         Minor tweaks for .gitignore
6743         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
6744         ignore admin/notes/tags that might be ignored as TAGS on
6745         case-insensitive filesystems.  (Bug#20710)
6747 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6749         Generate curved quotes in ert doc
6750         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
6751         (ert-results-mode-menu)
6752         (ert-results-pop-to-backtrace-for-test-at-point)
6753         (ert-results-pop-to-messages-for-test-at-point)
6754         (ert-results-pop-to-should-forms-for-test-at-point)
6755         (ert-describe-test):
6756         Quote ‘like this’, not `like this', when generating doc strings
6757         and the like.
6758         * test/automated/ert-x-tests.el (ert-test-describe-test):
6759         Allow quoting ‘like this’.
6761 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
6763         Add test for previous commit
6764         * test/automated/replace-tests.el: New file.
6765         (query-replace--split-string-tests): Add test for previous commit.
6767         Avoid confusion in query-replace history when replacing NUL chars
6768         * lisp/replace.el (query-replace--split-string): New function.
6769         (query-replace-read-from): Rely on the 'separator' property
6770         instead of searching for the NUL character (Bug#20690).
6772 2015-06-02  Glenn Morris  <rgm@gnu.org>
6774         Merge from origin/emacs-24
6775         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
6777         * admin/gitmerge.el (gitmerge-commit-message):
6778         Exclude "skipped" messages from ChangeLog.
6780 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
6782         Sync with Tramp repository
6783         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
6784         messages.
6785         (tramp-handle-make-auto-save-file-name): When calling
6786         `make-auto-save-file-name' internally, make sure it uses Unix-like
6787         behavior, not Windows-like behavior.
6788         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
6789         the local case, because "chown" might fail on w32.
6790         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
6791         for XEmacs.
6793 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
6795         MS-Windows followup for batch stdout/stderr output changes
6796         * lisp/international/mule-cmds.el (set-locale-environment): In
6797         batch mode, use console codepages for keyboard and terminal
6798         encoding.  (Bug#20545)
6800         Update .gitattributes for DOS EOL files
6801         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
6802         CRLF end-of-line format.
6804         NS equivalents of xterm.c and w32term.c changes
6805         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
6806         glyph string background also when the font in use claims
6807         preposterously large global height value.  Helps to remove
6808         artifacts left from previous displays when glyphless characters
6809         are displayed as hex code in a box.
6810         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
6811         value for FRAME_LINE_HEIGHT, even when a font claims very large
6812         value for its height.
6814 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6816         Avoid grave accent quoting in stderr diagnostics
6817         A few Emacs diagnostics go directly to stderr, and so can't easily
6818         contain curved quotes (as non-UTF-8 locales might mishandle them).
6819         Instead of bothering to add support for this rarity, reword the
6820         diagnostics so that they don't use grave accent to quote.
6821         * src/alloc.c (mark_memory): Fix comment.
6822         * src/buffer.c (init_buffer):
6823         * src/dispnew.c (init_display):
6824         * src/emacs.c (main, sort_args):
6825         * src/lread.c (dir_warning):
6826         * src/term.c (init_tty):
6827         * src/unexmacosx.c (unexec):
6828         * src/xfns.c (select_visual):
6829         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
6830         Reword stderr diagnostics to avoid quoting `like this'.
6831         * src/unexmacosx.c: Include errno.h.
6832         * src/xfns.c (select_visual): Encode value for locale.
6834 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6836         Treat batch stdout/stderr like standard display
6837         Calls like (print FOO) could generate improperly encoded or
6838         hard-to-read output if FOO contains characters outside the system
6839         locale.  Fix this by treating batch stdout and stderr like
6840         interactive standard display, when it comes to transliterating and
6841         encoding characters (Bug#20545).
6842         * doc/emacs/mule.texi (Communication Coding):
6843         * doc/lispref/display.texi (Active Display Table):
6844         * doc/lispref/nonascii.texi (Locales):
6845         * etc/NEWS:
6846         * src/coding.c (syms_of_coding):
6847         * src/dispnew.c (syms_of_display):
6848         Document this.
6849         * src/print.c: Include disptab.h.
6850         (printchar_to_stream): New function, with much of the guts of the
6851         old Fexternal_debugging_output, except this one also uses the
6852         standard display table.
6853         (printchar, strout, Fexternal_debugging_output): Use it.
6855 2015-05-31  Glenn Morris  <rgm@gnu.org>
6857         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
6859 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6861         Remove unused DEFSYMs
6862         Remove DEFSYMs that aren't used at the C level.  Also:
6863         * src/decompress.c (Qzlib_dll):
6864         * src/font.c (Qunicode_sip):
6865         * src/frame.c (Qtip_frame):
6866         * src/ftfont.c (Qserif):
6867         * src/gnutls.c (Qgnutls_dll):
6868         * src/xml.c (Qlibxml2_dll):
6869         Move from here ...
6870         * src/w32fns.c (syms_of_w32fns): ... to here,
6871         as these are used only on MS-Windows.
6873 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
6875         Use another default value for tramp-histfile-override
6876         * lisp/net/tramp-sh.el (tramp-histfile-override):
6877         Use ".tramp_history" as default.
6878         Fixes: debbugs:#20446
6880 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
6882         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
6884 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
6886         * etc/NEWS: Add an entry about map.el
6888         Improve the docstring of functions in map.el
6889         Since a map is not a data structure but a concept, adding information
6890         about the possible types of maps can be useful information.
6891         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
6892         each public function.
6894 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
6896         Faster implementation of map-empty-p
6897         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
6898         specific tests depending on the type of the map.
6900         * lisp/emacs-lisp/map.el: Better docstrings.
6902 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6904         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
6906 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
6908         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
6910         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
6912         Fix a false negative in `map-elt' with alists and values being nil
6913         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
6914         found but its associated value is nil, do not return the default
6915         value.
6916         * test/automated/map-tests.el: Add a regression test.
6918 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
6920         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
6922         Do not signal an error when trying to delete a key from an array
6923         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
6924         the key is present to avoid signaling an error.
6925         * test/automated/map-tests.el: Add a test for deleting non-existing
6926         keys from maps.
6928         * lisp/emacs-lisp/map.el: Better docstring.
6930         Minor improvement in map-elt.
6931         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
6932         doing a lookup in arrays, but check the boundaries of the array
6933         instead.
6934         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
6935         and a negative integer as key.
6937 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
6939         * test/automated/map-tests.el: Refactoring of test methods.
6941         * test/automated/map-tests.el: Renamed from map-test.el.
6943 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
6945         * lisp/emacs-lisp/map.el (map-into): Better error message.
6947         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
6949         Throw an error when converting a map into an unknown map type
6950         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
6951         * test/automated/map-test.el: Add a regression test.
6953         New library map.el similar to seq.el but for mapping data structures.
6954         * test/automated/map-test.el: New file.
6955         * lisp/emacs-lisp/map.el: New file.
6957 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
6959         Make sure there's no explicit tag name
6960         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
6961         there's no explicit tag name (bug#20629).
6963 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
6965         Remove format2
6966         * src/editfns.c, src/lisp.h (format2): Remove.
6967         It is more trouble than it's worth, now that we have CALLN.
6968         This is just a minor refactoring.
6969         * src/buffer.c (Fkill_buffer):
6970         * src/dbusbind.c (XD_OBJECT_TO_STRING):
6971         * src/fileio.c (barf_or_query_if_file_exists):
6972         Adjust to format2 going away.
6974         Don't misencode C-generated messages
6975         Also, be more consistent about calls to 'Fmessage' vs 'message'.
6976         * src/alloc.c (Fgc_status):
6977         Prefer AUTO_STRING to build_string for Fmessage call.
6978         * src/data.c (Fmake_variable_buffer_local)
6979         (Fmake_local_variable, Fmake_variable_frame_local):
6980         * src/doc.c (store_function_docstring):
6981         Use Fmessage, not message, since the argument can contain
6982         non-ASCII characters, and this can cause the resulting message
6983         to be incorrectly encoded for the current environment.
6984         * src/fns.c (maybe_resize_hash_table):
6985         * src/xselect.c (x_clipboard_manager_save_all):
6986         Use message, not Fmessage, since Fmessage's power isn't needed here.
6987         * src/process.c (Fmake_network_process): Reword message to avoid %s.
6988         * src/xdisp.c (vmessage): Document restrictions on message contents.
6989         (message_nolog) [false]: Remove unused code.
6991         Use \r rather than ^M in string literals
6992         This is less likely to cause problems on platforms that
6993         use CRLF (or CR!) termination for lines.
6995         Update .gitattributes to match current sources
6996         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
6997         * .gitattributes: Accommodate tests that insist on DOS format.
6998         Remove test/automated/data/decompress/foo-gzipped.
6999         Add etc/e/eterm-color.
7001 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
7003         Document 'face-ignored-fonts'
7004         * doc/emacs/mule.texi (Modifying Fontsets): Document
7005         face-ignored-fonts.  (Bug#20628)
7007         Add etags test for the new -Q option
7008         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
7009         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
7010         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
7011         test-case changes below.
7012         * test/etags/ETAGS.good_6: New file.
7013         * test/etags/cp-src/x.cc: New file.
7014         * test/etags/Makefile (CPSRC): Add x.cc.
7015         (check): Add one more test, for -Q.
7017 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
7019         Use list for the tags completion table, not obarray
7020         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
7021         list instead of an obarray
7022         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
7023         (tags-completion-table): Combine those lists.
7024         (tags-completion-table): Update the docstring.
7026 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
7028         Restore EOL format testing in etags
7029         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
7030         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
7031         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
7032         test-case changes below.
7033         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
7034         * test/etags/cp-src/c.C (B): Add back stray CR character.
7035         * test/etags/c-src/dostorture.c: Add back.
7036         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
7038 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
7040         Declare Emacs on MS-Windows to be DPI-aware
7041         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
7042         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
7043         This avoids Windows entering compatibility mode for Emacs,
7044         which causes fonts to look less nice.
7046 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
7048         Improve Tramp traces.
7049         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
7050         * lisp/net/tramp.el (tramp-debug-message): Use it.
7052 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
7054         backup-buffer minor reworking of internals
7055         * lisp/files.el (backup-buffer): Rework to avoid a couple of
7056         unused locals inadvertently introduced in the previous change.
7058         backup-buffer now reports .emacs.d/%backup% ills
7059         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
7060         fails due to disk space exhaustion or whatever, do not pretend
7061         that it succeeded.  More generally, do a better job of checking
7062         for I/O failures, and limit the scope of the condition-case to
7063         just the operations where file errors should be caught and ignored
7064         (Bug#20595).  Also, don't bother trying to delete later backups if
7065         an earlier deletion fails, as this is a sign of trouble and it's
7066         better to stop when there's trouble.
7068         copy-file now truncates output after writing
7069         * src/fileio.c (Fcopy_file): Truncate output after writing rather
7070         than before.  This is more likely to work than truncation before
7071         writing, if the file system is out of space or the user is over
7072         disk quota (Bug#20595).  Also, check for read errors.
7074 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7076         * lisp/emacs-lisp/package.el: Don't load from parent dir
7077         (package-load-all-descriptors): Don't load descriptors from
7078         directories above the package directories.
7080 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
7082         Merge from gnulib
7083         This incorporates the following (Bug#20681):
7084         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
7085         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
7086         * lib/set-permissions.c: Copy from gnulib.
7088 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
7090         Improve Tramp traces.
7091         * lisp/net/tramp.el (tramp-call-process-region): New defun.
7092         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
7094 2015-05-29  Glenn Morris  <rgm@gnu.org>
7096         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
7098 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
7100         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
7101         The signature was changed in the cairo branch, merged on 2015-05-23.
7102         This oversight broke compiling only the non-toolkit X version.
7104 2015-05-29  Samer Masterson  <samer@samertm.com>
7106         * doc/lispref/os.texi: Update initial-buffer-choice docs.
7108 2015-05-29  Glenn Morris  <rgm@gnu.org>
7110         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
7111         Mark as an expected failure.
7113 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
7115         Change package test to look for curved quotes
7116         * test/automated/package-test.el (package-test-describe-package)
7117         (package-test-signed): Search for curved single quotes as well as
7118         for grave accent and apostrophe.
7120 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
7122         gnus-art.el: Re-revert last change
7123         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
7124         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
7126 2015-05-28  Samer Masterson  <samer@samertm.com>
7128         Show files when `initial-buffer-choice' is non-nil
7129         * startup.el (command-line-1): When Emacs is given a file as an
7130         argument and `initial-buffer-choice' is non-nil, display both the file
7131         and `initial-buffer-choice'.  For more than one file, show
7132         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
7133         commands out of the command line arg parser.
7134         (initial-buffer-choice): Clarify docstring.
7136 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
7138         Fix last commit
7139         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
7140         (gnulib module qcopy-acl): Add back, as it is harmless.  This
7141         minimizes differences wrt lib/gnulib.mk.
7143         Fix the MS-Windows build as followup to gnulib update
7144         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
7145         set-permissions.c, as they don't compile on MinGW.
7146         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
7148 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
7150         Revert my change to gnus-art.el
7151         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
7152         It wasn't that important, and it caused a Gnus build to fail.  See:
7153         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
7155         New minor mode Electric Quote
7156         This lets you easily insert quotes ‘like this’ by typing
7157         quotes `like this', and similarly you can easily insert
7158         quotes “like this” by typing quotes ``like this'' (Bug#20545).
7159         * doc/emacs/basic.texi (Inserting Text):
7160         * doc/emacs/modes.texi (Minor Modes):
7161         * etc/NEWS: Document it.
7162         * doc/emacs/text.texi (Quotation Marks): New section.
7163         * lisp/electric.el (electric-quote-comment)
7164         (electric-quote-string, electric-quote-paragraph):
7165         New custom vars.
7166         (electric--insertable-p)
7167         (electric-quote-post-self-insert-function): New functions.
7168         (electric-quote-mode, electric-quote-local-mode): New minor modes.
7169         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
7170         Add curved single quotes to electric-pair-text-pairs.
7171         Set electric-quote-string in this buffer.
7173         A few more doc string fixes (Bug#20385)
7175         Accept curved quotes in doc strings
7176         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7177         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
7179         Generate curved quotes in pseudo-info nodes
7180         * lisp/info.el (Info-virtual-index-find-node)
7181         (Info-virtual-index, Info-apropos-find-node, info-apropos):
7182         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
7184         Fix minor quoting problems in doc strings
7185         Most of these fixes involve escaping grave accents that are
7186         actually intended to be grave accents, not left quotes.
7187         (Bug#20385)
7189         Support curved quotes in doc strings
7190         Emacs's traditional doc string style has been to quote symbols
7191         `like this'.  This worked well on now-obsolete terminals where
7192         ` and ' were symmetric quotes, but nowadays curved quotes
7193         ‘like this’ look better.  Support quoting the new way too.
7194         (Bug#20385)
7195         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
7196         ‘like-this’ as well as `like-this'.
7197         * etc/NEWS: Mention this.
7198         * lisp/cedet/mode-local.el (overload-docstring-extension)
7199         (mode-local-print-binding, mode-local-describe-bindings-2):
7200         * lisp/cus-theme.el (describe-theme-1):
7201         * lisp/descr-text.el (describe-text-properties-1, describe-char):
7202         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
7203         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
7204         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
7205         (eieio-help-constructor):
7206         * lisp/emacs-lisp/package.el (describe-package-1):
7207         * lisp/faces.el (describe-face):
7208         * lisp/help-fns.el (help-fns--key-bindings)
7209         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
7210         (help-fns--interactive-only, describe-function-1):
7211         (describe-variable):
7212         * lisp/help.el (describe-mode):
7213         * lisp/international/mule-cmds.el (describe-input-method)
7214         (describe-language-environment):
7215         * lisp/international/mule-diag.el (describe-character-set)
7216         (print-coding-system-briefly, list-input-methods)
7217         (list-input-methods-1):
7218         Insert curved quotes rather than grave accent and apostrophe.
7219         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
7220         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
7221         (checkdoc-proper-noun-region-engine):
7222         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
7223         (lisp-cl-font-lock-keywords-2):
7224         * lisp/finder.el (finder-font-lock-keywords):
7225         * lisp/gnus/gnus-art.el (gnus-button-alist):
7226         * lisp/help-fns.el (help-do-arg-highlight)
7227         (describe-function-1, describe-variable):
7228         * lisp/help-mode.el (help-xref-symbol-regexp)
7229         (help-xref-info-regexp, help-xref-url-regexp):
7230         * lisp/help.el (describe-mode):
7231         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
7232         * lisp/wid-edit.el (widget-documentation-link-regexp):
7233         Parse symbols quoted ‘like-this’ as well as `like-this'.
7234         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
7235         Add "‘" and "’" to electric-pair-text-pairs.
7236         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
7237         (elisp-completion-at-point, elisp--preceding-sexp):
7238         Also treat "‘" and "’" as quoting chars.
7240         substitute-command-keys now curves quotes
7241         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
7242         * doc/lispref/help.texi (Keys in Documentation):
7243         * etc/NEWS: Document this.
7244         * src/doc.c (Fsubstitute_command_keys): Implement it.
7246 2015-05-28  Glenn Morris  <rgm@gnu.org>
7248         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
7249         (rmail-summary-by-topic, rmail-summary-by-senders):
7250         No longer strip leading/trailing whitespace.
7252         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
7253         (f90-no-block-limit): Add "enum".  (Bug#20680)
7254         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
7255         New tests.
7257 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7259         * lisp/isearch.el (isearch--current-buffer): Give a default value.
7261         Un-revert changes mistakenly dropped by f9fabb2b
7263 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
7265         Merge from gnulib
7266         This incorporates:
7267         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
7268         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
7269         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
7270         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
7271         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
7272         2015-05-26 stdio: fix probe on mingw under gcc 5.1
7273         * admin/merge-gnulib (GNULIB_MODULES):
7274         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
7275         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
7276         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
7277         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
7278         Get latest versions from gnulib.
7279         * lib/get-permissions.c, lib/set-permissions.c: New files.
7280         * lib/gnulib.mk, m4/gnulib-comp.m4:
7281         Regenerate.
7282         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
7284 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
7286         Delete the old process in vc-setup-buffer
7287         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
7288         process here.
7289         (vc-do-command): Rather than here (bug#20608).
7291 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
7293         Avoid gratuitous delete-dups in face-at-point.
7294         * lisp/faces.el (face-at-point): Do not compute the properly
7295         ordered, duplicate-free list if only a single value is
7296         requested anyway.  (Bug#20519)
7298         Show the exact C-x 8 RET invocation in describe-char.
7299         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
7300         invocation instead of a template.  (Bug#20522)
7302 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7304         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
7305         (package-menu--post-refresh): Call `tabulated-list-print' with the
7306         UPDATE argument.  This only affects the refresh action, the revert
7307         action still erases tags.
7308         (package-menu-get-status): Change `assq' to `assoc'.
7309         (package-menu--mark-upgrades-1): New function.
7310         (package-menu--mark-upgrades-pending): New variable.
7311         (package-menu-mark-upgrades): Use them to delay marking until
7312         after refresh is done.
7313         (package-menu--post-refresh): Call mark-upgrades-1 if
7314         mark-upgrades-pending is non-nil.
7316 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
7318         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
7320 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7322         * lisp/isearch.el (isearch--current-buffer): New var
7323         (isearch-update): Set cursor-sensor-inhibit here.
7324         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
7326         Change inhibit-point-motion-hooks to t
7327         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
7328         to t and document it as obsolete.
7330 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
7332         Support ZIP files that use Zip64 extensions
7333         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
7334         format of central directory offsets used by Zip64 extensions.
7335         (Bug#20665)
7337 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
7339         New test tramp-test30-make-auto-save-file-name
7340         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
7341         (tramp-test31-special-characters)
7342         (tramp-test31-special-characters-with-stat)
7343         (tramp-test31-special-characters-with-perl)
7344         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
7345         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
7346         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
7347         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
7349         Improve tramp-handle-make-auto-save-file-name
7350         * tramp.el (tramp-auto-save-directory): Add :tags.
7351         (tramp-handle-make-auto-save-file-name): Let native
7352         `make-auto-save-file-name' use `auto-save-file-name-transforms',
7353         if `tramp-auto-save-directory' is not set.
7355 2015-05-27  Glenn Morris  <rgm@gnu.org>
7357         No longer set dired-directory in eshell.  (Bug#16477)
7358         * lisp/eshell/esh-mode.el (eshell-mode):
7359         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
7361         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
7363         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
7364         * lisp/progmodes/cc-mode.el (c-mode-help-address):
7365         Change to submit@debbugs.
7366         (c-mode-bug-package): New constant.
7367         (mail-position-on-field): Declare.
7368         (c-submit-bug-report): Insert X-Debbugs-Package header.
7369         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
7370         Mention debbugs.gnu.org.
7372 2015-05-26  Glenn Morris  <rgm@gnu.org>
7374         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
7375         (rmail-summary-by-recipients, rmail-summary-by-topic)
7376         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
7377         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
7379 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
7381         Handle curved quotes in info files
7382         * lisp/calc/calc-help.el (calc-describe-thing):
7383         * lisp/info.el (Info-find-index-name)
7384         (Info-try-follow-nearest-node, Info-fontify-node):
7385         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
7386         In info files, process quotes ‘like this’ the same way we process
7387         quotes `like this'.  This catches a few places we missed earlier.
7389 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
7391         xref-prompt-for-identifier: Use a list value
7392         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
7393         value, to be interpreted as a list of commands.
7394         (xref--prompt-p): New function.
7395         (xref--read-identifier): Use it.
7397 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
7399         Teach MS-Windows font back-end return per-glyph ascent/descent
7400         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
7401         values.
7402         * src/w32font.c (w32font_text_extents): Compute, cache, and
7403         accumulate per-glyph ascent and descent values, instead of copying
7404         global values from the font.  If the values are not available from
7405         the font data, i.e., non-TTF fonts, fall back on font-global values.
7406         (compute_metrics): Compute and return per-glyph ascent and descent
7407         values, if returned by GetGlyphOutlineW, falling back on
7408         font-global values.  (Bug#20628)
7409         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
7410         height of rectangle to be drawn, to be compatible with
7411         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
7412         box, when per-glyph ascent/descent values are used.
7414 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
7416         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
7417         (tabulated-list-print): Don't sort if sorter is nil
7419 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
7421         Fix Bug#20621
7422         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
7423         are major modes which set `auto-save-mode' on their own rules;
7424         Tramp shall not overwrite such settings.
7425         (Bug#20621)
7427 2015-05-26  Glenn Morris  <rgm@gnu.org>
7429         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
7430         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
7431         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
7432         Doc updates.
7433         (vc-dir-mode): Remove unnecessary autoload.
7435 2015-05-25  Philipp Stephani  <phst@google.com>
7437         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
7438         (xterm--extra-capabilities-type): Add `getSelection'.
7439         (xterm--query): Add `no-async' argument.
7440         (xterm--init-activate-get-selection): New function.
7441         (terminal-init-xterm): Use it.
7442         (xterm--init-modify-other-keys): Rename from
7443         terminal-init-xterm-modify-other-keys.
7444         (xterm--init-bracketed-paste-mode): Rename from
7445         terminal-init-xterm-bracketed-paste-mode.
7446         (xterm--init-activate-set-selection): Rename from
7447         terminal-init-xterm-activate-set-selection.
7448         (xterm--selection-char): New function.
7449         (gui-backend-set-selection): Use it.  Use the &context to only apply
7450         this method in terminals where we enabled the feature.
7451         (gui-backend-get-selection): New method.
7453 2015-05-25  Daniel Colascione  <dancol@dancol.org>
7455         Add C-language keyword constants to C++
7456         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
7457         keyword constants to C++.
7459 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7461         Make TAGS files more portable to MS-Windows
7462         * etc/NEWS: Document this.
7463         * lib-src/etags.c (readline_internal) [DOS_NT]:
7464         Don't treat CRs differently from GNUish hosts.
7465         * lisp/progmodes/etags.el (etags-goto-tag-location):
7466         Adjust STARTPOS to account for the skipped CRs in dos-style files.
7468 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
7470         Improve fix of debbugs:20634 in tramp-sh.el
7472 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
7474         Fix a typo in last commit
7475         * lib-src/etags.c (C_entries): Fix a typo.
7476         * test/etags/ETAGS.good_1:
7477         * test/etags/ETAGS.good_2:
7478         * test/etags/ETAGS.good_3:
7479         * test/etags/ETAGS.good_4:
7480         * test/etags/ETAGS.good_5:
7481         * test/etags/CTAGS.good: Update due to the change in etags.c.
7483         Fix tagging of class members in C-like OO languages
7484         * lib-src/etags.c (longopts): Add new option --class-qualify and
7485         its shorthand -Q.
7486         (print_help): Add help text for --class-qualify.
7487         (main): Add handling of -Q.
7488         (consider_token, C_entries) <omethodparm>: Append argument types
7489         to Objective C methods only if --class-qualify was specified.
7490         Qualify C++, Objective C, and Java class members with their class
7491         names only if --class-qualify was specified.
7492         (C_entries): If --class-qualify was not specified, remove the
7493         namespace and class qualifiers from tag names of C++ methods.
7494         This allows to use etags.el as xref back-end without the
7495         tag-symbol-match-p method, which greatly increases the number of
7496         potentially false positives.  (Bug#20629)
7497         * doc/man/etags.1: Update to document the new --class-qualify
7498         option.
7499         * test/etags/ETAGS.good_1:
7500         * test/etags/ETAGS.good_2:
7501         * test/etags/ETAGS.good_3:
7502         * test/etags/ETAGS.good_4:
7503         * test/etags/ETAGS.good_5:
7504         * test/etags/CTAGS.good: Update due to changes in etags.c.
7506 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7508         (cl-generic-define-method): Side effects are evil (bug#20644)
7509         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
7510         cons-cells that might be used as keys in an `equal' hash-table.
7512 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7514         Make erc timestamps visible again
7515         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
7516         timestamps visible again (if requested).
7518 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
7520         Fix last change in etags.c that broke tagging compresed files
7521         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
7522         quoting of decompression shell command for MS-Windows/MS-DOS.
7524 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
7526         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
7527         (Bug#20639)
7529 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
7531         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
7533 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
7535         Fix IPv6 addresses in Tramp
7536         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
7537         Add sqare brackets around host name.
7539 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
7541         Inhibit `epa-file-handler' in Tramp
7542         (Bug#20634)
7543         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
7544         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
7545         `epa-file-handler'.
7547 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7549         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
7550         (pcase-let): Document the behavior in case the pattern doesn't match.
7552 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
7554         * lisp/emacs-lisp/tabulated-list.el: New optional print method
7555         (tabulated-list-print): New optional argument, UPDATE.  If
7556         non-nil, the list is printed by only adding and deleting the
7557         changed entries, instead of erasing the whole buffer.  This method
7558         is much faster when few or no entries have changed.
7559         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
7560         * etc/NEWS: Document it.
7562         * lisp/emacs-lisp/tabulated-list.el: Improve printing
7563         (tabulated-list--get-sorter): New function.
7564         (tabulated-list-print): Restore window-line when remember-pos is
7565         passed and optimize away the `nreverse'.
7567 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7569         Simpilify etags TEX mode scanning
7570         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
7571         Remove static vars.
7572         (TeX_commands): Deduce escapes here instead.
7573         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
7574         This removes the need for a reset_input call.
7576         Improve etags I/O error reporting
7577         * lib-src/etags.c:
7578         Don't include sys/types.h and sys/stat.h; no longer needed.
7579         (infilename): New static var.
7580         (process_file_name): Don't call 'stat'.  Instead, just open the
7581         file for reading and report any errors.  Don't bother making
7582         a copy of the file argument; it's not needed.  Be more careful to
7583         use the failing errno when reporting an error.
7584         Quote the real name better (though no perfectly)
7585         when passing it to the shell.
7586         (reset_input): New function, which reports I/O errors.
7587         All uses of 'rewind' changed to use this function.
7588         (perhaps_more_input): New function, which also checks for
7589         I/O errors.  All uses of 'feof' changed to use this function.
7590         (analyze_regex): Report an error if fclose fails.
7591         (readline_internal): Report an error if getc fails.
7592         (etags_mktmp): Return an error if close fails.
7594         etags.c: avoid side effects in 'if'
7595         * lib-src/etags.c (process_file_name, Perl_functions)
7596         (TEX_decode_env): Hoist side effects into previous statement.
7598         .gitignore tweaks
7599         * .gitignore: Ignore all *.stamp files.  Sort.
7600         Ignore [0-9]*.txt (commonly used name for git patches)
7601         and /vc-dwim-log-* (vc-dwim temporary).
7603 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
7605         Fix last change in etags.c, which failed the test suite
7606         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
7607         before the last change.
7609 2015-05-23  Glenn Morris  <rgm@gnu.org>
7611         Remove charset map files from repository, generate in first bootstrap
7612         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
7613         (all): Create the stamp file.
7614         (extraclean): Delete the stamp file.
7615         * src/Makefile.in (lispintdir, charsets): New variables.
7616         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
7617         New rules.
7618         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
7619         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
7620         * etc/charsets/*.map: Remove from repository.
7622 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7624         Cleanup etags.c to use locale-independent code
7625         Although this doesn't alter behavior (as etags doesn't use
7626         setlocale), the new version is more clearly locale-independent and
7627         the executable is a bit smaller on my platform.
7628         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
7629         Include <c-ctype.h> instead of <ctype.h>.
7630         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
7631         (begtk, midtk):
7632         Remove; no longer needed.
7633         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
7634         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
7635         c_islower, c_tolower, respectively.
7636         (notinname, begtoken, intoken, endtoken): Rewrite as functions
7637         instead of macros, and initialize the tables at compile-time
7638         rather than at run-time.
7640         Put default action first in src/Makefile
7641         * src/Makefile.in (all): Put this rule before lisp.mk.
7642         That way, plain 'make' works in the src directory again.
7644 2015-05-23  Glenn Morris  <rgm@gnu.org>
7646         * Makefile.in: Fix extraclean rule.
7647         (extraclean_dirs): New.
7648         (extraclean): Use it.
7650 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7652         Avoid compiler warning in image.c on MS-Windows
7653         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
7654         warning in image.c.
7656 2015-05-23  Glenn Morris  <rgm@gnu.org>
7658         Fix --without-toolkit-scroll-bars builds.
7659         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
7660         Add new argument to x_clear_area1.
7661         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
7662         Update x_clear_area arguments.
7664         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
7665         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
7666         Change to included version.
7667         (LOCAL, local, totalclean): Remove.
7668         (extraclean): Delete all generated files.
7670 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
7672         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
7674         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
7676         tags-completion-at-point-function: Don't trust the find-tag function
7677         * lisp/progmodes/etags.el (tags-completion-at-point-function):
7678         Don't trust the find-tag function.
7680 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7682         Pacify --enable-gcc-warnings
7683         * src/frame.h (x_query_color): Remove redundant extern decl.
7684         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
7685         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
7686         (ftcrfont_text_extents, ftcrfont_draw):
7687         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
7688         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
7689         (x_ins_del_lines, frame_highlight, frame_unhighlight)
7690         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
7691         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
7692         (x_update_window_begin, x_connection_closed)
7693         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
7694         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
7695         (*x_gc_get_ext_data, x_extension_initialize)
7696         (x_cr_accumulate_data):
7697         Remove redundant static decl.  Many of these GCC doesn't complain
7698         about, but we might as well clean out the duplication while we're
7699         in the neighborhood.
7700         * src/xterm.c (x_fill_trapezoid_for_relief):
7701         Remove decl of nonexistent function.
7703 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
7705         Replace gui-method macros with cl-generic with &context
7706         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
7707         (gui-method-declare, gui-call): Remove.
7708         (frame-creation-function): Use cl-defgeneric.
7709         (make-frame): Adjust callers.
7710         * lisp/menu-bar.el (menu-bar-edit-menu):
7711         Use gui-backend-selection-exists-p.
7712         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
7713         (gui-backend-get-selection): New cl-generic to replace
7714         gui-get-selection method.
7715         (gui-backend-set-selection): New cl-generic to replace
7716         gui-set-selection method.
7717         (gui-selection-owner-p): New cl-generic to replace
7718         gui-selection-owner-p method.
7719         (gui-backend-selection-exists-p): New cl-generic to replace
7720         gui-selection-exists-p method.  Adjust all callers.
7721         * lisp/server.el (server-create-window-system-frame): Don't ignore
7722         window-system spec even when unsupported.
7723         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
7724         * lisp/startup.el (handle-args-function, window-system-initialization):
7725         Use cl-defgeneric.
7726         (command-line): Adjust calls accordingly.
7727         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
7728         a window-system-initialization method.
7729         (handle-args-function, frame-creation-function): Use cl-defmethod.
7730         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7731         (gui-get-selection): Use cl-defmethod on the new functions instead.
7732         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
7733         a gui-backend-get-selection method.
7734         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
7735         Use cl-defmethod on the new functions instead.
7736         (msdos-window-system-initialization): Turn into
7737         a window-system-initialization method.
7738         (frame-creation-function, handle-args-function): Use cl-defmethod.
7739         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
7740         a window-system-initialization method.
7741         (handle-args-function, frame-creation-function): Use cl-defmethod.
7742         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7743         (gui-get-selection): Use cl-defmethod on the new functions instead.
7744         * lisp/term/x-win.el (x-window-system-initialization): Turn into
7745         a window-system-initialization method.
7746         (handle-args-function, frame-creation-function): Use cl-defmethod.
7747         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7748         (gui-get-selection): Use cl-defmethod on the new functions instead.
7749         * lisp/term/xterm.el (xterm--set-selection): Turn into
7750         a gui-backend-set-selection method.
7751         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
7752         (Fns_selection_owner_p): Remove unused arg `terminal'.
7753         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
7755 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7757         Revert "Fix etags Bug#20629 that broke C++ support."
7758         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
7760 2015-05-23  Jan D  <jan.h.d@swipnet.se>
7762         Fix etags Bug#20629 that broke C++ support.
7763         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
7764         from Sun May 10 (Bug#20629).
7766         Merge branch 'cairo'.
7767         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
7768         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
7770         Merge branch 'master' into cairo
7772         Fixes to compile cairo branch without cairo.
7773         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
7774         first argument.
7775         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
7776         USE_CAIRO.
7778 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
7780         * lisp/emacs-lisp/package.el: Always update selected-packages
7781         (package--update-selected-packages): New function.
7782         (package-menu-execute): Use it before starting the transaction,
7783         this way the list of selected packages is updated even when the
7784         transaction fails.
7785         (package-menu--perform-transaction): Don't edit selected-packages.
7787 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7789         Fix etags reading of compressed files
7790         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
7791         Include fcntl.h, for O_CLOEXEC.
7792         (process_file_name): Don't use 'popen', whose streams cannot be
7793         rewound.  Instead, uncompress the file to a temporary file,
7794         created by 'etags_mktmp', and read from that as usual.
7795         (etags_mktmp): New function.
7796         * test/etags/ETAGS.good_1:
7797         * test/etags/ETAGS.good_2:
7798         * test/etags/ETAGS.good_3:
7799         * test/etags/ETAGS.good_4:
7800         * test/etags/ETAGS.good_5: Update to be consistent with latest
7801         changes in etags.c regarding reading compressed files.
7803         Improve documentation of 'set-fontset-font'
7804         * doc/lispref/display.texi (Fontsets): Document the value of nil
7805         for the 3rd argument of 'set-fontset-font'.
7807         Fix documentation of forward-line
7808         * src/cmds.c (Fforward_line): Clarify the return value if the line
7809         at end of accessible portion of the buffer has no newline.
7810         * doc/lispref/positions.texi (Text Lines): Document what happens
7811         if the line at end of accessible portion of buffer has no newline.
7812         (Bug#20587)
7814 2015-05-22  Glenn Morris  <rgm@gnu.org>
7816         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
7818         * admin/charsets/mapconv (LC_ALL): Set to C.
7820         * Makefile.in: Add admin/charsets into top-level clean rules.
7821         (clean): Add admin/charsets.
7822         (maybeclean_dirs): New variable.
7823         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
7825         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
7827 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7829         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
7831 2015-05-22  Glenn Morris  <rgm@gnu.org>
7833         Generate admin/charsets Makefile via configure, and make more portable.
7834         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
7835         (admin/charsets/Makefile): Generate it.
7836         * admin/charsets/Makefile.in: Rename from Makefile.
7837         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
7838         New variables, set by configure.
7839         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
7840         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
7841         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
7842         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
7843         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
7844         (all): Declare PHONY.
7845         (local): New PHONY target.
7846         (map_template): New template.  Use to define short PHONY aliases.
7847         (*.map): Add directory prefixes to targets and prerequisites.
7848         Respect make verbosity.
7849         (JISC6226.map): Replace non-portable sed append without newline.
7850         (install): Remove rule.
7851         (clean): Only delete temporary sedscript.
7852         (bootstrap-clean, distclean, maintainer-clean, extraclean)
7853         (totalclean): New PHONY rules.
7854         * admin/charsets/mapconv (BASE): Replace basename with expr.
7855         (FILE): Add "mapfiles" subdirectory.
7856         (AWK): New variable.  Use throughout in place of "awk".
7857         (main): Use "gunzip -c" in place of "zcat".
7858         Don't leave whitespace before "p", for older sed.
7859         * admin/charsets/mapfiles/PTCP154: Add final newline,
7860         to make older sed versions happy.
7862 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
7864         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
7865         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
7866         (auto-revert-notify-watch-descriptor): Use defvar-local.
7867         (find-file-hook, auto-revert-tail-mode, )
7868         (auto-revert-notify-add-watch): Use setq-local.
7869         (auto-revert-notify-add-watch): Don't call make-local-variable on
7870         kill-buffer-hook (bug#20601).
7872 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7874         Change defgeneric so it doesn't completely redefine the function
7875         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
7876         previously defined methods.
7877         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
7878         (cl--generic-prefill-dispatchers): Only define during compilation.
7879         (cl-method-qualifiers): Remove redundant alias.
7880         (help-fns-short-filename): Silence byte-compiler.
7881         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
7883 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
7885         (package-menu-execute): Remove reference to remove-dups
7887 2015-05-21  kwhite  <kwhite@gnu.org>
7889         * lisp/erc/erc.el: Hide network/channel messages
7890         (erc-network-hide-list, etc-channel-hide-list): New lists to define
7891         message types per network/channel.
7892         (erc-add-targets): New function to parse list of targets
7893         (erc-hide-current-message-p): Modified to check for new targets
7895 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
7897         Don't quote nil and t in doc strings
7898         This is as per "Tips for Documentation Strings" in the elisp manual.
7899         For consistency, do the same in diagnostics and comments.
7901 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
7903         Fix a minor problem with mouse-face on mode line
7904         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
7905         mouse face also if the mouse pointer hovers above mode-line glyphs
7906         that don't come from any Lisp string.  (Bug#20620)
7908 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
7910         * lisp/emacs-lisp/package.el: Fix selected-package logic
7911         (package-menu-execute): Mark as selected all non-upgrade packages
7912         being installed.
7913         (package-menu--perform-transaction): Don't mark anything.
7915         * lisp/emacs-lisp/package.el: Mode-line progress report
7916         (package-menu--transaction-status): New variable.
7917         (package-menu-mode, package-menu--perform-transaction): Use it.
7919         * lisp/emacs-lisp/package.el: Better transaction messages
7920         (package-menu--partition-transaction): New function.
7921         (package-menu--prompt-transaction-p, package-menu-execute): Use
7922         it.
7923         (package-menu--perform-transaction): Don't do any messaging.
7925         * lisp/emacs-lisp/package.el: Revert async package transactions
7926         (package-menu-async): Update doc.
7927         (package-install-from-archive, package-download-transaction)
7928         (package-install, package-menu--perform-transaction)
7929         (package-menu-execute): Remove asynchronous functionality.
7931 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
7933         Revert doc string changes to f90.el
7934         Problem reported by Glenn Morris in:
7935         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
7936         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
7937         Revert recent changes to doc strings, as it's intended that they
7938         use grave accent, not quote.
7940 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
7942         Improve parameter name
7944         Add new inline function `hash-table-empty-p'
7946 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
7948         Don't require help-fns when not needed
7949         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
7950         * lisp/emacs-lisp/elint.el:
7951         Don't require help-fns at the top level.
7952         * lisp/emacs-lisp/advice.el (ad-arglist):
7953         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
7954         Don't require help-fns.  (Bug#17001)
7956 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
7958         Fix slash collapsing in etags on MS-Windows
7959         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
7960         MS-Windows code from the Posix code, and support collapsing both
7961         forward- and back-slashes on MS-Windows.  Fixes a regression found
7962         by the test suite.
7964         Improve documentation of glyphless-char-display
7965         * doc/lispref/display.texi (Glyphless Chars): Improve
7966         documentation of glyphless character display.
7968         Fix "acronym" display of glyphless characters on w32
7969         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
7970         ignore "acronym" substitutes of 1 character for glyphless characters.
7972 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
7974         Add an automated test for let-when-compile
7975         * test/automated/subr-tests.el (let-when-compile): New test.
7977         Add let-when-compile macro instead of using pcase-let
7978         * lisp/subr.el (let-when-compile): New let-like macro that makes its
7979         bindings known to macros like `eval-when-compile' in the body.
7980         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
7981           `let-when-compile'. Also comment out the unused lexical var
7982           `el-kws-re'.
7983         The change greatly improves readability, while providing almost the
7984         same (even shorter) byte code: instead of pre-evaluating 10 variables,
7985         tossing them into a list, and destructuring that list a full screen
7986         page later, the variables are simply bound as they are evaluated,
7987         wrapped individually in `eval-when-compile'.
7989 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7991         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
7992         (package-delete-button-action): New function.
7993         (describe-package-1): Add Delete button.
7995         * lisp/emacs-lisp/package.el: Better dependency description
7996         (package--used-elsewhere-p): New optional arg, ALL, and return
7997         package-desc objects instead of names.
7998         (package-delete): Update accordingly.
7999         (describe-package-1): Describe which packages require the package.
8001 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
8003         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
8004         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
8005         Fix doc-string (Bug#20533).
8007         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
8008         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
8009         (switch-to-buffer): If the selected window is strongly dedicated
8010         to its buffer, signal error before prompting for buffer name.  Handle
8011         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
8012         * doc/lispref/windows.texi (Switching Buffers): Document
8013         `switch-to-buffer-in-dedicated-window'.
8015 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8017         Prefer "this" to “this” in doc strings
8018         This mostly just straightens quotes introduced in my previous patch.
8019         Suggested by Dmitry Gutov in:
8020         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
8021         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
8022         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
8023         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
8024         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
8025         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
8026         Prefer straight double quotes to curved double quotes in doc strings.
8028         Fix minor quoting problems in doc strings
8029         These were glitches regardless of how or whether we tackle the
8030         problem of grave accent in doc strings.
8031         * lisp/calc/calc-aent.el (math-restore-placeholders):
8032         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
8033         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
8034         * lisp/leim/quail/hebrew.el ("hebrew-new")
8035         ("hebrew-biblical-sil"):
8036         * lisp/leim/quail/thai.el ("thai-kesmanee"):
8037         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
8038         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
8039         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
8040         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
8041         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
8042         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
8043         (semantic-tag-components):
8044         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
8045         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
8046         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
8047         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
8048         * lisp/emacs-lisp/generator.el (iter-next):
8049         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
8050         (gnus-article-mode-syntax-table):
8051         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
8052         * lisp/net/soap-client.el (soap-wsdl-get):
8053         * lisp/net/telnet.el (telnet-mode):
8054         * lisp/org/org-compat.el (org-number-sequence):
8055         * lisp/org/org.el (org-remove-highlights-with-change)
8056         (org-structure-template-alist):
8057         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
8058         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
8059         (handwrite-12pt, handwrite-13pt):
8060         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
8061         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
8062         * lisp/progmodes/verilog-mode.el (verilog-tool)
8063         (verilog-string-replace-matches, verilog-preprocess)
8064         (verilog-auto-insert-lisp, verilog-auto-insert-last):
8065         * lisp/textmodes/makeinfo.el (makeinfo-options):
8066         * src/font.c (Ffont_spec):
8067         Fix minor quoting problems in doc strings, e.g., missing quote,
8068         ``x'' where `x' was meant, etc.
8069         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
8070         Fix minor quoting problem in other string.
8071         * lisp/leim/quail/ethiopic.el ("ethiopic"):
8072         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
8073         Omit unnecessary quotes.
8074         * lisp/faces.el (set-face-attribute, set-face-underline)
8075         (set-face-inverse-video, x-create-frame-with-faces):
8076         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
8077         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
8078         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
8079         * lisp/net/tramp.el (tramp-methods):
8080         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
8081         * lisp/textmodes/artist.el (artist-ellipse-right-char)
8082         (artist-ellipse-left-char, artist-vaporize-fuzziness)
8083         (artist-spray-chars, artist-mode, artist-replace-string)
8084         (artist-put-pixel, artist-text-see-thru):
8085         * lisp/vc/ediff-util.el (ediff-submit-report):
8086         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
8087         Use double-quotes rather than TeX markup in doc strings.
8088         * lisp/skeleton.el (skeleton-pair-insert-maybe):
8089         Reword to avoid the need for grave accent and apostrophe.
8090         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
8091         Don't use grave and acute accents to quote.
8093 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
8095         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
8097 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8099         Try to port new etags tests to MS-Windows
8100         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
8101         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
8102         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
8103         Adjust to test-case changes below.
8104         * test/etags/Makefile (CSRC): Remove dostorture.c.
8105         Whatever it was trying to test, wasn't working portably.
8106         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
8107         just a line-ending problem.
8108         * test/etags/c-src/dostorture.c: Remove.
8109         * test/etags/cp-src/c.C: Remove stray CR.
8110         * test/etags/html-src/algrthms.html: Remove trailing CRs.
8111         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
8112         but if someone edits it later it should stay UTF-8-compatible.
8114 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
8116         Fix display of overlapping window-specific overlays
8117         * src/keyboard.c (adjust_point_for_property): When adjusting point
8118         due to display strings, ignore overlays that are specific to
8119         windows other than the currently selected one.
8120         * src/xdisp.c (handle_single_display_spec): If the display
8121         property comes from an overlay, arrange for buffer iteration to
8122         resume only after the end of that overlay.  (Bug#20607)
8124 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
8126         New command icomplete-force-complete-and-exit
8127         * lisp/icomplete.el (icomplete-force-complete-and-exit):
8128         New command
8129         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
8130         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
8131         (icomplete-minibuffer-map): Bind C-j to it.
8132         (icomplete-forward-completions, icomplete-backward-completions):
8133         Mention the new command in the docstring.
8134         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
8135         the previous fix for bug#17545.
8137 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
8139         Fix last commit
8141         In Elisp manual explain how to override window manager positioning (Bug#20552)
8142         * doc/lispref/frames.texi (Position Parameters): Give example of
8143         how to override a window manager positioning decision.
8145         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
8146         * src/frame.c (Fdelete_frame): In doc-string mention that frame
8147         can't be deleted if it has a surrogate minibuffer.
8148         * doc/lispref/frames.texi (Minibuffers and Frames)
8149         (Deleting Frames): Explain "surrogate minibuffer frames".
8151         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
8152         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
8154 2015-05-18  Glenn Morris  <rgm@gnu.org>
8156         Add option to ignore commit lines matching a pattern in ChangeLog.
8157         * build-aux/gitlog-to-changelog: Add --ignore-line option.
8158         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
8160 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
8162         Don't skip new etags tests on non-UTF-8 hosts
8163         Problem reported by Eli Zaretskii for MS-Windows.
8164         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
8165         (LC_ALL): Set to C if the current locale isn't UTF-8.
8166         (.PHONY): Remove ediff_1 thru ediff_5.
8167         (check): Always run.
8169 2015-05-18  Glenn Morris  <rgm@gnu.org>
8171         * lisp/calculator.el (calculator-funcall):
8172         * lisp/textmodes/artist.el (artist-spray-random-points):
8173         Use standard degree/radian conversion utilities.
8175         Further lisp-complete-symbol related cleanup.
8176         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
8177         Unadvertise non-functional argument.  Replace obsolete alias.
8179 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
8181         Add a test case for Maven warning ouput
8182         * test/automated/compile-tests.el
8183         (compile-tests--test-regexps-data): Add a case for Maven warning
8184         ouput.
8185         (compile--test-error-line): Check the compilation message type, if
8186         it's specified in the test data.
8188 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
8190         Update Maven compilation-mode entry to distinguish warnings
8191         * lisp/progmodes/compile.el
8192         (compilation-error-regexp-alist-alist): Update Maven entry to
8193         distinguish warnings (bug#20556).
8195 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
8197         * test/automated/sgml-mode-tests.el: New file.
8199 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
8201         Improve handling of the first Git revision
8202         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
8203         there's no next entry, delete until the end of the buffer.
8204         (log-view-end-of-defun-1): Stop at eob.
8205         * lisp/vc/vc-annotate.el
8206         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
8207         when previous-revision is nil.
8208         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
8209         with `--' to avoid ambiguity.
8210         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
8211         returned revision string.
8212         (vc-git-annotate-time): Expect `^' before the first revision.
8213         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
8214         REV1 is nil, and REV2 is not.
8215         * lisp/vc/vc.el: Update the description of the `diff' function.
8217 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
8219         Allow checkdoc to be called in batch
8220         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
8221           is non-nil, echo the error with `warn'.
8222         How it can be used in -batch:
8223         (with-current-buffer (find-file "checkdoc.el")
8224           (checkdoc-current-buffer t))
8226 2015-05-18  Glenn Morris  <rgm@gnu.org>
8228         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
8230 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
8232         * admin/notes/unicode: New section "binary files".
8234         Change new etags test to use UTF-8 encoding
8235         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
8236         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
8237         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
8238         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
8239         * test/etags/html-src/softwarelibero.html:
8240         Switch to UTF-8 encoding.
8241         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
8242         Remove Makefile, as it's too incestuous to have the test input
8243         include the build procedure.
8244         (UTF8_LOCALE, UTF_ENCODING): New macros.
8245         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
8246         (check): Skip if not UTF-8.
8247         (.PHONY): New rule.
8248         (FRC): Remove, as superseded by .PHONY.  All uses removed.
8249         (regexfile): Prefer printf to echo when outputting oddball chars.
8250         (.PRECIOUS): Remove, as these files are not built.
8252         Rename 'foo-gzipped' to 'foo.gz'
8253         * test/automated/data/decompress/foo.gz:
8254         Rename from test/automated/data/decompress/foo-gzipped,
8255         to make it easier for other tools to tell that it's compressed.
8256         * test/automated/zlib-tests.el (zlib--decompress):
8257         Adjust to renamed file.
8259 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
8261         Set up default-directory
8262         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
8263         binding for `v'.
8264         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
8265         appropriate value for default-directory.
8267 2015-05-17  Samer Masterson  <samer@samertm.com>
8269         * lisp/eshell/em-term.el (eshell-term-sentinel):
8270         No-op by default, only kills term buffer if
8271         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
8272         (eshell-destroy-buffer-when-process-dies): New custom to preserve
8273         previous behavior.
8275         eshell: Introduce new buffer syntax
8276         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
8277         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
8278         needed (Bug#19319).
8279         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
8280         (eshell-get-target): Remove shorthand-specific code.
8281         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
8282         '#<buffer-name>'.
8284 2015-05-17  Jan D  <jan.h.d@swipnet.se>
8286         Merge branch 'master' into cairo
8288 2015-04-26  Jan D  <jan.h.d@swipnet.se>
8290         Merge branch 'master' into cairo
8292         Add PBM support for cairo.
8293         * src/image.c (xcolor_to_argb32): New function.
8294         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
8295         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
8296         XImagePtr if ! USE_CAIRO.
8297         (pbm_load): Add cairo support.
8299 2015-04-12  Jan D  <jan.h.d@swipnet.se>
8301         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
8302         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
8303         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
8304         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
8305         x_free_cr_resources.
8307         Handle specified bg in images.  Use generic libpng code for PNG:s.
8308         * src/image.c (get_spec_bg_or_alpha_as_argb)
8309         (create_cairo_image_surface): New functions when USE_CAIRO.
8310         (xpm_load): Call the above functions.  Handle XPM without mask
8311         when USE_CAIRO.
8312         (png_load_body): Handle USE_CAIRO case.
8313         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
8314         instead.
8315         (jpeg_load_body): Call create_cairo_image_surface.
8316         (gif_load, svg_load_image): Handle specified background, call
8317         create_cairo_image_surface.
8318         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
8320 2015-04-11  Jan D  <jan.h.d@swipnet.se>
8322         Support GIF and Tiff with cairo.
8323         * configure.ac: Allow jpeg with cairo.
8324         Allow tiff and gif with cairo.
8325         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
8326         (tiff_load): Create cairo image surface if USE_CAIRO.
8327         (gif_load): Ditto.
8329         Support JPEG with USE_CAIRO.
8330         * configure.ac: Allow jpeg with cairo.
8331         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
8333 2015-04-05  Jan D  <jan.h.d@swipnet.se>
8335         Support RSVG and cairo.
8336         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
8337         * src/dispextern.h (struct image): add cr_data2 if cairo.
8338         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
8339         (x_clear_image): Free cr_data and cr_data2 if set.
8340         (xpm_load): Assign data to cr_data2.
8341         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
8343 2015-04-03  Jan D  <jan.h.d@swipnet.se>
8345         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
8346         * configure.ac (HAVE_RSVG): Move after cairo.
8347         (USE_CAIRO): Disable rsvg, don't disable Xpm.
8348         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
8349         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
8350         don't return early.
8351         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
8352         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
8353         and create a surface.
8355         Tool tips for menus did not show any text.
8356         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
8357         tip frames, the geometry may be wrong.
8359         Merge branch 'master' into cairo, fixes tooltips not shown.
8361         Merge branch 'master' into cairo
8363         Add CAIRO_CFLAGS to lwlib/Makefile.in
8364         * Makefile.in (CAIRO_CFLAGS): Add.
8366 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8368         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
8370 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8372         Draw outermost line using black relief and erase corners also for cairo.
8373         * xterm.c [USE_CAIRO]: Include math.h.
8374         (enum corners) [USE_CAIRO]: New enum.
8375         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
8376         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
8377         than 1, draw the outermost line using the black relief.
8379         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
8381 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8383         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
8385         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
8387         Use int instead of unsigned int for width and height args.
8388         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
8389         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
8390         width and height args.
8392         Modernize k&r cairo-related function declarations.
8393         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
8394         (xg_print_frames_dialog): Modernize k&r declarations.
8395         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
8396         (Fx_print_frames_dialog): Modernize k&r declarations.
8397         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
8398         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
8399         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
8400         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
8401         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
8402         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
8403         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
8404         (x_clear_area): Modernize k&r declarations.
8406         Implement wave-style variant of underlining for cairo.
8407         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
8408         (x_draw_underwave) [USE_CAIRO]: Use it.
8410         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
8412 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
8414         Fix fringe bitmap initialization for cairo.
8415         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
8416         cairo image surface.
8417         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
8419 2015-02-11  Jan D  <jan.h.d@swipnet.se>
8421         Add cairo drawing.
8422         * configure.ac (with-cairo): New option.
8423         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
8424         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
8425         Output "Does Emacs use cairo?".
8426         * lisp/version.el (emacs-version): Add cairo version.
8427         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
8428         (FONT_OBJ): Add comment about ftcrfont.
8429         (ALL_CFLAGS): Add CAIRO_CFLAGS.
8430         (LIBES): Add CAIRO_LIBS.
8431         * src/dispextern.h (struct image): Add cr_data for cairo.
8432         (x_cr_init_fringe): Declare.
8433         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
8434         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
8435         * src/fringe.c (x_cr_init_fringe): New function name that shares code
8436         with w32_init_fringe.
8437         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
8438         * src/ftfont.c (ftfont_info_size); New global variable.
8439         (ftfont_open2): New extern function almost the same as old ftfont_open,
8440         but takes the font_object as argument.
8441         (ftfont_open): Build font object and call ftfont_open2.
8442         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
8443         * src/gtkutil.c (xg_clear_under_internal_border)
8444         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
8445         queue_draw if not cairo.  Change args to x_clear_area.
8446         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
8447         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
8448         (xg_print_frames_dialog): New functions for printing.
8449         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
8450         (xg_print_frames_dialog): Declare.
8451         * src/image.c: Add defined (USE_CAIRO) for PNG.
8452         Add !defined USE_CAIRO for W32 PNG code.
8453         (x_clear_image): If cairo, destroy the surface in cr_data.
8454         (png_load): Add new cairo compatible implementation.
8455         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
8456         * src/xfns.c: New section Printing.
8457         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
8458         (x-print-frames-dialog): New printing functions.
8459         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
8460         cairo.
8461         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
8462         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
8463         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
8464         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
8465         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
8466         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
8467         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
8468         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
8469         Declare.
8470         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
8471         (max_fringe_bmp, fringe_bmp): New variables.
8472         (x_gc_get_ext_data, x_extension_initialize)
8473         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
8474         (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_image, x_cr_draw_frame)
8477         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
8478         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
8479         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
8480         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
8481         (x_update_begin): Create cairo surface if needed.
8482         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
8483         (x_update_end): Paint cairo drawing surface to xlib surface.
8484         (x_clear_under_internal_border, x_after_update_window_line): Adjust
8485         arguments to x_clear_area.
8486         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
8487         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
8488         of XSetClipMask.
8489         (x_set_glyph_string_clipping)
8490         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
8491         instead of XSetClipRectangles.
8492         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
8493         x_fill_rectangle instead of XFillRectangle.
8494         (x_draw_glyph_string_foreground)
8495         (x_draw_composite_glyph_string_foreground)
8496         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
8497         of XDrawRectangle.
8498         (x_draw_relief_rect): Add code for USE_CAIRO.
8499         Call x_reset_clip_rectangles instead of XSetClipMask.
8500         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
8501         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
8502         instead of XSetClipMask.
8503         (x_draw_image_foreground, x_draw_image_foreground_1):
8504         x_draw_rectangle instead of XDrawRectangle.
8505         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
8506         XFillRectangle.
8507         (x_draw_image_glyph_string): If img has cr_data, use it as
8508         a cairo surface.
8509         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
8510         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
8511         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
8512         x_reset_clip_rectangles instead of XSetClipMask.
8513         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
8514         (x_clear_area1): New function that calls XClearArea.
8515         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
8516         non-cairo.
8517         (x_clear_frame): x_clear_window instead of XClearWindow.
8518         (x_scroll_run): Set frame garbaged if cairo.
8519         (XTmouse_position): Initialize *part to 0.
8520         (x_scroll_bar_create): Adjust arguments to x_clear_area.
8521         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
8522         x_fill_rectangle instead of XFillRectangle.
8523         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
8524         arguments to x_clear_area.
8525         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
8526         (handle_one_xevent): Adjust arguments to x_clear_area.
8527         Destroy cairo surface for frame if ConfigureNotify.
8528         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
8529         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
8530         x_reset_clip_rectangles instead of XSetClipMask.
8531         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
8532         x_reset_clip_rectangles instead of XSetClipMask.
8533         (x_clear_frame_area): Adjust arguments to x_clear_area.
8534         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
8535         (x_term_init): Call x_extension_initialize if cairo.
8536         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
8537         x_cr_destroy_fringe_bitmap for cairo.
8538         (x_initialize): Call x_cr_init_fringe for cairo.
8539         * src/xterm.h: Add include of cairo header files.
8540         (x_bitmap_record): Add img if cairo.
8541         (x_gc_ext_data): New struct for cairo.
8542         (x_display_info): Add ext_codes for cairo.
8543         (x_output): Add cr_context and cr_surface for cairo.
8544         (x_clear_area): Change arguments from Display*/Window to frame pointer.
8545         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
8546         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
8547         (x_cr_draw_frame, x_cr_export_frames): Declare.
8549 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
8551         Fix integer-valued `mouse-highlight' (Bug#20590)
8552         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
8554 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
8556         MS-Windows followup for ASCIIfication of curved quotes
8557         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
8558         test for curved quotes being displayable, after switching the
8559         terminal encoding.  (Bug#20545)
8561 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
8563         Spelling fixes
8565 2015-05-17  Jan D  <jan.h.d@swipnet.se>
8567         Add comment that x_shift_glyphs_for_insert is never called.
8568         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
8569         comment that this function is never called.
8571 2015-05-16  Glenn Morris  <rgm@gnu.org>
8573         * src/lisp.mk: Remove from repository and generate at build-time.
8574         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
8575         (shortlisp_filter): New variable.
8576         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
8577         (distclean): Remove lisp.mk.
8578         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
8579         * lisp/loadup.el: Tweak layout to make it easier to parse.
8580         * make-dist: Do not distribute src/lisp.mk.
8582 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8584         Display shorter dates in Git annotate output
8585         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
8586         format (when not overridden with vc-git-annotate-switches).
8587         (vc-git-annotate-time): Support the short format, as well as ISO
8588         8601 that has been used until now (bug#5428).
8590 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
8592         ASCIIfy curved quotes on displays lacking them
8593         * lisp/international/mule-cmds.el (set-locale-environment):
8594         If curved quotes don't work, display straight ASCII approximations
8595         (Bug#20545).
8597 2015-05-16  Glenn Morris  <rgm@gnu.org>
8599         Small src/Makefile simplification.
8600         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
8601         * src/Makefile.in (lisp): Derive from shortlisp.
8602         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
8604 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
8606         * lisp/help-mode.el (help-go-forward): Doc fix.
8607         (Bug#20577)
8609         * doc/lispref/debugging.texi (Profiling): Improve indexing.
8610         (Bug#20576)
8612 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8614         Use `unless' to have one fewer `not'
8615         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
8616         have one fewer `not'.
8618         Remove redundant :group declarations from vc-git.el
8619         * lisp/vc/vc-git.el (vc-git-diff-switches)
8620         (vc-git-annotate-switches, vc-git-resolve-conflicts)
8621         (vc-git-program, vc-git-root-log-format): Remove the redundant
8622         :group declarations.
8624 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
8626         Removes the predicate from lisp-complete-symbol (Bug#20456)
8627         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
8628         and remove it from the docstring.
8630 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8632         Add new option vc-git-resolve-conflicts
8633         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
8634         (vc-git-find-file-hook): Add to after-save-hook only when the
8635         above is non-nil.
8636         (vc-git-resolve-when-done): Update to honor the new variable.
8637         (Bug#20292)
8639 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
8641         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
8642         (tabulated-list-init-header): Document new behavior.
8643         (tabulated-list-print-fake-header): No nothing if
8644         `tabulated-list--header-string' is nil.
8645         (tabulated-list--header-string): Add a docstring.
8646         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
8647         * etc/NEWS: Document it.
8649 2015-05-15  Leo Liu  <sdl.web@gmail.com>
8651         Revert "Fix cps--gensym"
8652         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
8653           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
8655 2015-05-15  Glenn Morris  <rgm@gnu.org>
8657         Replace AC_SUBST_FILE in configure with include in Makefiles.
8658         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
8659         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
8660         (AUTO_DEPEND): New output variable.
8661         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
8662         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8663         (lwlib_deps_frag): Replace by conditional include.
8664         * lwlib/autodeps.mk: Remove file.
8665         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
8666         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8667         (oldxmenu_deps_frag): Replace by conditional include.
8668         * oldXMenu/autodeps.mk: Remove file.
8669         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
8670         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8671         (lisp_frag): Replace by an include.
8672         (deps_frag): Replace by conditional include.
8673         * src/autodeps.mk: Remove file.
8675         Tweak japanese.el's loading of dependencies.
8676         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
8677         * lisp/language/japanese.el: Use require rather than load.
8678         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
8679         Provide a feature.
8680         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
8681         Provide a feature in the generated file.
8683 2015-05-15  Jan D  <jan.h.d@swipnet.se>
8685         Fix NS warnings.
8686         * nsmenu.m (ns_popup_dialog)
8687         * nsimage.m (initFromXBM:width:height:fg:bg:)
8688         * nsfns.m (Fx_create_frame): Remove unused variables.
8689         (Fns_read_file_name): Initialize fname, remove ret.
8690         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
8691         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
8692         variable.
8693         (init): Add parantesis in if.
8694         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
8696 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8698         Fix a enum conversion warning in macfont.m
8699         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
8700         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
8702 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
8704         Support de-alt dictionary with Aspell.
8705         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
8706         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
8708 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8710         cus-start.el: Add ns-confirm-quit.
8711         * cus-start.el: Add ns-confirm-quit.
8713         Fix warnings on OSX 10.10.
8714         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
8715         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
8716         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
8717         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
8718         * nsimage.m (allocInitFromFile, setPixmapData): Only call
8719         setScalesWhenResized for OSX < 10.6.
8720         * nsterm.h (EmacsScroller): Declare scrollerWidth.
8721         * nsterm.m (ns_copy_bits): New function that does not use deprecated
8722         NSCopyBits.
8723         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
8724         (runAlertPanel): New function.
8725         (applicationShouldTerminate:): Call runAlertPanel.
8726         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
8727         for OSX < 10.10.
8728         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
8729         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
8730         (draggingEntered:): Returns NSDragOperation.
8731         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
8733 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8735         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
8736         (package--init-file-ensured): New variable.
8737         (package-initialize, package--ensure-init-file): Use it.
8739 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8741         Honor :fore/background for XBM on NS (Bug#14969).
8742         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
8743         initFromXBM takes bg, fg args, remove flip arg.
8744         (ns_image_from_XBM): Add bg, fg args.
8745         * image.c (x_create_bitmap_from_data)
8746         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
8747         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
8748         Remove flip arg.
8749         (initFromSkipXBM): Move code to initFromXBM.
8750         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
8751         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
8752         false.
8753         Remove bit flipping (bitPat, swt), generated incorrect images when
8754         width/height wasn't a multiple of 8.
8755         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
8756         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
8757         flip arg.
8759 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8761         * lisp/emacs-lisp/package.el: Be more careful with the init file
8762         (package--ensure-init-file): Check that user-init-file is set,
8763         exists, is readable, and is writable.  (Bug#20584)
8764         Also expand the docstring.
8766 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
8768         Sync with upstream verilog-mode revision 6232468
8769         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
8770         (verilog-highlight-grouping-keywords): Fix use of face when
8771         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
8772         Pompa.
8773         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
8774         parent is reset, bug906. Reported by Ken Schmidt.
8775         (verilog-auto-inout-module): Add fourth regexp argument to
8776         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
8777         bug856. Reported by John Tillema.
8778         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
8779         modport if signal attachment is itself a modport.  Reported by
8780         Matthew Lovell.
8781         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
8782         always_comb and always_latch, bug844.  Reported by Greg Hilton.
8783         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
8784         with many curly-bracket pairs, bug663.
8785         (verilog-set-auto-endcomments): Fix end comments for functions of
8786         type void, etc.  Reported by Alex Reed.
8787         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
8788         caused by indent-line-to deleting tabls pre 24.5.
8789         (verilog-nameable-item-re): Fix nameable items that can have an
8790         end-identifier to include endchecker, endgroup, endprogram,
8791         endproperty, and endsequence.  Reported by Alex Reed.
8792         (verilog-label-be): When auto-commenting a buffer, consider
8793         auto-comments on all known keywords (not just a subset thereof).
8794         Reported by Alex Reed.
8795         (verilog-auto-end-comment-lines-re)
8796         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
8797         Automatically comment property/endproperty blocks to match other
8798         similar blocks like sequence/endsequence, function/endfunction,
8799         etc. Reported by Alex Reed.
8800         (verilog-set-auto-endcomments): Detect the function- or task-name
8801         when auto-commenting blocks that lack an explicit
8802         portlist. Reported by Alex Reed.
8803         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
8804         allow post-AUTO user fixups, bug826. Reported by Dennis
8805         Muhlestein.
8806         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
8807         is nil, fix indenting initial/final to match always statements,
8808         bug825. Reported by Tim Clapp.
8809         (verilog-extended-complete-re): Fix indentation of DPI-C imports
8810         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
8811         Mao and Jason Forkey.
8812         (verilog-read-decls): Fix parsing typed interfaces.  Fix
8813         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
8814         Fix localparam not being ignored in AUTOINSTPARAM,
8815         bug889. Reported by Shannon Hill.
8816         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
8817         bug793.  Reported by Pierre-David Pfister.
8818         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
8819         verilog-auto-arg-format to support newlines in AUTOARG. Reported
8820         by Jie Xiao.
8821         (verilog-batch-execute-func): Do not batch re-auto files loaded by
8822         Local Variables. Fix printing "no changes to be saved" with
8823         verilog-batch. Reported by Dan Dever.
8824         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
8825         interface-only modules, bug721.  Reported by Dean Hoyt.
8826         Author: Alex Reed <acreed4@gmail.com>
8827         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
8828         treat '<keyword>:<identifier>' as the start of a labeled
8829         statement, bug905.  Reported by Enzo Chi.
8830         (verilog-directive-re, verilog-compiler-directives)
8831         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
8832         directives (plus some extras) when determining indentation, bug
8833         901.  Reported by Bernd Beuster.
8834         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
8835         iff expression doesn't start with word-character, bug900.
8836         (verilog-optional-signed-range-re, verilog-optional-signed-re):
8837         Fix incorrect indentation/alignment of unsigned declarations,
8838         bug897.
8839         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
8840         always constructs, bug895.
8841         (verilog-calc-1): Fix verilog-mode constraint indentation,
8842         bug324. Reported by Eric Mastromarchi.
8843         (verilog-beg-of-statement): Fix indenting for some forms of
8844         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
8845         continued assignment incorrect if first line ends with ']',
8846         bug437. Reported by Dan Dever.  Fix indention of cover inside an
8847         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
8848         blocks, bug842.
8849         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
8850         bug859. Reported by Kaushal Modi.
8851         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
8852         (verilog-backward-token): Fix indenting sensitivity lists with
8853         named events, bug840.  Reed.
8854         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
8855         nil not honoring 'forever', 'foreach', and 'do' keywords.
8857 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
8859         Check for invalid GTK+ monitor scales
8860         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
8861         INT_MAX for too-large scales.  All callers changed to assume the
8862         result is valid (Bug#20432).
8863         (xg_frame_set_char_size, xg_update_scrollbar_pos):
8864         Calculate scale only if needed.
8865         show ASCII approximations instead.
8867 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
8869         Fix daemon crashes when linum-mode is turned on early on
8870         * src/window.c (Fwindow_end): Don't try calling display engine
8871         functions on initial-frame frame.  (Bug#20565)
8873         Fix selective diff browsing in Ediff
8874         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
8875         beginning of the region before searching for the
8876         ediff-regexp-focus-* regexps.  (Bug#20568)
8878 2015-05-14  Jan D  <jan.h.d@swipnet.se>
8880         Fixes Bug#20142.
8881         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
8882         in the main loop, even for Gtk 3 (Bug#20142).
8884         Don't access display after i/o error (Bug#19147).
8885         * xterm.c (x_connection_closed): Add third arg ioerror.
8886         If ioerror, set display to 0 (Bug#19147).
8887         (x_error_quitter): Call x_connection_closed with third arg false.
8888         (x_io_error_quitter): Call x_connection_closed with third arg true.
8890         Handle GTK_SCALE, fixes Bug#20432.
8891         * gtkutil.c (xg_get_gdk_scale): New function.
8892         (xg_frame_set_char_size)
8893         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
8894         (xg_get_default_scrollbar_height)
8895         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
8896         when setting sizes (Bug#20432).
8898 2015-05-13  Leo Liu  <sdl.web@gmail.com>
8900         Fix cps--gensym
8901         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
8903 2015-05-13  Glenn Morris  <rgm@gnu.org>
8905         Fix bootstrap (void function cl-member).
8906         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
8907         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
8909 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8911         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
8912         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
8913         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
8914         Avoid defalias for closures which are not immutable.
8915         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
8916         dispatchers table with various entries.
8917         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
8918         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
8920 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
8922         Improve tagging of C bindings in DEFVAR_*
8923         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
8924         from DEFVAR_*.
8926 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
8928         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
8930 2015-05-12  Glenn Morris  <rgm@gnu.org>
8932         * lisp/progmodes/tcl.el (tcl-filter):
8933         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
8935         Add basic VC push support.
8936         * lisp/vc/vc.el (vc-push): New autoloaded command.
8937         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
8938         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
8939         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
8940         (vc-bzr-push): New.
8941         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
8942         (vc-git-pull): Reimplement using vc-git--pushpull.
8943         (vc-git-push): New.
8944         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
8945         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
8946         * doc/emacs/maintaining.texi (Pulling / Pushing):
8947         Rename from "VC Pull".  Mention pushing.
8948         (VC With A Merging VCS, VC Change Log): Update xrefs.
8949         (Branches): Update menu.
8950         * doc/emacs/emacs.texi: Update menu.
8951         * etc/NEWS: Mention this.
8953 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
8955         Improve the seq pcase pattern and the `seq-let' macro
8956         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
8957         object is a sequence, and binds each element of ARGS to the
8958         corresponding element of the sequence.
8960 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
8962         Fix tags created from DEFVAR_* declarations in C
8963         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
8964         to make tags extracted from DEFVAR_* declarations more accurate.
8966         Add a test suite for etags
8967         * test/etags/: New test suite, adapted from
8968         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
8969         whose original author is Francesco Potortì <pot@gnu.org>.
8971         Fix tagging of symbols in C enumerations
8972         * lib-src/etags.c (consider_token): Don't tag symbols in
8973         expressions that assign values to enum constants.  See
8974         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
8975         for details.
8976         (C_entries): Reset fvdef to fvnone after processing a preprocessor
8977         conditional and after a comma outside of parentheses.
8979 2015-05-12  Glenn Morris  <rgm@gnu.org>
8981         * lisp/url/url-handlers.el (url-file-name-completion)
8982         (url-file-name-all-completions): Silence compiler.
8984         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
8986         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
8988 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
8990         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
8991         (cl--generic-mandatory-args): Remove.
8992         (cl--generic-split-args): New function.
8993         (cl-generic-define, cl--generic-lambda): Use it.
8994         (cl-generic-define-method): Use it as well, and add support for
8995         context args.
8996         (cl--generic-get-dispatcher): Handle &context dispatch.
8997         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
8998         (cl--generic-dispatchers): Pre-fill.
8999         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
9001 2015-05-11  Glenn Morris  <rgm@gnu.org>
9003         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
9005 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
9007         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
9008         * lisp/term/rxvt.el: Require term/xterm.
9009         (rxvt-function-map): Use xterm-rxvt-function-map.
9010         (rxvt-standard-colors): Move before first use.
9011         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
9012         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
9013         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
9014         Move shared bindings between rxvt and xterm to it.
9015         (xterm-function-map): Use it.  Move the xterm-paste binding to
9016         xterm-rxvt-function-map (bug#20444).
9017         (xterm-standard-colors): Move before first use.
9018         (xterm--push-map): New function.
9019         (xterm-register-default-colors): Take standard colors as argument.
9020         (terminal-init-xterm): Use it.  Adjust call to
9021         xterm-register-default-colors.
9023 2015-05-11  Glenn Morris  <rgm@gnu.org>
9025         * lisp/term/x-win.el: Quieten --without-x compilation.
9026         (x-own-selection-internal, x-disown-selection-internal)
9027         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
9028         Declare.
9030         * Makefile.in (emacslog): Remove srcdir.
9031         (ChangeLog): Update for the above.
9033 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
9035         Spelling fix
9037 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9039         python.el: better limit for looking-back calls
9040         * lisp/progmodes/python.el (python-shell-accept-process-output):
9041         Use last comint prompt start as limit for looking-back.
9043 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
9045         CEDET (srecode-insert-fcn): Fix use of oref on a class
9046         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
9047         a class.  Reported by Pierre Lorenzon.
9048         (srecode-template-inserter-point): Remove declaration.
9050         CEDET (srecode-create-dictionary): Avoid obsolete object name
9051         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
9052         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
9054 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9056         C-x 8 shorthands for curved quotes, Euro, etc.
9057         Although C-x 8 lets you insert arbitrary Unicode characters,
9058         it's awkward to use this to insert commonly used symbols such as curved
9059         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
9060         characters commonly found in English text and in basic math.
9061         For example, assuming the Alt key works on your keyboard and iso-transl
9062         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
9063         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
9064         (Bug#20499)
9065         * doc/emacs/mule.texi (Unibyte Mode):
9066         A few other printing characters now work too.
9067         * etc/NEWS: Document this.
9068         * lisp/international/iso-transl.el (iso-transl-char-map):
9069         Also support the following characters:
9070         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
9072 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
9074         Add xref-find-regexp
9075         * lisp/progmodes/xref.el (xref-find-function): Describe the
9076         `matches' action.
9077         (xref-find-regexp): New command, using it.
9078         (xref-collect-references): Rename to xref-collect-matches.
9079         (xref--collect-reference): Rename to xref--collect-match.
9080         (xref-collect-matches, xref--collect-match): Accept new argument,
9081         KIND.  Update accordingly.
9082         (xref--regexp-to-extended): New function.
9083         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
9084         `matches' action.
9085         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
9086         * lisp/progmodes/etags.el (etags-xref-find):
9087         Support the `matches' action.
9088         (etags--xref-find-matches): New function.
9090 2015-05-10  Glenn Morris  <rgm@gnu.org>
9092         * Makefile.in: Fixes for recent change-history changes.
9093         (change-history-nocommit): Update footer regexp.
9094         Ensure output script stays executable.
9096 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
9098         New version of `seq-let' based on a pcase pattern
9099         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
9100         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
9102 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
9104         Add basic HTML5 tags and a template
9105         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
9106         (html-tag-alist): Add HTML5 tags.
9107         (html-tag-help): Add new tags descriptions.
9108         (html-navigational-links): Template for nav links.
9109         (html-html5-template): Template for a HTML5 page.
9111 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
9113         semantic/symref/grep: Don't use word boundaries
9114         * lisp/cedet/semantic/symref/grep.el
9115         (semantic-symref-perform-search): Instead of wrapping input in
9116         word boundaries, check that the characters before and after are
9117         not word constituents.
9119         semantic/symref/grep: Support regexp search
9120         * lisp/cedet/semantic/symref.el
9121         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
9122         the search type is regexp.
9123         * lisp/cedet/semantic/symref/grep.el
9124         (semantic-symref-perform-search): Support the regexp search type.
9125         Pass -E to Grep when it's used.
9127         semantic-symref-regexp: Allow to input an arbitrary string
9128         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
9129         Allow to input an arbitrary string interactively.
9131         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
9132         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
9133         Remove tag-symbol-match-p from the default value
9134         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
9136         Declare find-tag obsolete
9137         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
9138         xref-find-definitions.
9140 2015-05-10  Jan D  <jan.h.d@swipnet.se>
9142         Draw composite string correctly (Bug#20537).
9143         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
9144         (ns_draw_glyph_string): Call it (Bug#20537).
9146 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
9148         Avoid infloop in ERC
9149         * lisp/simple.el (line-move-to-column): Ignore field boundaries
9150         while computing line beginning position.  (Bug#20498)
9152 2015-05-08  Glenn Morris  <rgm@gnu.org>
9154         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
9155         * build-aux/gitlog-to-emacslog: Check called from right directory.
9156         (srcprefix): Remove.
9158         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
9159         * Makefile.in (ChangeLog): No longer pass "distprefix".
9160         * make-dist: Update "make ChangeLog" syntax for the above change.
9162         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
9163         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
9165         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
9167         Add command-line option-parsing to gitlog-to-emacslog.
9168         * build-aux/gitlog-to-emacslog: Add command-line options.
9169         By default, refuse to remove an existing output file.
9170         * Makefile.in (CHANGELOG): Update default.
9171         (ChangeLog): Do not test for existing file.
9172         (change-history-nocommit): Ensure temp file does not exist.
9174         Quieten --without-x compilation.
9175         * lisp/term/common-win.el: Provide a feature.
9176         * lisp/term/x-win.el (term/common-win): Require it.
9178         * lisp/dired-aux.el (dired-do-print): Require lpr.
9180         Quieten compilation, eg in --without-x builds.
9181         * lisp/dired-aux.el (lpr-printer-switch):
9182         * lisp/frame.el (tool-bar-height):
9183         * lisp/linum.el (font-info):
9184         * lisp/window.el (font-info, overflow-newline-into-fringe)
9185         (tool-bar-height):
9186         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
9187         * lisp/gnus/gnus-util.el (iswitchb-mode):
9188         * lisp/mail/rmailmm.el (libxml-parse-html-region):
9189         * lisp/net/nsm.el (gnutls-peer-status)
9190         (gnutls-peer-status-warning-describe):
9191         * lisp/net/shr.el (libxml-parse-xml-region):
9192         * lisp/url/url-http.el (gnutls-peer-status): Declare.
9194 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
9196         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
9197         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
9198         `subclass' since they're never called with a class.
9199         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
9200         srecode-dictionary-child-p.
9202 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
9204         help--binding-locus: Document argument POSITION.
9205         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
9207 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
9209         Merge from gnulib.
9210         * doc/misc/texinfo.tex: Get latest version.
9212 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
9214         ffap.el (ffap-read-file-or-url): Fix completing-read call
9215         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
9216           `completing-read' should be a symbol.
9218 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
9220         Verify file modifications by other programs
9221         * src/filelock.c (lock_file): Check whether the file was modified
9222         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
9224         Fix keyboard macros that include function keys
9225         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
9226         keys in the macro before returning.  (Bug#20454)
9228 2015-05-08  Glenn Morris  <rgm@gnu.org>
9230         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
9231         "Copyright-paperwork-exempt".  (Bug#20324)
9233         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
9234         (log-edit-rewrite-tiny-change): New variable.
9235         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
9236         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
9237         * etc/NEWS: Mention this.
9239         * lisp/calc/calc.el (math-zerop): Declare.
9241         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
9243 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
9245         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
9246         Support the case when BINDINGS is a single tuple.  (Bug#20525)
9248         * etc/NEWS: Fix typo in commit 14bb519
9250 2015-05-07  Jan D  <jan.h.d@swipnet.se>
9252         Warn for multiple display crash for all Gtk+ versions.
9253         * configure.ac: Warn for multiple display crash for all Gtk+
9254         versions.  Output URL to Gtk+ bug (Bug#20452).
9256         ns-win.el (ns-paste-secondary): Use gui-get-selection.
9257         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
9259 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
9261         * lisp/emacs-lisp/package.el: New "external" package status
9262         An external package is any installed package that's not built-in
9263         and not from `package-user-dir', which usually means it's from an
9264         entry in `package-directory-list'.  They are treated much like
9265         built-in packages, in that they cannot be through the Package Menu
9266         deleted and are not considered for upgrades.
9267         (package-desc-status): Identify if a package is installed outside
9268         `package-user-dir'.
9269         (package-menu--print-info-simple)
9270         (package-menu--status-predicate): Add support for it.
9271         * etc/NEWS: Document it.
9273 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9275         * lisp/mail/rmail.el: Use lexical-binding
9276         (rmail-bury): Remove unused var `buffer-to-bury'.
9277         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
9278         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
9279         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
9280         (rmail-insert-inbox-text): Remove unused var `movemail'.
9281         (rmail-add-mbox-headers): Remove unused var `limit'.
9282         (rmail-undelete-previous-message): Remove unused var `value'.
9283         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
9284         `resent-reply-to'.
9285         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
9286         (rmail-restore-desktop-buffer): Rename arguments.
9288 2015-05-06  Glenn Morris  <rgm@gnu.org>
9290         * Makefile.in (change-history-commit): Add missing piece of previous.
9292         Avoid unnecessary bumping of Makefile.in's timestamp.
9293         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
9294         (emacslog): New variable.
9295         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
9296         (unchanged-history-files): Use $emacslog rather than Makefile.in.
9297         (change-history-nocommit): Store hash in $emacslog.
9298         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
9299         * admin/update_autogen (changelog_files): Update for the above.
9301         * Makefile.in: Don't always insist on removing existing "ChangeLog".
9302         (CHANGELOG): New variable.
9303         (no-ChangeLog): Remove.
9304         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
9305         (change-history-nocommit): Use a temp file rather than insisting
9306         on deletion of any existing "ChangeLog".
9308         * build-aux/gitlog-to-emacslog: Allow specification of output.
9310         * admin/update_autogen: Add option to update ChangeLog.
9311         (usage): Mention -H.
9312         (changelog_flag, changelog_n, changelog_files): New variables.
9313         (main): Check for -H, and maybe run change-history-nocommit.
9315 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9317         * lisp/subr.el (delete-dups): Pre-size the hashtable.
9319         (define-modify-macro): Make sure cl--arglist-args is defined
9320         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
9321         cl--arglist-args is defined (bug#20517).
9323 2015-05-06  Glenn Morris  <rgm@gnu.org>
9325         * Makefile.in (change-history-nocommit): New.
9327 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
9329         Only cancel timer when it is non-nil
9330         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
9331         timer when it is non-nil
9332         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
9334 2015-05-06  Glenn Morris  <rgm@gnu.org>
9336         Quieten cedet compilation
9337         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
9338         Invert fboundp test to quieten on current Emacs.
9339         * lisp/cedet/ede/config.el (ede-shell-run-something)
9340         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
9341         (semanticdb-refresh-table): Declare.
9342         (ede-preprocessor-map): Require semantic/db.
9344         Quieten cc-mode compilation
9345         * lisp/progmodes/cc-awk.el (c-forward-sws):
9346         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
9347         Declare.
9349 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
9351         lisp/subr.el (delete-dups): Avoid nreverse.
9353 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
9355         * lisp/subr.el (delete-dups): Make it destructive again.
9357 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
9359         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
9361 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9363         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
9364         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
9365         (testcover--read): Rename from testcover-read.  Change calling convention.
9366         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
9367         (testcover-start): Use add-function.  Move edebug-all-defs binding to
9368         testcover--read.
9369         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
9370         (testcover-mark): Remove unused var `item'.
9371         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
9373 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
9375         lisp/subr.el (delete-dups): Use a hash table
9376         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
9377           use a hash table. This can result in ~500 times speed-up for typical
9378           collections of size 5000, like that of `load-library'.
9380 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
9382         CEDET: Avoid `oref' on classes in a few more cases
9383         * lisp/cedet/ede/generic.el (ede-find-target):
9384         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
9385         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
9386         var `prefix'.
9388         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
9389         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
9390         (semantic-symref-perform-search): Remove unused var `pat'.
9392         CEDET (srecode-compile-inserter): Avoid `oref' on classes
9393         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
9394         Avoid `oref' on classes (bug#20491).
9395         (srecode-compile-split-code): Remove unused var `key'.
9397 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
9399         Clean up pulse.el a little
9400         * lisp/cedet/pulse.el (pulse): Remove.
9401         (pulse-momentary-timer): Save instead of the stop time.
9402         (pulse-momentary-highlight-overlay): Call
9403         pulse-momentary-unhighlight first thing. Treat
9404         pulse-momentary-overlay as a single value, not a list. Save the
9405         created timer. Only pass the stop time to the timer.
9406         (pulse-tick): Update accordingly.
9407         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
9408         single value. Cancel the timer.
9410 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
9412         Support the biblatex journaltitle field
9413         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
9414         Support the biblatex journaltitle field.
9416 2015-05-05  Glenn Morris  <rgm@gnu.org>
9418         Minor declare-function improvement
9419         * lisp/emacs-lisp/bytecomp.el
9420         (byte-compile-macroexpand-declare-function):
9421         Handle declarations after calls.  (Bug#20509)
9423         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
9425         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
9427 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
9429         Pulse using a timer
9430         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
9431         (pulse-momentary-highlight-overlay): Set up the timer instead of
9432         calling `pulse'
9433         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
9434         (pulse-tick): New function.
9435         (pulse-momentary-unhighlight): Cut off the stop time.
9436         (pulse-delay): Update the docstring WRT to not using sit-for.
9438         Add semantic/symref/grep file patterns for ruby-mode
9439         * lisp/cedet/semantic/symref/grep.el
9440         (semantic-symref-filepattern-alist): Add patterns for
9441         ruby-mode. Clarify the docstring.
9443         Don't require match
9444         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
9445         match. That doesn't work for every command, and some identifier
9446         completion tables are bound to be imperfect anyway.
9448 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
9450         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
9451         (semantic-grammar--template-expand): New function.
9452         (semantic-grammar-header, semantic-grammar-footer): Use it.
9453         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
9454         (semantic-grammar-file-regexp): Refine regexp.
9455         (semantic-grammar-eldoc-get-macro-docstring):
9456         Use elisp-get-fnsym-args-string when available.
9457         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
9458         instead of the old eldoc-* names.
9459         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
9460         from elisp-mode.el.  Tweak calling convention.
9461         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
9462         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
9463         elisp--get-fnsym-args-string.
9464         (elisp--highlight-function-argument): Add `prefix' arg.
9465         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
9466         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
9468 2015-05-05  Glenn Morris  <rgm@gnu.org>
9470         * lisp/help-fns.el (describe-function-1):
9471         Handle builtins with advertised calling conventions.  (Bug#20479)
9473 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
9475         Merge branch 'seq-let'
9477         Update `seq-let' documentation
9478         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
9479         with the support of  `&rest'.
9481         Add support for &rest in `seq-let'
9482         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
9483         in the argument list.
9484         * test/automated/seq-tests.el: Add a test for parsing and binding
9485         `&rest' in `seq-let'.
9487 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
9489         Spelling fixes
9491 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
9493         * eieio-custom.el (eieio-object-value-get): Add missing increment
9494         (Bug#20467)
9496         (eieio-object-value-create): Adjust to new slots representation
9497         (Bug#20467)
9498         * eieio-custom.el (eieio-object-value-create):
9499         Fix missed adjustment to new representation of slots metadata.
9501 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
9503         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
9505 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
9507         Work around "Attempt to modify read-only object"
9508         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
9509         elisp--xref-find-definitions, to work around "Attempt to modify
9510         read-only object" error.
9512         Only skip some variables that have function counterparts
9513         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
9514         Only skip minor-mode-named variable if it's defined in a Lisp
9515         file, and it's in minor-mode-list (bug#20506).
9516         * test/automated/elisp-mode-tests.el
9517         (elisp-xref-finds-both-function-and-variable)
9518         (elisp-xref-finds-only-function-for-minor-mode): New tests.
9520 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9522         Buttonize the whole line, including the number at the beginning
9523         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
9524         previous change.
9525         (xref--insert-xrefs): Buttonize the whole line, including the
9526         number at the beginning.
9528         Make sure we're inside the let bindings
9529         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9530         Make sure we're inside the let bindings.
9531         * test/automated/elisp-mode-tests.el
9532         (elisp-completes-functions-after-let-bindings): New test.
9534 2015-05-04  Glenn Morris  <rgm@gnu.org>
9536         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
9537         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
9538         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
9539         Remove outdated declarations.
9541         Replace instances of "(eval-when-compile (autoload ...))"
9542         * lisp/gnus/gnus-art.el (nneething-get-file-name):
9543         Declare rather than autoload.
9544         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
9545         Remove pointless autoload.
9546         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
9547         (gnus-topic-create-topic, gnus-topic-enter-dribble):
9548         Declare rather than autoload.
9549         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
9550         (mailcap-extension-to-mime): Autoload at run-time.
9551         * lisp/gnus/mm-util.el (latin-unity-massage-name)
9552         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
9553         (latin-unity-representations-present-region):
9554         Declare rather than autoload.
9555         * lisp/gnus/mml-smime.el (epg-make-context)
9556         (epg-passphrase-callback-function): Autoload at run-time.
9557         (epg-context-set-signers, epg-context-result-for)
9558         (epg-new-signature-digest-algorithm)
9559         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
9560         (epg-sign-string, epg-encrypt-string)
9561         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
9562         (epg-configuration, epg-expand-group, epa-select-keys):
9563         Declare rather than autoload.
9564         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
9565         Autoload at run-time.
9566         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
9567         (gnus-registry-get-id-key, gnus-registry-action):
9568         Declare rather than autoload.
9569         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
9570         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
9571         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
9572         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
9573         (spam-stat-split-fancy): Remove pointless autoloads.
9574         * lisp/net/mairix.el: Load gnus-util when compiling.
9575         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
9576         (message-field-value): Declare rather than autoload.
9577         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
9578         Check gnus-alive-p is fbound.
9579         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
9580         (vm-check-for-killed-summary, vm-error-if-folder-empty)
9581         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
9582         Declare rather than autoload.
9584         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
9586         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
9587         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
9589         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
9591         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
9593         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
9594         * lisp/emacs-lisp/package.el (epg-signature-status):
9595         Fix declarations.
9597         * lisp/play/gametree.el (gametree-show-children-and-entry)
9598         (gametree-apply-layout, gametree-mouse-show-subtree)
9599         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
9601         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
9602         Handle cl-defgeneric, cl-defmethod.
9604 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9606         Highlight both type and symbol name
9607         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
9608         Highlight both type and symbol name.
9610         Insert, highlight and align line numbers in xref output
9611         * lisp/progmodes/etags.el (xref-location-line): Specialize for
9612         xref-etags-location.
9613         * lisp/progmodes/xref.el (xref-location-line): New generic method.
9614         (xref-file-location): Add reader for the line slot.
9615         (xref--location-at-point): Skip to the `xref-location' property.
9616         (xref--collect-reference): Drop the line number from description.
9617         (xref--insert-xrefs): Insert, highlight and align line numbers.
9619 2015-05-04  Daniel Colascione  <dancol@dancol.org>
9621         Fix previous commit
9623 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9625         Don't pulse the indentation, or the newline
9626         * lisp/cedet/pulse.el (pulse-lighten-highlight)
9627         (pulse-reset-face): Fall back to the inherited background
9628         attribute in FACE.
9629         (pulse-momentary-highlight-region): Add autoload cookie.
9630         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
9631         indentation, or the newline, if the line's non-empty
9632         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
9634 2015-05-04  Daniel Colascione  <dancol@dancol.org>
9636         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
9637         * doc/lispref/positions.texi (Excursions): Document
9638         `save-mark-and-excursion'.
9639         * lisp/font-lock.el (font-lock-fontify-block): Use
9640         `save-mark-and-excursion' instead of `save-excursion', restoring
9641         Emacs 24 behavior.
9642         * lisp/simple.el (save-mark-and-excursion--save)
9643         (save-mark-and-excursion--restore): New functions.
9644         (save-mark-and-excursion): New user macro.
9645         * src/editfns.c (Fsave_excursion): Mention
9646         `save-mark-and-excursion' in `save-excursion' documentation.
9648 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9650         Classify lone symbol inside let varlist as variable
9651         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9652         Classify lone symbol inside let varlist as variable.
9653         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
9654         New test.
9656         Add xref-pulse-on-jump
9657         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
9658         Add autoload cookie.
9659         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
9660         (xref--maybe-pulse): New function.
9661         (xref-pop-marker-stack, xref--pop-to-location)
9662         (xref--display-position): Use it.
9663         (xref--location-at-point): Use back-to-indentation.
9665 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
9667         * lisp/org/org-{macs,list}.el: Fix lexical warnings
9668         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
9669         (org-list-get-next-item, org-list-get-prev-item)
9670         (org-list-get-children): Mark unused arg `struct'.
9671         (org-list-use-alpha-bul-p): Remove unused var `bul'.
9672         (org-toggle-checkbox): Mark unused var.
9673         (org-update-checkbox-count): Remove unused var `box-num'.
9674         (org-adapt-indentation): Declare.
9675         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
9676         (org-list-send-list): Remove unused var `txt'.
9677         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
9678         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
9679         * lisp/org/org-macs.el: Use `declare'.
9680         (org-with-limited-levels): Declare dyn-bound vars.
9682 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
9684         Fix minor issues with CEDET on MS-Windows
9685         * lisp/cedet/semantic/symref/idutils.el
9686         (semantic-symref-parse-tool-output-one-line): Fix the search
9687         regexp to match MS-Windows file names with drive letters.
9688         (Bug#19468)
9689         * lisp/cedet/semantic/symref/grep.el
9690         (semantic-symref-grep-use-template): Remove "--color=always" from
9691         Grep switches on MS-Windows.
9692         (semantic-symref-grep-shell): Use shell-file-name as the default
9693         value, so this works not only on Posix platforms.
9694         (semantic-symref-perform-search): Use shell-quote-argument instead
9695         of literal '..' for portable quoting of Grep command-line
9696         argument.  Use shell-command-switch instead of a literal "-c".
9697         * lisp/cedet/semantic/bovine/gcc.el
9698         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
9699         for an absolute file name in a portable way.
9701 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
9703         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
9704         (package-import-keyring, package-refresh-contents)
9705         (package-compute-transaction, package--save-selected-packages)
9706         (package-install-from-archive, package-delete)
9707         (package-menu--perform-transaction): Use `inhibit-message'
9708         instead.
9709         (package--compile): Set `warning-minimum-level' to :error.
9711 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
9713         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
9714         (terminal-init-screen): Use it (bug#20356).
9715         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
9716         (xterm--extra-capabilities-type): New const.
9717         (xterm-extra-capabilities): Use it.
9718         (xterm--version-handler): Lower the pseudo-version for `screen'.
9720 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
9722         xref--insert-xrefs: Tweak the faces
9723         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
9724         Always insert a newline at the end (to avoid mouse-face background
9725         tail at the last line).
9727         elisp-completion-at-point: Prioritize being quoted over funpos
9728         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9729         Only consider function position when not inside quoted form
9730         (bug#20425).
9731         * test/automated/elisp-mode-tests.el: New file.
9733         Stop vc-print-log from jumping to the top
9734         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
9735         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
9736         is not specified.
9737         (vc-incoming-outgoing-internal): Always pass nil.
9738         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
9739         call it, and don't set vc-sentinel-movepoint (bug#15322).
9740         (vc-print-root-log): Don't fetch the root working revision, nor
9741         pass it to vc-print-log-internal.
9743 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
9745         Fix display of keyboard layouts for right-to-left scripts
9746         * lisp/international/quail.el (quail-insert-kbd-layout): Force
9747         left-to-right paragraph direction.
9749 2015-05-02  K. Handa  <handa@gnu.org>
9751         * cmds.c (internal_self_insert): When we insert spaces for
9752         padding, set point before the padding spaces, not after them.
9754 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
9756         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
9758 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
9760         Fix etags-xref-find for references
9761         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
9762         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
9763         directory if no tags tables are loaded (bug#19468).
9765 2015-05-02  Philipp Stephani  <phst@google.com>
9767         Update the options in whitespace-style defcustom
9768         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
9769         `repeat' because the option is really set-like.  Add missing
9770         options.  Reorder options to match the order in the
9771         documentation.  (Bug#20346)
9773 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
9775         Fix error diagnostics of c-macro-expand
9776         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
9777         too early if no start-marker string was found -- that generally
9778         means cpp exited abnormally, and we still want to show its error
9779         messages to the user.
9781         Don't require Texinfo 5.0 for Emacs documentation
9782         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
9783         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
9784         "@codequoteundirected on", respectively, to avoid requiring
9785         Texinfo 5.x for Emacs documentation.
9787 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
9789         * lisp/files.el (pwd):
9790         When called with a prefix argument, insert the current default
9791         directory at point.
9793 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9795         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
9796         * lisp/isearch.el (isearch-mode-map): Don't inhibit
9797         function-key-map remapping for backspace (bug#20466).
9799 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
9801         Implement xref-find-references in etags and elisp-mode
9802         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
9803         (elisp-xref-find): Use it.
9804         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
9805         * lisp/progmodes/xref.el (xref-collect-references):
9806         (xref--collect-reference): New functions.
9808 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
9810         Prefer plain characters to Texinfo circumlocutions
9811         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
9812         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
9814         Fix single-quoting style in PDF manuals
9815         The PDF versions of the GNU manuals used curved single quotes to
9816         represent grave accent and apostrophe, which made it a pain to cut
9817         and paste code examples from them.  Fix the PDF versions to use
9818         grave accent and apostrophe for Lisp source code, keystrokes, etc.
9819         This change does not affect the info files, nor does it affect
9820         ordinary uses of curved single quotes in PDF.
9821         * doc/emacs/docstyle.texi: New file, which specifies treatment for
9822         grave accent and apostrophe, as well as the document encoding.
9823         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
9824         * doc/lispintro/emacs-lisp-intro.texi:
9825         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
9826         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
9827         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
9828         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
9829         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
9830         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
9831         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
9832         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
9833         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
9834         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
9835         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
9836         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
9837         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
9838         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
9839         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
9840         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
9841         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
9842         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
9843         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
9844         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
9845         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
9846         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
9847         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
9848         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
9849         * doc/misc/woman.texi:
9850         Use it instead of '@documentencoding UTF-8', to lessen the need for
9851         global changes like this in the future.
9852         * doc/emacs/Makefile.in (EMACS_XTRA):
9853         * doc/lispintro/Makefile.in (srcs):
9854         * doc/lispref/Makefile.in (srcs):
9855         Add dependency on docstyle.texi.
9856         * doc/misc/Makefile.in (style): New macro.
9857         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
9858         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
9859         Use it.
9861 2015-05-01  Glenn Morris  <rgm@gnu.org>
9863         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
9865         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
9866         (help-fns--signature): Declare.
9868         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
9870 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
9872         New macro seq-let, providing destructuring support to seq.el
9873         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
9874         to `cl-destructuring-bind' but works on all sequence types supported
9875         by `seq.el'.  Bump version number to 1.6.
9876         * test/automated/seq-tests.el: Add tests for seq-let.
9877         * doc/lispref/sequences.texi: Add documentation for seq-let.
9879 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
9881         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
9883 2015-05-01  Glenn Morris  <rgm@gnu.org>
9885         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
9887 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
9889         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
9890         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
9891         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
9892         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
9893         (Bug#20445).
9895 2015-05-01  K. Handa  <handa@gnu.org>
9897         * mule-cmds.el (input-method-use-echo-area): Change :type to
9898         'boolean.
9900 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
9902         Start using proportional fonts in eww by default
9903         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
9904         it seems to work well.
9906         Fix links in tables in shr
9907         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
9908         makes (some) links in tables not work.
9910 2015-05-01  Jan D  <jan.h.d@swipnet.se>
9912         (ns-get-cut-buffer-internal): Remove this alias.
9913         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
9915 2015-04-30  Glenn Morris  <rgm@gnu.org>
9917         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
9918         Update for 2015-02-08 change to indirect-function.
9920         * lisp/term/ns-win.el (ns-get-selection-internal):
9921         Remove declaration for function deleted 2014-10-21.
9923         * lisp/dom.el: Load subr-x when compiling, for when-let.
9925         Silence some compilation warnings
9926         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
9927         * lisp/emulation/cua-base.el (delete-active-region):
9928         * lisp/net/net-utils.el (w32-get-console-output-codepage):
9929         * lisp/term/ns-win.el (ns-own-selection-internal)
9930         (ns-disown-selection-internal, ns-selection-owner-p)
9931         (ns-selection-exists-p, ns-get-selection):
9932         Declare for compiler..
9934         Function declaration updates prompted by 'make check-declare'
9935         * lisp/emacs-lisp/package.el (lm-homepage):
9936         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
9937         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
9938         * lisp/gnus/mml.el (libxml-parse-html-region):
9939         * lisp/gnus/nnrss.el (libxml-parse-html-region):
9940         * lisp/net/eww.el (libxml-parse-html-region):
9941         * lisp/net/shr.el (libxml-parse-html-region):
9942         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
9943         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
9944         * lisp/vc/vc-git.el (vc-annotate-convert-time):
9945         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
9946         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
9947         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
9948         Update declaration.
9950         Remove compatibility code for 20-year old function renaming
9951         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
9952         Make it an obsolete alias.
9953         (idlwave-shell-filter): Change all uses to comint-output-filter.
9955 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
9957         Add ace-window face config
9958         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
9959         configuration.
9961 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
9963         Unclutter 'make doc' output a bit
9964         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
9965         Use make subst rather than sh IFS to split target string apart.
9966         This makes 'make' output easier to follow.
9968         Merge from gnulib
9969         * doc/misc/texinfo.tex: Update from gnulib.
9971 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9973         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
9974         (package-menu--print-info): Obsolete.
9975         (package-menu--print-info-simple): New function.
9976         (package-menu--refresh): Use it, simplify code, and improve
9977         performance.
9978         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
9979         Tiny performance improvement.
9981         * lisp/emacs-lisp/package.el (package--message): inhibit-message
9983 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
9985         Omit -Wstrict-overflow workaround in GCC 5
9986         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
9987         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
9989         Merge from gnulib
9990         This incorporates:
9991         2015-04-29 extern-inline: no need for workaround in GCC 5.1
9992         2015-04-26 file-has-acl: port to CentOS 6
9993         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
9995 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
9997         Set next-error-* in xref--xref-buffer-mode
9998         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
9999         `next-error-last-buffer'.
10000         (xref--next-error-function): New function.
10001         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
10003 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
10005         python.el: Fix warnings on looking-back calls missing LIMIT
10006         * lisp/progmodes/python.el (python-shell-accept-process-output):
10007         Pass LIMIT arg to looking-back.
10009 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
10011         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
10012         (package--download-and-read-archives): Use pushnew instead of
10013         append.  If something terrible happened during a previous
10014         download, simply refreshing should now make things work again.
10016 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
10018         Introduce etags-xref-find-definitions-tag-order
10019         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
10020         New variable.
10021         (etags--xref-find-definitions): Use it (bug#19468).
10023 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
10025         PATH- and completion-related fixes in Eshell on MS-Windows
10026         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
10027         MS-Windows, prepend "." to list of directories produced from PATH,
10028         as Windows always implicitly searches the current directory first.
10029         (eshell-force-execution): Make it have a non-nil default value on
10030         MS-Windows and MS-DOS.
10031         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
10032         eshell-force-execution is non-nil, complete on readable files and
10033         directories, not only executables.  When running on MS-Windows,
10034         prepend "." to list of directories produced from PATH, as Windows
10035         always implicitly searches the current directory first.
10037 2015-04-29  Sam Steingold  <sds@gnu.org>
10039         bury RCIRC buffers when there is no activity
10040         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
10041         (rcirc-bury-buffers): new function
10042         (rcirc-next-active-buffer): when there is no new activity, use
10043         `rcirc-bury-buffers' to hide all RCIRC buffers
10045 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
10047         Fix DBUS query result parsing for secrets-search-items
10048         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
10049         parsing.  The function assumed that return value of the
10050         SearchItems method called on a collection is a list of two lists,
10051         however this is true only when no collection is specified.  GNOME
10052         had used to incorrectly return a list of two lists in both cases,
10053         but this was already fixed:
10054         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
10055         incorrect information in the secrets-search-items’ docstring.
10056         (Bug#20449)
10058 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
10060         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
10061         (byte-compile--message): Use `inhibit-message' instead of hiding
10062         the previous message with (message nil).
10064 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
10066         Remove the deprecated INTERNAL_FIELD macro by expanding it
10067         * src/lisp.h (INTERNAL_FIELD): Remove.
10068         (DEFVAR_KBOARD): Modify accordingly.
10069         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
10070         * syntax.c: Adjust users.
10071         * src/buffer.c (compact_buffer): Use BVAR.
10073 2015-04-29  Glenn Morris  <rgm@gnu.org>
10075         Replace an obsolete function alias
10076         * lisp/isearch.el (isearch-yank-x-selection):
10077         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
10078         (mouse-drag-secondary-moving):
10079         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
10080         Replace obsolete alias x-get-selection with gui-get-selection.
10082 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
10084         * lisp/mail/rmailsum.el: Use lexical-binding.
10086 2015-04-29  Glenn Morris  <rgm@gnu.org>
10088         * test/automated/package-test.el (package-test-update-archives-async):
10089         Skip test on hydra.nixos.org.
10091 2015-04-28  Glenn Morris  <rgm@gnu.org>
10093         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
10094         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
10095         (foldout-mouse-hide-or-exit): Use new names for outline functions.
10097         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
10098         Update for 2014-06-26 hideif.el change.
10100         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
10101         (rmail--decode-and-apply): New function.
10102         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
10104         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
10106 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10108         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
10109         (package-menu--refresh): Delegate obsolete-hiding to
10110         `package--remove-hidden'.
10111         (package--remove-hidden): Disregard high-priority package if it is
10112         older than the installed one.
10114 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
10116         Update source file encoding list
10117         Update admin/notes/unicode, along with coding system cookies in
10118         other files, so that the two match each other better.
10119         * admin/notes/unicode: lisp/language/ethio-util.el and
10120         lisp/language/ethiopic.el also use utf-8-emacs.
10121         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
10122         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
10123         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
10124         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
10125         * etc/refcards/sk-survival.tex:
10126         Add "coding: utf-8" so that this file is not mishandled in a
10127         Latin-1 or Big-5 locale.
10128         * lisp/international/robin.el, lisp/org/ox-ascii.el:
10129         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
10130         * lisp/language/ethio-util.el: Fix trailer.
10132 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
10134         Fix synchronous invocation of Ispell
10135         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
10136         value to ispell-process-directory before calling ispell-init-process.
10137         Don't call set-process-coding-system if ispell-async-processp is nil.
10138         (Bug#20448)
10140 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10142         * lisp/emacs-lisp/package.el: Skip space and comments in init file
10143         (package--ensure-init-file): Insert snippet at first
10144         non-whitespace non-comments line.  Respects local-vars at the top
10145         of the file.
10147 2015-04-28  Glenn Morris  <rgm@gnu.org>
10149         * lisp/mail/rmail.el (rmail-copy-headers):
10150         Handle rmail-nonignored-headers being nil.  (Bug#18878)
10152         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
10154         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
10155         Don't get confused by a bzrlib version mismatch warning.
10157 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10159         Change default location of EUDC options file
10160         * NEWS: Document change to EUDC options file's default location.
10161         * lisp/net/eudc-vars.el (eudc-options-file): Use
10162         `locate-user-emacs-file' to change default options file location.
10164 2015-04-27  Glenn Morris  <rgm@gnu.org>
10166         * test/automated/package-test.el (package-test-update-archives-async):
10167         Try to handle the test server script dying.
10169 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10171         * lisp/saveplace.el (save-place-mode): New minor mode.
10172         (save-place): Redefine as an obsolete alias.
10174         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
10175         * lisp/midnight.el: Use lexical-binding.
10176         (midnight-mode): Make it a proper minor mode.
10177         (midnight-buffer-display-time): Make arg non-optional.
10178         (midnight-find): Remove.
10179         (clean-buffer-list-kill-never-regexps)
10180         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
10181         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
10182         contain functions.
10183         (clean-buffer-list): Use cl-find.
10184         Allow clean-buffer-list-kill-never-regexps to contain functions.
10186 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
10188         Bump version of seq.el to 1.5
10189         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
10190           from seq-doseq.  Bump version number of seq.el.
10192 2015-04-27  Glenn Morris  <rgm@gnu.org>
10194         * lisp/mail/rmail.el (rmail-reply):
10195         Decode subject before matching "Re:" prefix.  (Bug#20396)
10197 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
10199         * lisp/emacs-lisp/package.el: Small improvements
10200         (package--with-work-buffer-async): More informative error.
10201         (package-install-user-selected-packages): Rename to
10202         `package-install-selected-packages'.
10204 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10206         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
10207         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
10208         (eieio--class-make): Remove leftover `tag'.
10210 2015-04-27  Glenn Morris  <rgm@gnu.org>
10212         * lisp/gnus/message.el (gnus-extract-address-components):
10213         Remove bogus declaration that was masking previous problem.
10215 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
10217         * lisp/gnus/message.el (message-insert-formatted-citation-line):
10218         Fix typo.  (Bug#20318)
10220 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10222         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
10224         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
10225         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
10226         the buffer in yet another frame.
10227         (reftex-toc-visit-location): Make sure toc-window has focus at the end
10228         when `final' is nil.
10229         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
10230         silence warnings.  Use `--' to clarify that it's internal.
10231         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
10232         (reftex-toc-promote): Clarify unused argument.
10233         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
10234         Add `reftex--' prefix.  Fix all users.
10235         (reftex-toc-promote-prepare): Use _ for dummy variable.
10236         (reftex-toc-restore-region): Rename `m
10238 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
10240         Fix a typo in bibtex.el
10241         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
10242         last change.  (Bug#20429)
10244         Fix redisplay of frame after loading new fonts
10245         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
10246         frame because new fonts were loaded, disable all redisplay
10247         optimizations on that frame by calling SET_FRAME_GARBAGED.
10248         (Bug#20410)
10250 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10252         * lisp/info.el (Info-menu): Properly provide the `default'
10253         (Bug#20391)
10255         * elisp-mode.el: Catch errors from `documentation'
10256         (Bug#20418)
10257         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
10258         Catch errors from documentation.
10259         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
10261 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
10263         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
10264         Remove redundant ":group 'package".
10266 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
10268         Fix a typo in rmail.el
10269         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
10270         last commit.  (Bug#20429)
10272 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
10274         Introduce xref-prompt-for-identifier
10275         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
10276         (xref--read-identifier): Use it
10277         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
10279 2015-04-26  João Távora  <joaotavora@gmail.com>
10281         `tex-insert-quote' after single `'' opens quotes instead of closing
10282         Without this, it's very hard to precede double quotes with the
10283         apostrophe character, i.e. insert the sequence '``
10284         (quote-backquote-backquote), commonly useful in portuguese, for
10285         instance.
10286         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
10287         chars making `tex-insert-quote' be in the "opening" context.
10289 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
10291         Pass `id' to `completing-read' as def instead of initial input
10292         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
10293         as the default value instead of initial input
10294         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
10296 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
10298         Don't freeze with unreadable processes
10299         Don't freeze if an exiting process can't be read from. (Bug#19860).
10300         This fixes a bug I introduced in
10301         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
10302         "* process.c: Add sanity checks for file descriptors."
10303         Dmitry Gutov did most of the legwork in finding the problem.
10304         * src/process.c (wait_reading_process_output):
10305         Treat non-running processes that can't be read from
10306         the same as other non-running processes.
10308 2015-04-25  Alan Mackenzie  <acm@muc.de>
10310         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
10311         * lisp/subr.el (remove-yank-excluded-properties): put
10312         `with-silent-modifications' around only the last three lines of code.
10314 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10316         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
10317         (package--all-keywords): Deleted variable.
10319         * etc/NEWS: Document package-hiding functionality
10321 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
10323         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
10325         Clarify the doc string of 'replace-regexp-in-string'
10326         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
10328         Improve doc string of 'insert-buffer-substring'
10329         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
10331         MS-Windows followup for the recent gnulib update
10332         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
10333         acl-internal.c.
10335 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
10337         Spelling fixes
10339         Merge from gnulib
10340         This incorporates:
10341         2015-04-24 file-has-acl: new module, split from acl
10342         2015-04-24 manywarnings: add GCC 5.1 warnings
10343         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
10344         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
10345         2015-04-15 acl: On Linux, check for acls without libacl
10346         2015-04-14 tempname: avoid unused parameter warnings (trivial)
10347         * lib/acl-internal.c: New file, from gnulib.
10348         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
10349         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
10350         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
10351         Update from gnulib.
10353         Port --enable-gcc-warnings to GCC 5.1 x86-64
10354         * lib-src/ebrowse.c (dump_sym):
10355         * lib-src/hexl.c (main):
10356         * src/ccl.c (ccl_driver):
10357         * src/character.c (string_escape_byte8):
10358         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
10359         * src/gnutls.c (Fgnutls_boot):
10360         * src/gtkutil.c (xg_check_special_colors):
10361         * src/image.c (x_build_heuristic_mask):
10362         * src/print.c (safe_debug_print, print_object):
10363         * src/term.c (produce_glyphless_glyph):
10364         * src/xdisp.c (get_next_display_element)
10365         (produce_glyphless_glyph):
10366         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
10367         Don't use a signed format to print an unsigned integer, or vice
10368         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
10369         * src/image.c (png_load_body, jpeg_load_body):
10370         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
10372 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
10374         Add new faces to tsdh-light-theme
10375         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
10376         definitions for Info-quoted, ace-jump-face-foreground,
10377         hl-paren-face, show-paren-match, and show-paren-mismatch.
10379 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
10381         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
10383 2015-04-24  Glenn Morris  <rgm@gnu.org>
10385         * build-aux/gitlog-to-emacslog:
10386         Use raw log format rather than wrapped one.
10388 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10390         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
10391         (seq-doseq): Fix out-of-scope binding.
10392         Don't call `seq-length at every iteration.
10393         Reduce `if's from 3 to 2 per iteration.
10394         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
10396 2015-04-24  Glenn Morris  <rgm@gnu.org>
10398         * lisp/textmodes/text-mode.el (text-mode-hook):
10399         Move text-mode-hook-identify to default.
10401         * lisp/mouse.el (minor-mode-menu-from-indicator):
10402         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
10404         * lisp/help-fns.el (describe-function): More type checking.
10405         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
10407         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
10408         (Bug#20325)
10410 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
10412         shr: strip leading whitespace when expanding URLs
10413         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
10415 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
10417         Clarify "co-authored" some more
10419         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
10421         Clarify doc strings of functions that search for properties
10422         * src/textprop.c (Fnext_char_property_change)
10423         (Fprevious_char_property_change)
10424         (Fnext_single_char_property_change)
10425         (Fprevious_single_char_property_change, Fnext_property_change)
10426         (Fnext_single_property_change, Fprevious_property_change)
10427         (Fprevious_single_property_change): Clarify doc strings wrt return
10428         value and the optional LIMIT argument.  (Bug#20411)
10430 2015-04-24  Glenn Morris  <rgm@gnu.org>
10432         * test/automated/message-mode-tests.el (message-mode-propertize):
10433         Handle non-writable HOME; eg on hydra.nixos.org.
10435 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
10437         Avoid starting threads by w32-shell-execute
10438         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
10439         local file names, before invoking ShellExecute.  (Bug#20220)
10441 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
10443         Fix following doc-links in `widget-documentation-link-action'
10444         * lisp/wid-edit.el (widget-documentation-link-action): Make
10445         following doc-links less simplistic (Bug#20398).
10447 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10449         Improve EUDC manual
10450         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
10452 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10454         Omit needless "\ " after multibyte then newline
10455         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
10456         (print_object): When print-escape-multibyte is non-nil and a
10457         multibyte character is followed by a newline or formfeed, followed
10458         by a hex digit, don't output a needless "\ " before the hex digit.
10459         * test/automated/print-tests.el (print-hex-backslash): New test.
10461 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
10463         Add a new `inhibit-message' variable
10464         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
10465         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
10466         `inhibit_message' is non-zero.
10467         * etc/NEWS: Add an entry.
10468         * doc/lispref/display.texi: Add an entry for `inhibit-message',
10469           mention it in `message'.
10471 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
10473         Fix last fix in `display-buffer-record-window'.
10474         * lisp/window.el (display-buffer-record-window): Fix last fix.
10476 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
10478         Minor edits in CONTRIBUTE
10479         * CONTRIBUTE: Rearrange instructions about log messages.
10480         Use "Git" capitalized all over.
10481         Use 2 spaces between sentences.
10483 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
10485         * lisp/files.el (basic-save-buffer): Fix argument
10487         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
10488         In case `(and (null custom-file) init-file-had-error)' do the same
10489         thing we'd do if `(null user-init-file)', which is to either error out
10490         or return nil.  This is in line with `custom-save-all' which would
10491         throw an error in that situation. (bug#20355)
10493         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
10494         (package-menu-hide-low-priority): New variable, see its doc.
10495         (package-archive-priorities): Update doc.
10496         (package-desc-priority): New function.
10497         (package-desc-priority-version): Use it.
10498         (package--remove-hidden): New function.
10499         (package-menu--refresh): Use it.
10501         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
10502         (package-menu--hide-obsolete): New variable.
10503         (package--remove-hidden): Use it.
10504         (package-menu-hide-obsolete): New interactive function to toggle
10505         the variable.
10506         (package--quick-help-keys): Document it.
10507         (package-menu-async): Add :version tag.
10508         (package-menu-mode-map): Bind package-menu-hide-obsolete.
10509         (package-desc-status): Indicate non-installed obsolete packages as
10510         avail-obso.
10511         (package-menu-mark-install): Allow installation of avail-obso.
10512         (package-menu--status-predicate): Sort avail-obso with available.
10514 2015-04-22  Alan Mackenzie  <acm@muc.de>
10516         On C-y, stop some text property entries being written into buffer-undo-list
10517         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
10518         `with-silent-modifications'.
10520 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
10522         In display-buffer-record-window record selected window if necessary.
10523         * lisp/window.el (display-buffer-record-window): Store selected window
10524         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
10526 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
10528         Fix reftex-citation bug
10529         * reftex-cite.el (reftex-extract-bib-entries): Fix
10530         `wrong-type-argument stringp nil' error that occurs when AUCTeX
10531         integration is enabled and there are no citations in the document
10532         so far.
10534 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
10536         Add or reset based on the presence of MERGE_HEAD
10537         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
10538         `vc-git-resolve-when-done' to `after-save-hook' in either case.
10539         (vc-git-conflicted-files): Add a TODO.
10540         (vc-git-resolve-when-done): Depending on the presence of
10541         MERGE_HEAD, either update the resolved file in the index, or
10542         remove it from there.  (Bug#20292)
10544 2015-04-21  Glenn Morris  <rgm@gnu.org>
10546         * lisp/custom.el (custom-declare-group): No need to purecopy
10547         custom-current-group-alist members following recent change to set
10548         it to nil before dumping.
10550         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
10551         (Bug#20399)
10553 2015-04-21  Daniel Colascione  <dancol@dancol.org>
10555         Unbreak no-op buffer save message
10556         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
10557         (basic-save-buffer): Accept called-interactively as an argument instead of
10558         directly invoking called-interactively-p, which will always yield nil
10559         in that context.
10561 2015-04-21  Alan Mackenzie  <acm@muc.de>
10563         CC Mode: Do nothing in before/after-change-functions for text property changes
10564         Fixes bug#20266.
10565         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
10566         yank-handled-properties buffer local, and remove 'category from it.
10567         (c-called-from-text-property-change-p): New function.
10568         (c-before-change): Don't do anything if a call of the new function
10569         returns non-nil.
10570         (c-after-change): Don't do much if a call of the new function returns
10571         non-nil.
10572         (c-extend-after-change-region): Put changes to text property 'fontified
10573         inside c-save-buffer-state.
10575 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
10577         Fix byte-compiler warnings about looking-back.
10578         * lisp/vc/log-view.el (log-view-end-of-defun-1):
10579         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
10580         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
10581         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
10582         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
10583         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
10584         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
10585         * lisp/org/org.el (org-insert-heading, org-sort-entries):
10586         * lisp/org/org-mouse.el (org-mouse-end-headline)
10587         (org-mouse-context-menu):
10588         * lisp/org/org-clock.el (org-clock-cancel):
10589         * lisp/man.el (Man-default-man-entry):
10590         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
10591         (rmail-ensure-blank-line):
10592         * lisp/mail/footnote.el (Footnote-delete-footnote):
10593         * lisp/mail/emacsbug.el (report-emacs-bug):
10594         * lisp/info.el (Info-follow-reference, Info-fontify-node):
10595         * lisp/info-look.el (info-lookup-guess-custom-symbol):
10596         * lisp/help-fns.el (help-fns--key-bindings):
10597         * lisp/files.el (hack-local-variables):
10598         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
10599         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
10600         (viper-complete-filename-or-exit):
10601         * lisp/emulation/viper-cmd.el (viper-backward-indent):
10602         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
10603         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
10604         * lisp/cus-edit.el (custom-face-edit-value-create):
10605         * lisp/calendar/todo-mode.el (todo-set-item-priority)
10606         (todo-filter-items-1, todo-convert-legacy-files)
10607         (todo-prefix-overlays): Add explicit second arg to looking-back.
10609 2015-04-20  Glenn Morris  <rgm@gnu.org>
10611         Avoid non-nil current-load-list at startup
10612         * src/process.c (init_process_emacs): Move Fprovide statement...
10613         (syms_of_process): ... to here.
10615         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
10617         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
10619 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
10621         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
10622         (Bug#20330)
10624 2015-04-20  Glenn Morris  <rgm@gnu.org>
10626         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
10628         Tweak exec-path in uninstalled case
10629         * src/callproc.c (init_callproc): If running uninstalled, do not
10630         include eventual installation libexec directory in exec-path.
10632 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
10634         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
10635         (package-menu-filter): Accept a list of keywords.
10636         (package--all-keywords): New variable to cache known keywords.
10637         (package-all-keywords): Populate it if necessary.
10638         (package-refresh-contents): Reset it.
10640         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
10641         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
10642         as special keywords which match agains package archive and status
10643         respectively.
10644         * etc/NEWS: Document it.
10646 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
10648         Describe and index "empty overlays".
10649         * doc/lispref/display.texi (Overlays): Improve indexing.
10650         (Managing Overlays): Describe "empty" overlays.
10651         (Overlay Properties, Finding Overlays): Add cross-reference to
10652         where empty overlays are described.
10654 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10656         Spelling fixes
10658         Quote 'like this' in top-level files
10659         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
10660         Prefer to single-quote 'like this' (instead of the older style
10661         `like this').
10662         * configure.ac: Fix some space-before-tab problems that 'git commit'
10663         complained about.
10665         Use bool for boolean in textprop.c, undo.c
10666         * src/textprop.c (soft, hard): Now constants instead of macros.
10667         (validate_plist): Rewrite to avoid need for boolean local.
10668         (interval_has_all_properties, interval_has_some_properties)
10669         (interval_has_some_properties_list, add_properties)
10670         (remove_properties, get_char_property_and_overlay)
10671         (Fnext_single_char_property_change)
10672         (Fprevious_single_char_property_change, add_text_properties_1)
10673         (Fremove_text_properties, Fremove_list_of_text_properties)
10674         (copy_text_properties):
10675         * src/tparam.c (tparam1):
10676         * src/undo.c (record_change, record_property_change)
10677         (syms_of_undo):
10678         Use 'true' and 'false' for booleans.
10680 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
10682         Call `smerge-start-session' even when dealing with a stash conflict
10683         * lisp/vc/vc-git.el (vc-git-find-file-hook):
10684         Call `smerge-start-session' even when dealing with a stash
10685         conflict (bug#20292).
10687 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
10689         Add option to eshell/clear to clear scrollback.
10690         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
10691         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
10692         scrollback contents are cleared.
10693         * etc/NEWS: Describe change.
10694         * doc/misc/eshell.texi: Add entry for `clear'.
10696 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10698         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
10699         where either will do.
10701 2015-04-19  Steve Purcell  <steve@sanityinc.com>
10703         Assume package archive-contents are UTF8-encoded
10704         * lisp/emacs-lisp/package.el (package--read-archive-file):
10705         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
10706         downloaded and cached archive-contents files, so that non-ASCII
10707         characters in package descriptions are displayed correctly in the
10708         `list-packages' menu. (Bug#20231)
10710 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
10712         Abort when looking at stashed changes
10713         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
10714         stashed changes (bug#20292).
10716 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10718         Refactor low-level printing for simplicity
10719         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
10720         PRINTPREPARE; doable now that we assume C99.  All callers changed.
10721         (PRINTCHAR): Remove, as it adds more mystery than clarity.
10722         All callers changed.
10723         (strout): Assume that caller computes length.  All callers changed.
10724         (print_c_string): New function.
10725         (write_string, write_string_1): Compute length instead of asking
10726         the caller to compute it.  All callers changed.
10727         (write_string): Simplify by using write_string_1.
10728         (write_string_1): Simplify by using print_c_string.
10729         (Fterpri): Compute default val more clearly.
10730         (Fprin1_to_string, print_object):
10731         Assume C99 to avoid unnecessary nesting.
10732         (print_object): Prefer print_c_string to multiple printchar, or
10733         to calling strout with -1 length.  Coalesce into sprintf when
10734         this is easy.
10736 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
10738         Prefer "Bug#1234" in commit messages (Bug#20325)
10739         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
10740         as this isn't useful for Git.
10741         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
10743 2015-04-18  Glenn Morris  <rgm@gnu.org>
10745         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
10746         (Bug#19506)
10748 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
10750         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
10751         (Bug#19505)
10753 2015-04-18  Glenn Morris  <rgm@gnu.org>
10755         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
10757         * doc/emacs/misc.texi (Sorting): Small edit.
10758         (Bug#19896)
10760         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
10762 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
10764         css-mode.el: Support multi-line comment filling
10765         (Bug#20256)
10766         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
10767         comment filling.
10768         (css-adaptive-fill): New function.
10769         (css-mode): Set `adaptive-fill-function'.
10770         (scss-mode): Set `comment-continue'.
10772 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
10774         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
10776 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
10778         Minor improvements in Bulgarian input methods
10779         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
10780         Replace U+042C with U+045D, as the former character is not used in
10781         the modern Bulgarian language.
10782         (Bug#20350)
10784 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10786         Improve EUDC manual
10787         * eudc.texi (LDAP Configuration): Mention simple and SASL
10788         authentication schemes.  Add index items.  Shorten example server
10789         name.
10791 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
10793         Don't show both feature and function with the same name
10794         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
10795         Don't show both feature and function with the same name.
10797         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
10798         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
10799         Avoid returning both the variable and the function for the same
10800         minor mode.
10802 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
10804         Fix fontification of keywords clobbered by the prompt.
10805         * lisp/comint.el (comint-output-filter): Remove the uses of
10806         with-silent-modifications I introduced as part of the last change.
10807         This fixes, e.g., erratically missing highlighting when running
10808         ./configure --help; ./configure in a shell-mode buffer with
10809         compilation-shell-minor-mode turned on.
10811 2015-04-17  Glenn Morris  <rgm@gnu.org>
10813         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
10815 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
10817         * lisp/indent.el (indent-region): Don't deactivate the mark
10818         (Bug#20357)
10820 2015-04-17  Sam Steingold  <sds@gnu.org>
10822         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
10824 2015-04-16  Leo Liu  <sdl.web@gmail.com>
10826         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
10828 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
10830         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
10832 2015-04-16  Glenn Morris  <rgm@gnu.org>
10834         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
10836 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
10838         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
10839         * configure.ac (LIBJPEG): Leave it empty for MinGW.
10841 2015-04-16  Glenn Morris  <rgm@gnu.org>
10843         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
10844         to avoid rogue setting after startup.
10846 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
10848         Pre-4.6 GCC succeeds with unknown option
10849         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
10850         (Bug#20338)
10852 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10854         '[:graph:]' now excludes whitespace, not just ' '
10855         * doc/lispref/searching.texi (Char Classes):
10856         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
10857         sans whitespace (not sans space).
10858         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
10859         not just space.
10860         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
10862 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10864         (looking-back): Make the second arg non-optional.
10865         * lisp/subr.el (substitute-key-definition-key, special-form-p)
10866         (macrop): Drop deprecated second arg to indirect-function.
10867         (looking-back): Make the second arg non-optional.
10869         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
10870         command is actually sent to the shell.
10872 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10874         Port jpeg configuration to Solaris 10 with Sun C
10875         * configure.ac: Check for jpeglib 6b by trying to link it, instead
10876         of relying on cpp magic that has problems in practice.  Check for
10877         both jpeglib.h and jerror.h features.  Remove special case for
10878         mingw32, which should no longer be needed (and if it were needed,
10879         should now be addressable by hotwiring emacs_cv_jpeglib).
10880         (Bug#20332)
10882 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10884         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
10885         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
10886         Move to elisp-mode.el.
10887         (lisp-mode-variables): (Re)move elisp-specific settings.
10888         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
10889         from lisp-mode-variables.
10890         (elisp--font-lock-flush-elisp-buffers): New function, moved from
10891         lisp-mode.el.
10893         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
10894         Avoid pathological slowdown at top-level in large file.
10896 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10898         Standardize names of ChangeLog history files
10899         Suggested by Glenn Morris in:
10900         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
10901         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
10902         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
10903         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
10904         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
10905         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
10906         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
10907         Remove.
10909         Split top-level entries into pre- and post-April 7
10910         This more clearly distingiushes pre-April-7 ChangeLog entries (which
10911         are for top-level files only) from post-April-7 entries (which are
10912         about files at all levels.  Problem reported by Glenn Morris in:
10913         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
10914         * ChangeLog.1: Move post-April-7 entries from here ...
10915         * ChangeLog.2: ... to this new file.
10916         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
10918 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10920         Fix recent cus-start changes that added customize-rogues
10921         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
10922         vars early.
10923         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
10925 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
10927         Define cl-concatenate as an alias to seq-concatenate
10928         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
10929           code by making cl-concatenate an alias to seq-concatenate.
10931 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10933         * src/lread.c (intern_1): Make sure we'd find the symbol we add
10934         (Bug#20334)
10935         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
10937 2015-04-15  Glenn Morris  <rgm@gnu.org>
10939         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
10941 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
10943         Clean up gnus-uu saving code slightly
10944         * gnus-uu.el (gnus-uu-save-article): Make the
10945         save-restriction/widen calls make more sense.
10947 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10949         Make [:graph:] act like [:print:] sans space
10950         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
10951         [:graph:] so that it matches everything that [:print:] does,
10952         except for space.
10953         * doc/lispref/searching.texi (Char Classes):
10954         * etc/NEWS:
10955         * lisp/emacs-lisp/rx.el (rx):
10956         Document [:graph:] to be [:print:] sans ' '.
10957         * src/character.c, src/character.h (graphicp): New function.
10958         * src/regex.c (ISGRAPH) [emacs]: Use it.
10959         (BIT_GRAPH): New macro.
10960         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
10961         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
10962         Return BIT_GRAPH for RECC_GRAPH.
10963         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
10964         and ISPRINT if BIT_PRINT.
10966 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
10968         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
10969         Don't use call-next-method in a cl-defmethod.
10971         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
10972         (eieio--class-p): Remove, provided by cl-defstruct.
10974 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
10976         Add seq-intersection and seq-difference to the seq library
10977         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
10978         functions.
10979         * test/automated/seq-tests.el: Add tests for seq-intersection and
10980         seq-difference.
10981         * doc/lispref/sequences.texi: Add documentation for seq-intersection
10982         and seq-difference.
10984 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
10986         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
10988 2015-04-14  Sam Steingold  <sds@gnu.org>
10990         package--ensure-init-file: widen requires save-restriction
10992 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
10994         Improve the commit-msg Git hook for unibyte environments
10995         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
10996         in unibyte environments.  (Suggested by Paul Eggert
10997         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
10998         [:print:], based on UTF-8 sequences of the unprintable characters.
11000         Describe problems with cursor caused by Windows Magnifier
11001         * etc/PROBLEMS: Describe the problem with cursor shape on
11002         MS-Windows due to Windows Magnifier.
11003         (Bug#20271)
11005         Make [:print:] support non-ASCII characters correctly
11006         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
11007         (BIT_PRINT): New bit mask.
11008         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
11009         * src/character.c (printablep): New function.
11010         * src/character.h (printablep): Add prototype.
11011         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
11012         of 'print', 'alnum', and 'alphabetic'.
11013         * doc/lispref/searching.texi (Char Classes): Document the new
11014         behavior of [:print:].
11015         * etc/NEWS: Mention the new behavior of [:print:].
11017         Assign correct general-category and names to surrogates
11018         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
11019         surrogates.  This avoids assigning them the default
11020         general-category of 'Cn', i.e. unassigned codepoints.
11021         (unidata-get-name): Give surrogates synthetic names.
11023 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
11025         Assume C89 offsetof in xterm.c, xlwmenu.c
11026         * lwlib/xlwmenu.c (offset):
11027         * src/xterm.c (cvt_string_to_pixel_args):
11028         Use offsetof, not XtOffset.
11030 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
11032         Assume C89 offsetof in widget.c
11033         * src/widget.c (XtOffset): Remove; no longer needed.
11034         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
11036         Fix think-o in previous patch
11037         * src/window.c (count_windows, get_leaf_windows):
11038         Don't optimize count_windows incorrectly.
11040 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11042         Avoid some int overflows in window.c
11043         * src/print.c (print_object):
11044         * src/window.c (sequence_number):
11045         * src/window.h (struct window.sequence_number):
11046         Don't assume window sequence number fits in int.
11047         * src/window.c (window_select_count):
11048         * src/window.h (struct window.use_time, window_select_count):
11049         Don't assume window use time fits in int.
11050         * src/window.c (Fsplit_window_internal):
11051         Don't assume user-supplied integer, or sum, fits in int.
11052         (Fset_window_configuration, count_windows, get_leaf_windows)
11053         (save_window_save, Fcurrent_window_configuration):
11054         Use ptrdiff_t for object counts.
11055         (Fset_window_configuration): Omit unused local 'n'.
11056         (count_windows): Simplify by writing in terms of get_leaf_windows.
11057         (get_leaf_windows): Don't store through FLAT if it's null.
11058         (extract_dimension): New static function.
11059         (set_window_margins, set_window_fringes, set_window_scroll_bars):
11060         Use it to avoid undefined behavior when converting user-supplied
11061         integer to 'int'.
11063 2015-04-13  Glenn Morris  <rgm@gnu.org>
11065         Minor doc copyedits
11066         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
11067         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
11069 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11071         [Gnus] Catch the invalid-operation that idna.el will issue
11072         * lisp/gnus/gnus-art.el (gnus-use-idna):
11073         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
11074         * lisp/gnus/message.el (message-use-idna):
11075         Catch the invalid-operation that idna.el will issue.
11077 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11079         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
11081 2015-04-13  Sam Steingold  <sds@gnu.org>
11083         package--ensure-init-file: widen before looking for "(package-initialize)"
11085 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
11087         Change diff-switches default to `-u'
11088         (Bug#20290)
11089         * doc/emacs/files.texi (Comparing Files): Document the new default
11090         value of `diff-switches'.
11091         * doc/emacs/trouble.texi (Sending Patches): Document the preference
11092         for unified diff format.  Escape the plus in the suggested `-F' regexp
11093         value.
11094         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
11096 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11098         (gnus-group--setup-tool-bar-update): Fix last change
11099         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
11100         cursor-sensor-functions should be a list of functions.
11102 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11104         Use gmm-called-interactively-p in Gnus
11105         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
11107 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11109         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
11110         (Bug#20321)
11111         * lisp/cus-start.el (read-buffer-function): Don't advertize
11112         iswitchb-read-buffer any more.
11113         (iswitchb): Don't tweak this obsolete group any more.
11115 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
11117         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
11119         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
11120         Adding a string after a constructor's argument list will use
11121         that string as the constructor function docstring.  If this string
11122         is absent but the struct itself was given a docstring, use that as
11123         the constructor's docstring.
11124         Fixes (bug#17284).
11126 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11128         Deprecate `intangible' and `point-entered' properties
11129         * lisp/emacs-lisp/cursor-sensor.el: New file.
11130         * lisp/simple.el (pre-redisplay-functions): New hook.
11131         (redisplay--pre-redisplay-functions): New function.
11132         (pre-redisplay-function): Use it.
11133         (minibuffer-avoid-prompt): Mark obsolete.
11134         (redisplay--update-region-highlight): Adapt it to work as a function on
11135         pre-redisplay-functions.
11136         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
11137         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
11138         than point-entered to make the prompt intangible.
11139         * lisp/forms.el: Move `provide' calls to the end.
11140         (forms-mode): Don't use `run-hooks' on a local var.
11141         (forms--make-format, forms--make-format-elt-using-text-properties):
11142         Use cursor-intangible rather than `intangible'.
11143         (forms-mode): Enable cursor-intangible-mode.
11144         * lisp/isearch.el (isearch-mode): Use defvar-local.
11145         (cursor-sensor-inhibit): Declare.
11146         (isearch-mode): Set cursor-sensor-inhibit.
11147         (isearch-done): Set it back.
11148         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
11149         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
11150         any more.
11151         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
11152         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
11153         Add Edebug spec.
11154         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
11155         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
11156         inhibit-point-motion-hooks any more.
11157         (ses--cell-at-pos, ses--curcell): New functions, extracted from
11158         ses-set-curcell.
11159         (ses-set-curcell): Use them.
11160         (ses-print-cell, ses-setup): Use cursor-intangible instead of
11161         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
11162         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
11163         Use ses--cell-at-pos.
11164         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
11165         extracted from ses-command-hook.  Make them work with multiple windows
11166         displaying the same buffer.
11167         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
11168         Enable cursor-intangible-mode.
11169         (ses-command-hook): Remove cell highlight and mode-line update code.
11170         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
11171         Update for new name of text-property holding the cell name.
11172         (ses-rename-cell): Don't mess with mode-line-process.
11173         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
11174         cursor-sensor-functions property instead of point-entered.
11175         (erc-insert-timestamp-right, erc-format-timestamp):
11176         Use cursor-intangible rather than `intangible'.
11177         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
11178         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
11179         cursor-sensor-mode if needed.
11180         (erc-echo-timestamp): Adapt to calling convention of
11181         cursor-sensor-functions.
11182         (erc-insert-timestamp-right): Remove unused vars `current-window' and
11183         `indent'.
11184         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
11185         (gnus-update-group-mark-positions): Remove unused `topic' var.
11186         (gnus-group-insert-group-line): Remove unused var `header'.
11187         (gnus-group--setup-tool-bar-update): New function.
11188         (gnus-group-insert-group-line): Use it.
11189         (gnus-group-update-eval-form): Declare local
11190         dynamically-bound variables.
11191         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
11192         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
11193         (gnus-group-prepare-topics, gnus-topic-update-topic)
11194         (gnus-topic-change-level, gnus-topic-catchup-articles)
11195         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
11196         Use inhibit-read-only.
11197         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
11198         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
11199         * lisp/textmodes/reftex-index.el (reftex-display-index):
11200         Use cursor-intangible-mode if available.
11201         (reftex-index-post-command-hook): Check cursor-intangible.
11202         * lisp/textmodes/reftex-toc.el (reftex-toc):
11203         Use cursor-intangible-mode if available.
11204         (reftex-toc-recenter, reftex-toc-post-command-hook):
11205         Check cursor-intangible.
11206         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
11207         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
11208         (sgml-tags-invisible): Use with-silent-modifications and
11209         inhibit-read-only.  Enable cursor-sensor-mode.
11210         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
11211         calling convention of cursor-sensor-functions.
11212         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
11213         (table-point-entered-cell-hook, table-point-left-cell-hook):
11214         Don't autoload.
11215         (table-cell-entered-state): Remove var.
11216         (table--put-cell-point-entered/left-property)
11217         (table--remove-cell-properties):
11218         Use cursor-sensor-functions rather than point-entered/left.
11219         (table--point-entered/left-cell-function): Merge
11220         table--point-entered-cell-function and table--point-left-cell-function
11221         and adjust to calling convention of cursor-sensor-functions.
11223         Update ldef-boots.el
11225         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
11227         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
11229         Collapse successive char deletions in the undo log
11230         * src/cmds.c (remove_excessive_undo_boundaries): New function,
11231         extracted from Fself_insert_command.
11232         (Fdelete_char, Fself_insert_command): Use it.
11233         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
11234         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
11236         xterm and OSC 52: Add NEWS entry, and tweak the code
11237         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
11238         top-level.
11239         (terminal-init-xterm-activate-set-selection): Set a terminal property.
11240         (xterm--set-selection): Use it instead of checking the value of
11241         `terminal-initted'.  Don't use string-bytes.
11243 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
11245         xterm.el: Implement OSC-52 functionality for setting the X selection
11246         * lisp/term/xterm.el (xterm-max-cut-length): New var.
11247         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
11248         (terminal-init-xterm, xterm--version-handler): Use them.
11250 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
11252         Remove left over code from when we used an obsolete/loaddefs.el file
11253         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
11254         we used an obsolete/loaddefs.el file.
11256         * cedet/semantic/fw.el: Use declare.
11257         * cedet/semantic/fw.el (semantic-exit-on-input)
11258         (semanticdb-without-unloaded-file-searches): Use declare.
11259         (semantic-fw-add-edebug-spec): Remove.
11261         (completion-lisp-mode-hook): Use completion-separator-chars
11262         * lisp/completion.el (completion-lisp-mode-hook):
11263         Use completion-separator-chars rather than local key binding.
11265         * src/*.c: Set deactivate_mark buffer-locally
11266         (Bug#20260)
11267         * src/insdel.c (prepare_to_modify_buffer_1):
11268         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
11269         buffer-locally.
11271 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
11273         python.el: Keep symmetry on sexp navigation with parens
11274         (Bug#19954)
11275         * lisp/progmodes/python.el
11276         (python-nav--forward-sexp): Add argument skip-parens-p.
11277         (python-nav-forward-sexp, python-nav-backward-sexp)
11278         (python-nav-forward-sexp-safe)
11279         (python-nav-backward-sexp-safe): Use it.
11280         * test/automated/python-tests.el
11281         (python-nav-forward-sexp-1): Fix test.
11283 2015-04-12  João Távora  <joaotavora@gmail.com>
11285         Don't use `setq-local' in Gnus code
11286         This might break upstream builds with older Emacsen
11287         * lisp/gnus/message.el (message-mode): Use `set' and
11288         `make-local-variable' instead of `setq-local'.
11290 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
11292         Update Makefile.in's .PHONY dependencies
11293         * Makefile.in (change-history-commit, master-branch-is-current)
11294         (no-ChangeLog): Now phony.
11296         Remove configure's --with-mmdf option
11297         * configure.ac (MAIL_USE_MMDF): Remove.
11298         * etc/NEWS: Document this.
11299         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
11300         (Bug#20308)
11302         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
11303         That way, 'make install' won't think it's a man page.
11304         Reported by Ashish SHUKLA in:
11305         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
11307         Improve 'make change-history' prereq tests
11308         * Makefile.in (gen_origin): Fix to match what's in the master branch.
11309         (no-ChangeLog, master-branch-is-current): New rules.
11310         (change-history): Depend on them, to avoid similar future problems.
11311         Escape the local-variables string to pacify Emacs when editing
11312         Makefile.in.
11314 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
11316         * test/automated/package-test.el (with-package-test): Kill Packages buffer
11318         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
11319         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
11320         "Upgrade" last, and use capitalized instead of all-caps.
11322         * lisp/emacs-lisp/package.el: Completely silence async operations
11323         (package--make-autoloads-and-stuff): Silence autoloads.
11324         (package--save-selected-packages): New function, silences
11325         `customize-save-variable'.
11326         (package--user-selected-p, package-install-from-buffer)
11327         (package-delete, package-install): Use it.
11328         (package-install-from-archive)
11329         (package-menu--perform-transaction): Silence.
11330         (package-menu-execute): Feedback when operation starts.
11332         Use delay-mode-hooks when visiting the init-file
11333         * lisp/emacs-lisp/package.el (package--ensure-init-file):
11334         delay-mode-hooks
11335         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
11337         * lisp/files.el: Only message when saving if save-silently is nil
11338         (save-silently): New variable.
11339         (files--message): New function.
11340         (find-file-noselect, save-buffer, basic-save-buffer)
11341         (basic-save-buffer-2, save-some-buffers, not-modified)
11342         (append-to-file): Use them.
11344 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
11346         Support debug declarations in pcase macros
11347         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
11348         (pcase-UPAT): Use it.  Remove "`".
11349         (pcase--edebug-match-macro): New function.
11350         (pcase-defmacro): Support debug declarations.
11351         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
11352         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
11353         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
11355         pcase.el: Edebug support for `app' and vector patterns
11356         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
11357         (pcase-UPAT): Use it. Support `app' patterns.
11358         (pcase-QPAT): Support vector patterns.
11360         edebug.el: Disambiguate vector specifications
11361         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
11362         `(vector ...)' as a vector specification, not as a sublist.
11364         (gnus-summary-refer-thread): Don't clobber unread articles
11365         This fixes a bug where `A T' causes "random" articles to become marked
11366         as read.
11367         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
11368         gnus-newsgroup-unreads remains sorted.
11370         mouse-sel.el: Fix mouse-sel-get-selection-function
11371         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
11372         Use gui--last-selected-text-primary instead of no longer existing
11373         gui-last-selected-text.
11375         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
11377         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
11379 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
11381         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
11383         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
11385         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
11386         (byte-compile--interactive): New var.
11387         (byte-compile--message): New function.
11388         (byte-compile-log-1, byte-force-recompile)
11389         (byte-recompile-directory, byte-recompile-file)
11390         (byte-compile-file, compile-defun)
11391         (byte-compile-file-form-defmumble, byte-compile)
11392         (byte-compile-file-form-defalias, display-call-tree): Use it.
11394         * lisp/files.el: Don't message when nothing happened
11395         (save-some-buffers, basic-save-buffer): Before messaging to say
11396         "nothing was saved" check if (called-interactively-p 'any).
11398 2015-04-12  João Távora  <joaotavora@gmail.com>
11400         Summary: Improve sexp-based movement in message-mode
11401         Works by giving citations and smileys a different syntax.  This helps
11402         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
11403         sexp-based movement.
11404         * lisp/gnus/message.el (message--syntax-propertize): New function.
11405         (message-mode): Set syntax-related vars.
11406         (message-smileys): New variable.
11407         * test/automated/message-mode-tests.el: New file
11409 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11411         Use bool for boolean in window.c
11412         * src/window.c: Omit unnecessary static function decls.
11413         (adjust_window_count, select_window, Fselect_window)
11414         (window_body_width, Fwindow_body_height, Fwindow_body_width)
11415         (set_window_hscroll, check_window_containing, Fwindow_at)
11416         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
11417         (unshow_buffer, replace_window, recombine_windows)
11418         (add_window_to_list, candidate_window_p, next_window)
11419         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
11420         (Fget_buffer_window, Fdelete_other_windows_internal)
11421         (replace_buffer_in_windows_safely, set_window_buffer)
11422         (Fset_window_buffer, Fforce_window_update)
11423         (temp_output_buffer_show, make_parent_window)
11424         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
11425         (resize_frame_windows, Fsplit_window_internal)
11426         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
11427         (Fresize_mini_window_internal, mark_window_cursors_off)
11428         (window_scroll, window_scroll_pixel_based)
11429         (window_scroll_line_based, scroll_command, Fscroll_other_window)
11430         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
11431         (Fmove_to_window_line, Fset_window_configuration)
11432         (delete_all_child_windows, apply_window_adjustment)
11433         (set_window_fringes, set_window_scroll_bars)
11434         (Fset_window_vscroll, foreach_window, foreach_window_1)
11435         (compare_window_configurations, Fcompare_window_configurations):
11436         Prefer 'bool', 'true', and 'false' for booleans.
11437         * src/window.h (WINDOW_MODE_LINE_LINES)
11438         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
11440 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
11442         Speed up byte-compilation and autoload generation by avoiding mode-hooks
11443         This prevents emacs-lisp-mode-hook from being run everytime an
11444         autoload file is generated, which can account for a fraction of
11445         package installation time depending on the hooks the user has
11446         configured.
11447         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
11448         * lisp/emacs-lisp/autoload.el (autoload-find-file)
11449         (autoload-find-generated-file): Use delay-mode-hooks.
11451         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
11452         (package-menu-refresh): Respect async and do new package checking.
11453         (list-packages): Use `package-menu-refresh' instead of repeating code.
11455         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
11456         (package--quick-help-keys): New variable.
11457         (package--prettify-quick-help-key): New function.
11458         (package-menu-quick-help): Use it.
11460         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
11461         (package--build-compatibility-table): require finder
11463         * test/automated/package-test.el: Fix new test
11465         * lisp/emacs-lisp/package.el: Silence async operations
11466         (package--silence): New variable.
11467         (package--message): New function.
11468         (package-import-keyring, package-refresh-contents)
11469         (package-compute-transaction, package-install, package-delete)
11470         (package-menu--perform-transaction, package-menu-execute): Use it.
11472         * test/automated/package-test.el: Test async functionality
11473         (package-test-update-archives-async): New test
11475 2015-04-11  Daiki Ueno  <ueno@gnu.org>
11477         Utilize `make-process' in epg.el
11478         * lisp/epg.el (epg-error-output): Abolish.
11479         (epg-context): New slot `error-buffer'.
11480         (epg--start): Use `make-process' and `make-pipe-process'.
11481         (epg--process-filter): Remove code separating stderr from stdout.
11482         (epg-wait-for-completion): Simplify `error-output' handling.
11483         (epg-reset): Dispose error buffer.
11485 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11487         * .gitignore: Ignore doc temps and outputs.
11489         Port commit-msg to MSYS Bash+Gawk
11490         See Eli Zaretskii in:
11491         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
11492         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
11493         (cent_sign, print_at_sign, at_sign): Revert previous change.
11494         (print_at_sign): Prepend "BEGIN".
11495         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
11497         Port commit-msg to broken MS-Windows shell
11498         * build-aux/git-hooks/commit-msg (cent_sign):
11499         Just use UTF-8 here rather than ASCII + printf, as the latter fails
11500         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
11501         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
11503 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
11505         Support GnuTLS v3.4 and later on MS-Windows
11506         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
11507         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
11508         GnuTLS DLL to load according to value of libgnutls-version.
11509         (Bug#20294)
11511 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11513         Minor quoting etc. fixes to misc manuals
11514         Fix some minor quoting and spacing issues.  Distinguish more
11515         clearly among grave accent and apostrophe (which are ASCII) and
11516         single quote (which is not).  Prefer the standard terms
11517         "apostrophe" and "grave accent" to alternative names that can be
11518         confusing.  Use apostrophes to single-quote ASCII text.
11519         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
11520         rather than approximating it in ASCII with grave accent.
11522 2015-04-11  Daiki Ueno  <ueno@gnu.org>
11524         Respect more keyword args in `make-process'
11525         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
11526         keywords as documented.
11528 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
11530         Extract ChangeLog entries when committing a directory
11531         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
11532         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
11533         Add a FIXME comment.
11534         (log-edit-changelog-entries): Extract from
11535         `log-edit-changelog-entries', handle FILE being a directory
11536         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
11538 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
11540         Fix problems found by --enable-gcc-warnings
11541         * src/process.c (create_process, Fmake_pipe_process)
11542         (Fmake_network_process): Omit unused locals.
11544         Fix commit-msg to handle scissors lines
11545         * build-aux/git-hooks/commit-msg:
11546         Ignore every line after a scissors line, such as a line generated
11547         by 'git commit -v'.  Problem reported by Johan Bockgård in:
11548         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
11550         port commit-msg to Gawk 3.0.4 (1999)
11551         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
11552         (print_at_sign, at_sign): New vars.  Use them to avoid problems
11553         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
11554         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
11556         Have commit-msg report commit failure
11557         * build-aux/git-hooks/commit-msg: If the commit is aborted,
11558         say so.  Simplify by doing this at the end.  Problem reported
11559         by Eli Zaretskii in:
11560         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
11562 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11564         Clean up LDAP Configuration section of EUDC manual
11565         * doc/misc/eudc.texi: Combine indices.
11566         (LDAP Configuration): Use command markup.  Add index entries.
11567         Change formatting.  Wrap long lines.  Add noindent markup.
11569 2015-04-10  Daiki Ueno  <ueno@gnu.org>
11571         Add facility to collect stderr of async subprocess
11572         * src/w32.h (register_aux_fd): New function declaration.
11573         * src/w32.c (register_aux_fd): New function.
11574         * src/process.h (struct Lisp_Process): New member stderrproc.
11575         * src/process.c (PIPECONN_P): New macro.
11576         (PIPECONN1_P): New macro.
11577         (Fdelete_process, Fprocess_status, Fset_process_buffer)
11578         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
11579         (Fcontinue_process): Handle pipe process specially.
11580         (create_process): Respect p->stderrproc.
11581         (Fmake_pipe_process): New function.
11582         (Fmake_process): Add new keyword argument :stderr.
11583         (wait_reading_process_output): Specially handle a pipe process when
11584         it gets an EOF.
11585         (syms_of_process): Register Qpipe and Smake_pipe_process.
11586         * doc/lispref/processes.texi (Asynchronous Processes): Document
11587         `make-pipe-process' and `:stderr' keyword of `make-process'.
11588         * lisp/subr.el (start-process): Suggest to use `make-process' handle
11589         standard error separately.
11590         * test/automated/process-tests.el (process-test-stderr-buffer)
11591         (process-test-stderr-filter): New tests.
11592         * etc/NEWS: Mention new process type `pipe' and its usage with the
11593         `:stderr' keyword of `make-process'.
11595 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
11597         Minor quoting etc. fixes to lispref manual
11598         * doc/lispref/tips.texi (Documentation Tips):
11599         Distinguish more clearly among grave accent, apostrophe,
11600         and single quote.
11601         * doc/lispref/README, doc/lispref/buffers.texi:
11602         * doc/lispref/commands.texi, doc/lispref/control.texi:
11603         * doc/lispref/customize.texi, doc/lispref/display.texi:
11604         * doc/lispref/elisp.texi, doc/lispref/files.texi:
11605         * doc/lispref/frames.texi, doc/lispref/hash.texi:
11606         * doc/lispref/help.texi, doc/lispref/internals.texi:
11607         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
11608         * doc/lispref/markers.texi, doc/lispref/modes.texi:
11609         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
11610         * doc/lispref/os.texi, doc/lispref/positions.texi:
11611         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
11612         * doc/lispref/text.texi, doc/lispref/tips.texi:
11613         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
11614         Use American-style double quoting in ordinary text,
11615         and quote 'like this' when single-quoting in ASCII text.
11616         Also, fix some minor spacing issues.
11618 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
11620         Handle symlinked test directory in tramp-tests.el
11621         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
11622         (tramp--test-check-files): Use `file-truename' for directories.
11624 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
11626         Fix 'recenter' when visual-line-mode is turned on
11627         * src/window.c (Frecenter): Use the same code for GUI and TTY
11628         frames alike; use vmotion only for "initial" frames.  This is
11629         because vmotion doesn't support visual-line-mode.  Rewrite the
11630         'iarg >= 0' case to use move_it_* functions instead of using
11631         vmotion, for the same reason.  Fix the clipping of the argument
11632         value to support scroll-margin in all cases and avoid unwarranted
11633         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
11634         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
11635         which see.
11637 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11639         * abbrev.el (define-abbrev-table): Refine last change.
11641         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
11642         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
11643         use of c[ad]+r", so as to keep the "cl-" prefix on all
11644         cl-lib definitions.
11646         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
11648         * lisp/cedet/semantic: Remove some dead code
11649         * lisp/cedet/semantic/util-modes.el
11650         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
11651         any more.
11652         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
11653         not supported any more.
11654         (semantic-safe): Use `declare'.
11655         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
11656         (semantic-tag-intangible-p): Remove unused functions.
11657         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
11658         Remove unused function.
11660         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
11661         (gnus-article-hide-text, gnus-article-unhide-text)
11662         (gnus-article-unhide-text-type): Remove special handling of
11663         `intangible' since that property is not used any more.
11664         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
11666 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
11668         Use the VC root in `log-edit-listfun'
11669         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
11670         `log-edit-listfun'.
11672 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
11674         Fix description of Unix time, mention new function.
11675         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
11676         Unix time.
11677         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
11678         (Basic Operations on Units): Mention `calc-convert-exact-units'.
11680 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
11682         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
11684 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
11686         (log-edit-insert-changelog-entries): Don't add newline after the last entry
11687         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
11688         Don't add newline after the last entry.
11690 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
11692         css-mode.el: Add "not" pseudo-class
11693         (Bug#20267)
11694         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
11695         list of CSS pseudo-classes.
11697 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11699         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
11701 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
11703         Stop messing with the EMACS env var
11704         * misc.texi (Interactive Shell): Remove description of EMACS env var.
11706 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11708         Adapt 'make change-history' to coding cookie
11709         * Makefile.in (change-history): Adjust to change of format of
11710         ChangeLog file, which now has a coding cookie before an indented
11711         copyright notice.
11713 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11715         Adapt 'make change-history' to coding cookie
11716         * Makefile.in (change-history): Adjust to change of format of
11717         ChangeLog file, which now has a coding cookie before an indented
11718         copyright notice.
11720         gitlog-to-changelog coding cookie and mv -i
11721         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
11722         for copyright notice prototype, so that we get a proper "coding:"
11723         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
11724         existing ChangeLog.  Problems reported by Eli Zaretskii in:
11725         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
11727         Merge from gnulib
11728         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
11729         2015-04-09 gitlog-to-changelog: port to MS-Windows
11731 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
11733         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
11734         (Bug#20212)
11736 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11738         Stop messing with the EMACS env var
11739         (Bug#20202)
11740         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
11741         * lisp/comint.el (comint-exec-1):
11742         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
11743         * lisp/progmodes/compile.el (compilation-start): Same and bring
11744         INSIDE_EMACS's format in line with other users.
11746         css-mode.el (css-smie-rules): Fix indentation after complex selectors
11747         (Bug#20282)
11748         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
11749         inner structure of selectors.
11751 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
11753         python.el: Indent docstring lines to base-indent
11754         (Bug#19595)
11755         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
11756         an initial patch.
11757         * lisp/progmodes/python.el
11758         (python-indent-context): Add :inside-docstring context.
11759         (python-indent--calculate-indentation): Handle :inside-docstring.
11760         (python-indent-region): Re-indent docstrings.
11761         * test/automated/python-tests.el (python-indent-region-5)
11762         (python-indent-inside-string-2): Fix tests.
11764         python.el: Increase native completion robustness
11765         (Bug#19755)
11766         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
11767         this and providing useful ideas.
11768         * lisp/progmodes/python.el
11769         (python-shell-completion-native-output-timeout): Increase value.
11770         (python-shell-completion-native-try-output-timeout): New var.
11771         (python-shell-completion-native-try): Use it.
11772         (python-shell-completion-native-setup): New readline setup avoids
11773         polluting current context, ensures output when no-completions are
11774         available and includes output end marker.
11775         (python-shell-completion-native-get-completions): Trigger with one
11776         tab only.  Call accept-process-output until output end is found or
11777         python-shell-completion-native-output-timeout is exceeded.
11779 2015-04-08  Samer Masterson  <samer@samertm.com>
11781         * lisp/eshell: Make backslash a no-op in front of normal chars
11782         (Bug#8531)
11783         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
11784         (eshell-parse-backslash): Return escaped character after backslash
11785         if it is special.  Otherwise, if the backslash is not in a quoted
11786         string, ignore the backslash and return the character after; if
11787         the backslash is in a quoted string, return the backslash and the
11788         character after.
11789         * test/automated/eshell.el (eshell-test/escape-nonspecial)
11790         (eshell-test/escape-nonspecial-unicode)
11791         (eshell-test/escape-nonspecial-quoted)
11792         (eshell-test/escape-special-quoted): Add tests for new
11793         `eshell-parse-backslash' behavior.
11795 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
11797         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
11798         after the file name.
11799         (Bug#20276)
11801 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11803         Minor quoting etc. fixes to Emacs manual
11804         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
11805         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
11806         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
11807         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
11808         * doc/emacs/indent.texi, doc/emacs/macos.texi:
11809         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
11810         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
11811         * doc/emacs/search.texi, doc/emacs/trouble.texi:
11812         * doc/emacs/vc1-xtra.texi:
11813         Use American-style double quoting in ordinary text,
11814         and quote 'like this' when single-quoting in ASCII text.
11815         Also, fix some minor spacing issues.
11817         Minor quoting etc. fixes to elisp intro
11818         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
11819         American-style double quoting in ordinary text.  In ASCII text,
11820         consistently quote 'like this' instead of `like this', unless
11821         Emacs requires the latter.
11823 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
11825         * CONTRIBUTE: Mention log-edit-insert-changelog.
11827         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
11829 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11831         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
11833 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
11835         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
11836         (Bug#20270)
11837         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
11838         Fix inheritance of initargs.
11840 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
11842         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
11843         while dowloading information.
11845         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
11846         (package--ensure-init-file): Check file contents before visiting.
11847         (package-initialize): Call it.
11848         (package-install-from-buffer, package-install): Don't call it.
11850 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
11852         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
11853         (Bug#17517)
11855 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
11857         Fix nasty scoping bug in tramp-cache.el
11858         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
11860 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
11862         Add notice to visual commands section
11863         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
11864         such as git call less with its -F option which omits pagination if
11865         the contents is less than one page long.  This interferes with
11866         eshell's visual (sub-)commands.
11868 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
11870         ffap: Support environment variable expansion in file names
11871         (Bug#19839)
11872         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
11873         environment variable expansion in file names.
11875 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11877         Prefer double-quote to accent-grave in man pages
11879 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11881         (Bug#20257)
11882         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
11884 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
11886         Update etc/PROBLEMS.
11887         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
11888         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
11889         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
11890         respectively); other minor updates and tweaks.  (Bug#20011)
11892 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11894         Add doc strings for some Isearch state vars
11895         * lisp/misearch.el (multi-isearch-buffer-list)
11896         (multi-isearch-file-list): Add doc strings.
11897         (Bug#20232)
11899 2015-04-07  Alan Mackenzie  <acm@muc.de>
11901         Always mark "<" and ">" in #include directives with text properties.
11902         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
11903         matcher" with an invocation of c-make-font-lock-search-function to allow
11904         fontification when there's no trailing space on an "#include <..>" line.
11906 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11908         Generate a ChangeLog file from commit logs
11909         * .gitignore: Add 'ChangeLog'.
11910         * build-aux/gitlog-to-changelog: New file, from Gnulib.
11911         * build-aux/gitlog-to-emacslog: New file.
11912         * CONTRIBUTE: Document the revised workflow.
11913         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
11914         instead of just special cases.
11915         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
11916         (ChangeLog, unchanged-history-files, change-history)
11917         (change-history-commit): New rules.
11918         * admin/admin.el (make-manuals-dist--1):
11919         Don't worry about doc/ChangeLog.
11920         * admin/authors.el: Add a FIXME.
11921         * admin/make-tarball.txt:
11922         * lisp/calendar/icalendar.el:
11923         * lisp/gnus/deuglify.el:
11924         * lisp/obsolete/gulp.el:
11925         * lwlib/README:
11926         Adjust to renamed ChangeLog history files.
11927         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
11928         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
11929         Remove obsolete discussion of merging ChangeLog files.
11930         New section "Maintaining ChangeLog history".
11931         * build-aux/git-hooks/pre-commit:
11932         Reject attempts to commit files named 'ChangeLog'.
11933         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
11934         * make-dist: Make and distribute top-level ChangeLog if there's a
11935         .git directory.  Distribute the new ChangeLog history files
11936         instead of scattered ChangeLog files.  Distribute the new files
11937         gitlog-to-changelog and gitlog-to-emacslog.
11938         (Bug#19113)
11940         Rename ChangeLogs for gitlog-to-changelog
11941         This patch was implemented via the following shell commands:
11942         find * -name ChangeLog |
11943         sed 's,.*,git mv & &.1,
11944         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
11945         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
11946         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
11947         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
11948         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
11949         sh
11950         git commit -am"[this commit message]"
11952 This file records repository revisions from
11953 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
11954 commit ac9da241986b747c1122ad5d097db42795eb9737 (inclusive).
11955 See ChangeLog.1 for earlier changes.
11957 ;; Local Variables:
11958 ;; coding: utf-8
11959 ;; End:
11961   Copyright (C) 2015 Free Software Foundation, Inc.
11963   This file is part of GNU Emacs.
11965   GNU Emacs is free software: you can redistribute it and/or modify
11966   it under the terms of the GNU General Public License as published by
11967   the Free Software Foundation, either version 3 of the License, or
11968   (at your option) any later version.
11970   GNU Emacs is distributed in the hope that it will be useful,
11971   but WITHOUT ANY WARRANTY; without even the implied warranty of
11972   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11973   GNU General Public License for more details.
11975   You should have received a copy of the GNU General Public License
11976   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.